The ISubject graph node interface. More...

#include "murl_graph_i_subject.h"

Inheritance diagram for Murl::Graph::ISubject:

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 Bool SetWorldTransform (const Matrix &worldTransform)=0
 Set the subject's world transform matrix. More...
 
virtual const MatrixGetWorldTransform () const =0
 Get the subject's world transform matrix. More...
 
virtual const MatrixGetViewMatrix () const =0
 Get the subject's view matrix. More...
 
virtual const MatrixGetProjectionMatrix () const =0
 Get the subject's projection matrix. More...
 
virtual const FrustumGetViewFrustum () const =0
 Get the subject's view frustum, if available. More...
 
virtual const ConeGetViewCone () const =0
 Get the subject's view cone, if available. More...
 
virtual const BoxGetViewBox () const =0
 Get the subject's view box, if available. More...
 
virtual const CylinderGetViewCylinder () const =0
 Get the subject's view cylinder, if available. More...
 

Detailed Description

The ISubject graph node interface.

Graph::ISubject nodes represent a generic way to define properties like view matrix, projection matrix, view frustum etc. that are common to e.g. cameras and listeners.

Member Function Documentation

◆ GetNodeInterface() [1/2]

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

◆ SetWorldTransform()

virtual Bool Murl::Graph::ISubject::SetWorldTransform ( const Matrix worldTransform)
pure virtual

Set the subject's world transform matrix.

Parameters
worldTransformThe world transform.
Returns
true if successful.

◆ GetWorldTransform()

virtual const Matrix& Murl::Graph::ISubject::GetWorldTransform ( ) const
pure virtual

Get the subject's world transform matrix.

Returns
The world transform.

◆ GetViewMatrix()

virtual const Matrix& Murl::Graph::ISubject::GetViewMatrix ( ) const
pure virtual

Get the subject's view matrix.

The view matrix is actually the inverse of the subject's world transform matrix; it is used to transform geometry from world space to view space.

Returns
The view matrix.

◆ GetProjectionMatrix()

virtual const Matrix& Murl::Graph::ISubject::GetProjectionMatrix ( ) const
pure virtual

Get the subject's projection matrix.

Returns
The projection matrix.

◆ GetViewFrustum()

virtual const Frustum* Murl::Graph::ISubject::GetViewFrustum ( ) const
pure virtual

Get the subject's view frustum, if available.

Returns
A constant pointer to the view frustum, or a null pointer if not available.

◆ GetViewCone()

virtual const Cone* Murl::Graph::ISubject::GetViewCone ( ) const
pure virtual

Get the subject's view cone, if available.

Returns
A constant pointer to the view cone, or a null pointer if not available.

◆ GetViewBox()

virtual const Box* Murl::Graph::ISubject::GetViewBox ( ) const
pure virtual

Get the subject's view box, if available.

Returns
A constant pointer to the view box, or a null pointer if not available.

◆ GetViewCylinder()

virtual const Cylinder* Murl::Graph::ISubject::GetViewCylinder ( ) const
pure virtual

Get the subject's view cylinder, if available.

Returns
A constant pointer to the view cylinder, or a null pointer if not available.

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


Copyright © 2011-2024 Spraylight GmbH.