The IBoundingBox graph node interface. More...
#include "murl_graph_i_bounding_box.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 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... | |
Detailed Description
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.
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
◆ GetTransformInterface() [1/2]
|
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]
|
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
◆ SetClampingEnabled()
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.
- Parameters
-
enabled If true, inner volume clamping is enabled.
- Returns
- true if successful.
◆ IsClampingEnabled()
|
pure virtual |
Check if inner volume clamping is enabled.
- Returns
- true if enabled.
◆ SetViewCullingEnabled()
Enable/disable view culling.
- Parameters
-
enabled If true, culling is performed.
- Returns
- true if successful.
◆ IsViewCullingEnabled()
|
pure virtual |
Check if view culling is enabled.
- Returns
- true if enabled.
◆ SetMinimum() [1/2]
Set minimum coordinate values for the X, Y and Z axes.
- Parameters
-
minimum A vector containing individual minimum values.
- Returns
- true if successful.
◆ SetMinimum() [2/2]
Set minimum coordinate values for the X, Y and Z axes.
- Parameters
-
x The minimum value for the X axis. y The minimum value for the Y axis. z The minimum value for the Z axis.
- Returns
- true if successful.
◆ SetMinimumX()
Set the minimum coordinate value for the X axis only.
- Parameters
-
x The minimum value for the X axis.
- Returns
- true if successful.
◆ SetMinimumY()
Set the minimum coordinate value for the Y axis only.
- Parameters
-
y The minimum value for the Y axis.
- Returns
- true if successful.
◆ SetMinimumZ()
Set the minimum coordinate value for the Z axis only.
- Parameters
-
z The minimum value for the Z axis.
- Returns
- true if successful.
◆ GetMinimum()
|
pure virtual |
Get the minimum coordinate values for the X, Y and Z axes.
- Returns
- A vector containing the individual coordinate values.
◆ GetMinimumX()
|
pure virtual |
Get the minimum coordinate value for the X axis.
- Returns
- The minimum coordinate for the X axis.
◆ GetMinimumY()
|
pure virtual |
Get the minimum coordinate value for the Y axis.
- Returns
- The minimum coordinate for the Y axis.
◆ GetMinimumZ()
|
pure virtual |
Get the minimum coordinate value for the Z axis.
- Returns
- The minimum coordinate for the Z axis.
◆ SetMaximum() [1/2]
Set maximum coordinate values for the X, Y and Z axes.
- Parameters
-
maximum A vector containing individual maximum values.
- Returns
- true if successful.
◆ SetMaximum() [2/2]
Set maximum coordinate values for the X, Y and Z axes.
- Parameters
-
x The maximum value for the X axis. y The maximum value for the Y axis. z The maximum value for the Z axis.
- Returns
- true if successful.
◆ SetMaximumX()
Set the maximum coordinate value for the X axis only.
- Parameters
-
x The maximum value for the X axis.
- Returns
- true if successful.
◆ SetMaximumY()
Set the maximum coordinate value for the Y axis only.
- Parameters
-
y The maximum value for the Y axis.
- Returns
- true if successful.
◆ SetMaximumZ()
Set the maximum coordinate value for the Z axis only.
- Parameters
-
z The maximum value for the Z axis.
- Returns
- true if successful.
◆ GetMaximum()
|
pure virtual |
Get the maximum coordinate values for the X, Y and Z axes.
- Returns
- A vector containing the individual coordinate values.
◆ GetMaximumX()
|
pure virtual |
Get the maximum coordinate value for the X axis.
- Returns
- The maximum coordinate for the X axis.
◆ GetMaximumY()
|
pure virtual |
Get the maximum coordinate value for the Y axis.
- Returns
- The maximum coordinate for the Y axis.
◆ GetMaximumZ()
|
pure virtual |
Get the maximum coordinate value for the Z axis.
- Returns
- The maximum coordinate for the Z axis.
The documentation for this interface was generated from the following file:
- murl_graph_i_bounding_box.h