Murl::Graph::ICameraTransform Interface Referenceabstract

The ICameraTransform graph node interface. More...

#include "murl_graph_i_camera_transform.h"

Inheritance diagram for Murl::Graph::ICameraTransform:

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 ICameraNodeTargetGetCameraNodeTarget ()=0
 Get the mutable Graph::ICameraNodeTarget container. More...
 
virtual const ICameraNodeTargetGetCameraNodeTarget () const =0
 Get the constant Graph::ICameraNodeTarget 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 ICameraTransform graph node interface.

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

See Graph::ICamera for defining a specific camera for rendering.
See Graph::ICameraState for activating a camera for rendering.

Member Function Documentation

◆ GetNodeInterface() [1/2]

virtual INode* Murl::Graph::ICameraTransform::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::ICameraTransform::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::ICameraTransform::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::ICameraTransform::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

◆ GetCameraNodeTarget() [1/2]

virtual ICameraNodeTarget* Murl::Graph::ICameraTransform::GetCameraNodeTarget ( )
pure virtual

Get the mutable Graph::ICameraNodeTarget container.

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

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

◆ GetCameraNodeTarget() [2/2]

virtual const ICameraNodeTarget* Murl::Graph::ICameraTransform::GetCameraNodeTarget ( ) const
pure virtual

Get the constant Graph::ICameraNodeTarget container.

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

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

◆ GetAnchorNodeTarget() [1/2]

virtual IAnchorNodeTarget* Murl::Graph::ICameraTransform::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::ICameraTransform::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::ICameraTransform::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::ICameraTransform::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_camera_transform.h


Copyright © 2011-2018 Spraylight GmbH.