The IBoundingBox graph node interface. More...

#include "murl_graph_i_bounding_box.h"

Inheritance diagram for Murl::Graph::IBoundingBox:

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 ITransformGetTransformInterface ()=0
 Get the mutable Graph::ITransform interface. More...
 
virtual const ITransformGetTransformInterface () 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 VectorGetMinimum () 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 VectorGetMaximum () 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]

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

◆ GetTransformInterface() [1/2]

virtual ITransform* Murl::Graph::IBoundingBox::GetTransformInterface ( )
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]

virtual const ITransform* Murl::Graph::IBoundingBox::GetTransformInterface ( ) const
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()

virtual Bool Murl::Graph::IBoundingBox::SetClampingEnabled ( Bool  enabled)
pure virtual

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
enabledIf true, inner volume clamping is enabled.
Returns
true if successful.

◆ IsClampingEnabled()

virtual Bool Murl::Graph::IBoundingBox::IsClampingEnabled ( ) const
pure virtual

Check if inner volume clamping is enabled.

Returns
true if enabled.

◆ SetViewCullingEnabled()

virtual Bool Murl::Graph::IBoundingBox::SetViewCullingEnabled ( Bool  enabled)
pure virtual

Enable/disable view culling.

Parameters
enabledIf true, culling is performed.
Returns
true if successful.

◆ IsViewCullingEnabled()

virtual Bool Murl::Graph::IBoundingBox::IsViewCullingEnabled ( ) const
pure virtual

Check if view culling is enabled.

Returns
true if enabled.

◆ SetMinimum() [1/2]

virtual Bool Murl::Graph::IBoundingBox::SetMinimum ( const Vector minimum)
pure virtual

Set minimum coordinate values for the X, Y and Z axes.

Parameters
minimumA vector containing individual minimum values.
Returns
true if successful.

◆ SetMinimum() [2/2]

virtual Bool Murl::Graph::IBoundingBox::SetMinimum ( Real  x,
Real  y,
Real  z 
)
pure virtual

Set minimum coordinate values for the X, Y and Z axes.

Parameters
xThe minimum value for the X axis.
yThe minimum value for the Y axis.
zThe minimum value for the Z axis.
Returns
true if successful.

◆ SetMinimumX()

virtual Bool Murl::Graph::IBoundingBox::SetMinimumX ( Real  x)
pure virtual

Set the minimum coordinate value for the X axis only.

Parameters
xThe minimum value for the X axis.
Returns
true if successful.

◆ SetMinimumY()

virtual Bool Murl::Graph::IBoundingBox::SetMinimumY ( Real  y)
pure virtual

Set the minimum coordinate value for the Y axis only.

Parameters
yThe minimum value for the Y axis.
Returns
true if successful.

◆ SetMinimumZ()

virtual Bool Murl::Graph::IBoundingBox::SetMinimumZ ( Real  z)
pure virtual

Set the minimum coordinate value for the Z axis only.

Parameters
zThe minimum value for the Z axis.
Returns
true if successful.

◆ GetMinimum()

virtual const Vector& Murl::Graph::IBoundingBox::GetMinimum ( ) const
pure virtual

Get the minimum coordinate values for the X, Y and Z axes.

Returns
A vector containing the individual coordinate values.

◆ GetMinimumX()

virtual Real Murl::Graph::IBoundingBox::GetMinimumX ( ) const
pure virtual

Get the minimum coordinate value for the X axis.

Returns
The minimum coordinate for the X axis.

◆ GetMinimumY()

virtual Real Murl::Graph::IBoundingBox::GetMinimumY ( ) const
pure virtual

Get the minimum coordinate value for the Y axis.

Returns
The minimum coordinate for the Y axis.

◆ GetMinimumZ()

virtual Real Murl::Graph::IBoundingBox::GetMinimumZ ( ) const
pure virtual

Get the minimum coordinate value for the Z axis.

Returns
The minimum coordinate for the Z axis.

◆ SetMaximum() [1/2]

virtual Bool Murl::Graph::IBoundingBox::SetMaximum ( const Vector maximum)
pure virtual

Set maximum coordinate values for the X, Y and Z axes.

Parameters
maximumA vector containing individual maximum values.
Returns
true if successful.

◆ SetMaximum() [2/2]

virtual Bool Murl::Graph::IBoundingBox::SetMaximum ( Real  x,
Real  y,
Real  z 
)
pure virtual

Set maximum coordinate values for the X, Y and Z axes.

Parameters
xThe maximum value for the X axis.
yThe maximum value for the Y axis.
zThe maximum value for the Z axis.
Returns
true if successful.

◆ SetMaximumX()

virtual Bool Murl::Graph::IBoundingBox::SetMaximumX ( Real  x)
pure virtual

Set the maximum coordinate value for the X axis only.

Parameters
xThe maximum value for the X axis.
Returns
true if successful.

◆ SetMaximumY()

virtual Bool Murl::Graph::IBoundingBox::SetMaximumY ( Real  y)
pure virtual

Set the maximum coordinate value for the Y axis only.

Parameters
yThe maximum value for the Y axis.
Returns
true if successful.

◆ SetMaximumZ()

virtual Bool Murl::Graph::IBoundingBox::SetMaximumZ ( Real  z)
pure virtual

Set the maximum coordinate value for the Z axis only.

Parameters
zThe maximum value for the Z axis.
Returns
true if successful.

◆ GetMaximum()

virtual const Vector& Murl::Graph::IBoundingBox::GetMaximum ( ) const
pure virtual

Get the maximum coordinate values for the X, Y and Z axes.

Returns
A vector containing the individual coordinate values.

◆ GetMaximumX()

virtual Real Murl::Graph::IBoundingBox::GetMaximumX ( ) const
pure virtual

Get the maximum coordinate value for the X axis.

Returns
The maximum coordinate for the X axis.

◆ GetMaximumY()

virtual Real Murl::Graph::IBoundingBox::GetMaximumY ( ) const
pure virtual

Get the maximum coordinate value for the Y axis.

Returns
The maximum coordinate for the Y axis.

◆ GetMaximumZ()

virtual Real Murl::Graph::IBoundingBox::GetMaximumZ ( ) const
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


Copyright © 2011-2018 Spraylight GmbH.