t
Loading...
Searching...
No Matches
t::Light Class Reference

The base lighting class. More...

#include <Light.hpp>

Inheritance diagram for t::Light:
t::Object3D t::AmbientLight t::PointLight

Public Member Functions

bool isLight () const override
 Returns whether or not this 3D object is a light.
 
virtual bool isAmbientLight () const
 Returns whether or not this light is an ambient light.
 
virtual bool isPointLight () const
 Returns whether or not this light is a point light.
 
virtual bool isDirectionalLight () const
 Returns whether or not this light is a directional light.
 
virtual bool isSpotLight () const
 Returns whether or not this light is a spot light.
 
- Public Member Functions inherited from t::Object3D
virtual bool isMesh () const
 Returns whether this 3D object is a mesh.
 
Object3Dadd (Object3D &child)
 Adds another 3D object as a child of this 3D object.
 
Object3Dtranslate (double x, double y, double z)
 Translates this 3D object by the specified amounts along the x, y, and z axes in local space.
 
Object3Drotate (double x, double y, double z, EulerRotationOrder order)
 Rotates this 3D object by the specified angles around the x, y, and z axes in local space.
 
Object3Dscale (double x, double y, double z)
 Scales this 3D object by the specified amounts along the x, y, and z axes in local space.
 
Object3DupdateLocalMatrix ()
 Updates the local transformation matrix of this 3D object.
 
Object3DupdateModelMatrix ()
 Updates the model matrix of this 3D object.
 

Additional Inherited Members

- Public Attributes inherited from t::Object3D
std::optional< std::reference_wrapper< Object3D > > parent
 The parent of this 3D object.
 
Vector3 up = DEFAULT_UP
 The vector pointing to the up direction in object space.
 
Vector3 localPosition
 The position of this 3D object relative to its parent.
 
EulerRotation localRotation
 The rotation of this 3D object relative to its parent.
 
Vector3 localScale
 The scale of this 3D object relative to its parent.
 
Matrix4x4 localMatrix
 The matrix of the local transformation of this 3D object.
 
Matrix4x4 modelMatrix
 The model matrix of this 3D object, transformating local space to world space.
 
std::vector< std::reference_wrapper< Object3D > > children
 The children of this 3D object.
 

Detailed Description

The base lighting class.

This class should not be used directly. Use a PointLight or AmbientLight instead, or create your own light by deriving from this class.

Member Function Documentation

◆ isAmbientLight()

virtual bool t::Light::isAmbientLight ( ) const
inlinevirtual

Returns whether or not this light is an ambient light.

Always returns false. This value will be overridden by the AmbientLight class.

Returns
false

Reimplemented in t::AmbientLight.

◆ isDirectionalLight()

virtual bool t::Light::isDirectionalLight ( ) const
inlinevirtual

Returns whether or not this light is a directional light.

Always returns false.

Returns
false

◆ isLight()

bool t::Light::isLight ( ) const
inlineoverridevirtual

Returns whether or not this 3D object is a light.

Always returns true. Used in the renderer to separate lights from other 3D objects.

Returns
true

Reimplemented from t::Object3D.

◆ isPointLight()

virtual bool t::Light::isPointLight ( ) const
inlinevirtual

Returns whether or not this light is a point light.

Always returns false. This value will be overridden by the PointLight class.

Returns
false

Reimplemented in t::PointLight.

◆ isSpotLight()

virtual bool t::Light::isSpotLight ( ) const
inlinevirtual

Returns whether or not this light is a spot light.

Always returns false.

Returns
false

The documentation for this class was generated from the following file: