![]() |
Murl Engine API
Version 2018.3
|
The IBoundingBox graph node interface. More...
#include <murl_graph_i_bounding_box.h>
The IBoundingBox graph node interface.
Bounding box nodes are used in conjunction with Graph::IAligner nodes, in order to explicitly define a minium volume used during the alignment process. This may be necessary when a specific aligner child is able to change its actual size, but it is not desired that the actual alignment reacts to that change (e.g. a pulsating icon in a horizontally aligned sequence of individual icons). In such a case, the pulsating icon can be defined as a child of a Graph::Bounding box node, which defines the minimum alignment dimensions. However, when the icon grows bigger than the given box size, the alignment again reflects that bigger size. If this is not desired (e.g. the grown icon should overlap its neighbors), this behavior can be prevented by enable clamping via SetClampingEnabled(true). In this case, the box represents an exact alignment volume.
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 ITransform * | GetTransformInterface ()=0 |
Get the mutable Graph::ITransform interface. More... | |
virtual const ITransform * | GetTransformInterface () const =0 |
Get the constant Graph::ITransform interface. More... | |
virtual Bool | SetClampingEnabled (Bool enabled)=0 |
Enable/disable inner volume clamping. More... | |
virtual Bool | IsClampingEnabled () const =0 |
Check if inner volume clamping is enabled. More... | |
virtual Bool | SetViewCullingEnabled (Bool enabled)=0 |
Enable/disable view culling. More... | |
virtual Bool | IsViewCullingEnabled () const =0 |
Check if view culling is enabled. More... | |
virtual Bool | SetMinimum (const Vector &minimum)=0 |
Set minimum coordinate values for the X, Y and Z axes. More... | |
virtual Bool | SetMinimum (Real x, Real y, Real z)=0 |
Set minimum coordinate values for the X, Y and Z axes. More... | |
virtual Bool | SetMinimumX (Real x)=0 |
Set the minimum coordinate value for the X axis only. More... | |
virtual Bool | SetMinimumY (Real y)=0 |
Set the minimum coordinate value for the Y axis only. More... | |
virtual Bool | SetMinimumZ (Real z)=0 |
Set the minimum coordinate value for the Z axis only. More... | |
virtual const Vector & | GetMinimum () const =0 |
Get the minimum coordinate values for the X, Y and Z axes. More... | |
virtual Real | GetMinimumX () const =0 |
Get the minimum coordinate value for the X axis. More... | |
virtual Real | GetMinimumY () const =0 |
Get the minimum coordinate value for the Y axis. More... | |
virtual Real | GetMinimumZ () const =0 |
Get the minimum coordinate value for the Z axis. More... | |
virtual Bool | SetMaximum (const Vector &maximum)=0 |
Set maximum coordinate values for the X, Y and Z axes. More... | |
virtual Bool | SetMaximum (Real x, Real y, Real z)=0 |
Set maximum coordinate values for the X, Y and Z axes. More... | |
virtual Bool | SetMaximumX (Real x)=0 |
Set the maximum coordinate value for the X axis only. More... | |
virtual Bool | SetMaximumY (Real y)=0 |
Set the maximum coordinate value for the Y axis only. More... | |
virtual Bool | SetMaximumZ (Real z)=0 |
Set the maximum coordinate value for the Z axis only. More... | |
virtual const Vector & | GetMaximum () const =0 |
Get the maximum coordinate values for the X, Y and Z axes. More... | |
virtual Real | GetMaximumX () const =0 |
Get the maximum coordinate value for the X axis. More... | |
virtual Real | GetMaximumY () const =0 |
Get the maximum coordinate value for the Y axis. More... | |
virtual Real | GetMaximumZ () const =0 |
Get the maximum coordinate value 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.
|
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.
|
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.
Enable/disable inner volume clamping.
If enabled is set to true, the resulting "inner" bounding volume is clamped to the minimum/maximum values set via SetMinimum() and SetMaximum() respectively. In other words, the children's inner volumes, which are used by a Graph::IAligner node for content alignment, are not considered for adding to the overall bounding volume. This can be used to provide correct alignment for aligner children that are actually bigger than the desired alignment size.
enabled | If true, inner volume clamping is enabled. |
|
pure virtual |
Check if inner volume clamping is enabled.
Enable/disable view culling.
enabled | If true, culling is performed. |
|
pure virtual |
Check if view culling is enabled.
Set minimum coordinate values for the X, Y and Z axes.
minimum | A vector containing individual minimum values. |
Set minimum coordinate values for the X, Y and Z axes.
x | The minimum value for the X axis. |
y | The minimum value for the Y axis. |
z | The minimum value for the Z axis. |
Set the minimum coordinate value for the X axis only.
x | The minimum value for the X axis. |
Set the minimum coordinate value for the Y axis only.
y | The minimum value for the Y axis. |
Set the minimum coordinate value for the Z axis only.
z | The minimum value for the Z axis. |
|
pure virtual |
Get the minimum coordinate values for the X, Y and Z axes.
|
pure virtual |
Get the minimum coordinate value for the X axis.
|
pure virtual |
Get the minimum coordinate value for the Y axis.
|
pure virtual |
Get the minimum coordinate value for the Z axis.
Set maximum coordinate values for the X, Y and Z axes.
maximum | A vector containing individual maximum values. |
Set maximum coordinate values for the X, Y and Z axes.
x | The maximum value for the X axis. |
y | The maximum value for the Y axis. |
z | The maximum value for the Z axis. |
Set the maximum coordinate value for the X axis only.
x | The maximum value for the X axis. |
Set the maximum coordinate value for the Y axis only.
y | The maximum value for the Y axis. |
Set the maximum coordinate value for the Z axis only.
z | The maximum value for the Z axis. |
|
pure virtual |
Get the maximum coordinate values for the X, Y and Z axes.
|
pure virtual |
Get the maximum coordinate value for the X axis.
|
pure virtual |
Get the maximum coordinate value for the Y axis.
|
pure virtual |
Get the maximum coordinate value for the Z axis.