A light in a scene graph used by some shaders to calculate lighting effects. More...
#include <sceneview/light_node.hpp>
Public Member Functions | |
SceneNodeType | NodeType () const override |
Retrieve the node type. | |
void | SetLightType (LightType light_type) |
Sets the light type. | |
LightType | GetLightType () const |
void | SetDirection (const QVector3D &dir) |
const QVector3D & | Direction () const |
Sets the light direction. More... | |
float | Ambient () const |
void | SetAmbient (const float ambient) |
Sets the ambient coefficient for this light. | |
float | Specular () const |
void | SetSpecular (const float specular) |
Sets the specular coefficient for this light. | |
const QVector3D & | Color () const |
void | SetColor (const QVector3D &color) |
void | SetAttenuation (const float val) |
Sets the attenuation factor. More... | |
float | Attenuation () const |
void | SetConeAngle (float cone_angle_deg) |
Sets the light cone angle (in degrees). More... | |
float | ConeAngle () const |
Retrieve the cone angle, in degrees. | |
void | SetScale (const QVector3D &vec) override |
Disabled for this class. | |
const AxisAlignedBox & | WorldBoundingBox () override |
Retrieve the world-space bounding box of the node and all of its children (if applicable). More... | |
![]() | |
SceneNode (const SceneNode &)=delete | |
SceneNode & | operator= (const SceneNode &)=delete |
const QString | Name () const |
Retrieve the node name. | |
const QVector3D & | Translation () const |
Retrieve the translation component of the node to parent transform. | |
const QQuaternion & | Rotation () const |
Retrieve the rotation component of the node to parent transform. | |
const QVector3D & | Scale () const |
Retrieve the scale component of the node to parent transform. | |
const QMatrix4x4 & | WorldTransform () |
Retrieve the transform from node coordinates to world coordinates. More... | |
bool | Visible () const |
Check if the node is visible or not. | |
virtual void | SetTranslation (const QVector3D &vec) |
Sets the translation component of the node transform. | |
void | SetTranslation (double x, double y, double z) |
Sets the translation component of the node transform. | |
virtual void | SetRotation (const QQuaternion &quat) |
Sets the rotation component of the node to parent transform. | |
void | SetScale (double x, double y, double z) |
Sets the scale component of the node to parent transform. | |
virtual void | SetVisible (bool visible) |
Sets the node visibility. More... | |
GroupNode * | ParentNode () |
Retrieve the parent of this node. | |
void | SetParentNode (GroupNode *parent) |
Sets the node's parent. More... | |
void | SetSelectionMask (int64_t mask) |
Sets the selection mask for this node. More... | |
int64_t | GetSelectionMask () const |
Retrieve the selection mask for this node. | |
Friends | |
class | Scene |
Additional Inherited Members | |
![]() | |
SceneNode (const QString &name) | |
Constructs a scene node with an identity transform. | |
virtual void | TransformChanged () |
Internal method, used to enable lazy matrix computations. More... | |
virtual void | BoundingBoxChanged () |
Internal method, used to enable lazy bounding box computations. More... | |
A light in a scene graph used by some shaders to calculate lighting effects.
This class cannot be directly instantiated. Instead, use Scene.
|
inline |
Sets the light direction.
Only useful for directional and spot lights.
|
inline |
Sets the attenuation factor.
Only useful for point and spot lights.
|
inline |
Sets the light cone angle (in degrees).
Only useful for spot lights.
|
overridevirtual |
Retrieve the world-space bounding box of the node and all of its children (if applicable).
Used internally in view frustum culling and selection queries.
Implements sv::SceneNode.