![]() |
Murl Engine API
Version 2018.3
|
The IScale graph node interface. More...
#include <murl_graph_i_scale.h>
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.
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... | |
![]() | |
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... | |
|
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.
|
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.
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.
inverted | If true, scaling is inverted. |
|
pure virtual |
Check if scale inversion is enabled.