Murl::Graph::ILightTransform Interface Referenceabstract

The ILightTransform graph node interface. More...

#include "murl_graph_i_light_transform.h"

Inheritance diagram for Murl::Graph::ILightTransform:

Public Member Functions

virtual INodeGetNodeInterface ()=0
 Get the mutable Graph::INode interface. More...
 
virtual const INodeGetNodeInterface () const =0
 Get the constant Graph::INode interface. More...
 
virtual ITransformGetTransformInterface ()=0
 Get the mutable Graph::ITransform interface. More...
 
virtual const ITransformGetTransformInterface () const =0
 Get the constant Graph::ITransform interface. More...
 
virtual ILightNodeTargetGetLightNodeTarget ()=0
 Get the mutable Graph::ILightNodeTarget container. More...
 
virtual const ILightNodeTargetGetLightNodeTarget () const =0
 Get the constant Graph::ILightNodeTarget container. More...
 
virtual IAnchorNodeTargetGetAnchorNodeTarget ()=0
 Get the mutable Graph::IAnchorNodeTarget container for the target position. More...
 
virtual const IAnchorNodeTargetGetAnchorNodeTarget () const =0
 Get the constant Graph::IAnchorNodeTarget container for the target position. More...
 
virtual Bool SetUpVector (const Vector &upVector)=0
 Set the target anchor up vector. More...
 
virtual const VectorGetUpVector () const =0
 Get the target anchor up vector. More...
 

Detailed Description

The ILightTransform graph node interface.

A light node defined in the scene graph only defines the general parameters of a light in the virtual world; to be able to position and rotate the light, it is necessary to define an ILightTransform node that refers to a specific light. By separating a light from its transform, it is possible to already use a light before its actual world position and rotation are evaluated; this way, the light can be quickly attached as a child to e.g. a moving object that is supposed to be also influenced by that light.

See Graph::ILight for defining individual light sources and their group assignment.
See Graph::ILightState for activating lights for rendering.

Member Function Documentation

◆ GetNodeInterface() [1/2]

virtual INode* Murl::Graph::ILightTransform::GetNodeInterface ( )
pure virtual

Get the mutable Graph::INode interface.

This method returns a mutable pointer to the node's Graph::INode interface, to be able to query or modify common node properties such as active state, visibility or ID.

Returns
The mutable Graph::INode interface, or null if not available

◆ GetNodeInterface() [2/2]

virtual const INode* Murl::Graph::ILightTransform::GetNodeInterface ( ) const
pure virtual

Get the constant Graph::INode interface.

This method returns a constant pointer to the node's Graph::INode interface, to be able to query common node properties such as active state, visibility or ID.

Returns
The constant Graph::INode interface, or null if not available

◆ GetTransformInterface() [1/2]

virtual ITransform* Murl::Graph::ILightTransform::GetTransformInterface ( )
pure virtual

Get the mutable Graph::ITransform interface.

This method returns a mutable pointer to the node's Graph::ITransform interface, to be able to query or modify the node's transformation matrix and depth order.

Returns
The mutable Graph::ITransform interface, or null if not available

◆ GetTransformInterface() [2/2]

virtual const ITransform* Murl::Graph::ILightTransform::GetTransformInterface ( ) const
pure virtual

Get the constant Graph::ITransform interface.

This method returns a constant pointer to the node's Graph::ITransform interface, to be able to query the node's transformation matrix and depth order.

Returns
The constant Graph::ITransform interface, or null if not available

◆ GetLightNodeTarget() [1/2]

virtual ILightNodeTarget* Murl::Graph::ILightTransform::GetLightNodeTarget ( )
pure virtual

Get the mutable Graph::ILightNodeTarget container.

This method returns a mutable pointer to the node's Graph::ILightNodeTarget container, which allows to set or query the light this transform node refers to.

Returns
The mutable Graph::ILightNodeTarget container, or null if not available.

◆ GetLightNodeTarget() [2/2]

virtual const ILightNodeTarget* Murl::Graph::ILightTransform::GetLightNodeTarget ( ) const
pure virtual

Get the constant Graph::ILightNodeTarget container.

This method returns a constant pointer to the node's Graph::ILightNodeTarget container, which allows to query the light this transform node refers to.

Returns
The mutable Graph::ILightNodeTarget container, or null if not available.

◆ GetAnchorNodeTarget() [1/2]

virtual IAnchorNodeTarget* Murl::Graph::ILightTransform::GetAnchorNodeTarget ( )
pure virtual

Get the mutable Graph::IAnchorNodeTarget container for the target position.

This method returns a mutable pointer to the node's Graph::IAnchorNodeTarget container, which allows to add, remove or query the referenced Graph::IAnchor node used as a view target.

Returns
The mutable Graph::IAnchorNodeTarget container, or null if not available

◆ GetAnchorNodeTarget() [2/2]

virtual const IAnchorNodeTarget* Murl::Graph::ILightTransform::GetAnchorNodeTarget ( ) const
pure virtual

Get the constant Graph::IAnchorNodeTarget container for the target position.

This method returns a constant pointer to the node's Graph::IAnchorNodeTarget container, which allows to query the referenced Graph::IAnchor node used as a view target.

Returns
The constant Graph::IAnchorNodeTarget container, or null if not available

◆ SetUpVector()

virtual Bool Murl::Graph::ILightTransform::SetUpVector ( const Vector upVector)
pure virtual

Set the target anchor up vector.

The up vector is used to orient the view when a target anchor node is given.

Parameters
upVectorThe up vector.
Returns
true if successful.

◆ GetUpVector()

virtual const Vector& Murl::Graph::ILightTransform::GetUpVector ( ) const
pure virtual

Get the target anchor up vector.

Returns
The up vector.

The documentation for this interface was generated from the following file:
  • murl_graph_i_light_transform.h


Copyright © 2011-2024 Spraylight GmbH.