The IScale graph node interface. More...
#include "murl_graph_i_scale.h"
Public Member Functions | |
virtual INode * | GetNodeInterface ()=0 |
Get the mutable Graph::INode interface. More... | |
virtual const INode * | GetNodeInterface () const =0 |
Get the constant Graph::INode interface. More... | |
virtual Bool | SetInverted (Bool inverted)=0 |
Enable/disable scale inversion. More... | |
virtual Bool | IsInverted () const =0 |
Check if scale inversion is enabled. More... | |
Public Member Functions inherited from Murl::Graph::IScalable | |
virtual Bool | SetScaleFactor (const Vector &scaleFactor)=0 |
Set individual scaling factors for the X, Y and Z axes. More... | |
virtual Bool | SetScaleFactor (Real x, Real y, Real z)=0 |
Set individual scaling factors for the X, Y and Z axes. More... | |
virtual Bool | SetScaleFactor (Real s)=0 |
Set a uniform scaling factor for all three axes. More... | |
virtual Bool | SetScaleFactorX (Real x)=0 |
Set the scaling factor for the X axis only. More... | |
virtual Bool | SetScaleFactorY (Real y)=0 |
Set the scaling factor for the Y axis only. More... | |
virtual Bool | SetScaleFactorZ (Real z)=0 |
Set the scaling factor for the Z axis only. More... | |
virtual const Vector & | GetScaleFactor () const =0 |
Get the scaling factors for the X, Y and Z axes. More... | |
virtual Real | GetScaleFactorX () const =0 |
Get the scaling factor for the X axis. More... | |
virtual Real | GetScaleFactorY () const =0 |
Get the scaling factor for the Y axis. More... | |
virtual Real | GetScaleFactorZ () const =0 |
Get the scaling factor for the Z axis. More... | |
Detailed Description
The IScale graph node interface.
This interface represents a node implementing the Graph::IScalable interface, for the purpose to add an explicit scaling factor to a transform hierarchy made up from e.g. Graph::ITransform nodes.
Although scaling is a basic operation on a transformation matrix, this should not be done directly through the Graph::ITransformable interface. Instead, individual IScale nodes should be used, which (in addition to the regular scaling operation) explicitly calculate a global scale factor from the transform hierarchy to quickly determine e.g. the radius of a bounding sphere.
Member Function Documentation
◆ GetNodeInterface() [1/2]
|
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]
|
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
◆ SetInverted()
Enable/disable scale inversion.
If set to true, the actual scaling factors used during traversal are the reciprocals of the given values. However, calls made to the IScalable getter methods always return the non-inverted values.
- Parameters
-
inverted If true, scaling is inverted.
- Returns
- true if successful.
◆ IsInverted()
|
pure virtual |
Check if scale inversion is enabled.
- Returns
- true if enabled.
The documentation for this interface was generated from the following file:
- murl_graph_i_scale.h