Murl Engine Lua Addon API  Version 1.0 beta
Murl.Graph.IBoundingBox

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.


Table members

Methods


GetNodeInterface()

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.

Murl.Graph.INode GetNodeInterface()

Returns
Murl.Graph.INode The constant Graph::INode interface, or null if not available

GetTransformInterface()

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.

Murl.Graph.ITransform GetTransformInterface()

Returns
Murl.Graph.ITransform The constant Graph::ITransform interface, or null if not available

SetClampingEnabled(enabled)

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.

Boolean SetClampingEnabled(Boolean enabled)

Parameters
enabledIf true, inner volume clamping is enabled.
Returns
Boolean true if successful.

IsClampingEnabled()

Check if inner volume clamping is enabled.

Boolean IsClampingEnabled()

Returns
Boolean true if enabled.

SetViewCullingEnabled(enabled)

Enable/disable view culling.

Boolean SetViewCullingEnabled(Boolean enabled)

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

IsViewCullingEnabled()

Check if view culling is enabled.

Boolean IsViewCullingEnabled()

Returns
Boolean true if enabled.

SetMinimum(x, y, z)

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

Boolean SetMinimum(Number x, Number y, Number z)

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

SetMinimum(minimum)

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

Boolean SetMinimum(Murl.Math.Vector minimum)

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

SetMinimumX(x)

Set the minimum coordinate value for the X axis only.

Boolean SetMinimumX(Number x)

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

SetMinimumY(y)

Set the minimum coordinate value for the Y axis only.

Boolean SetMinimumY(Number y)

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

SetMinimumZ(z)

Set the minimum coordinate value for the Z axis only.

Boolean SetMinimumZ(Number z)

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

GetMinimum()

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

Murl.Math.Vector GetMinimum()

Returns
Murl.Math.Vector A vector containing the individual coordinate values.

GetMinimumX()

Get the minimum coordinate value for the X axis.

Number GetMinimumX()

Returns
Number The minimum coordinate for the X axis.

GetMinimumY()

Get the minimum coordinate value for the Y axis.

Number GetMinimumY()

Returns
Number The minimum coordinate for the Y axis.

GetMinimumZ()

Get the minimum coordinate value for the Z axis.

Number GetMinimumZ()

Returns
Number The minimum coordinate for the Z axis.

SetMaximum(x, y, z)

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

Boolean SetMaximum(Number x, Number y, Number z)

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

SetMaximum(maximum)

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

Boolean SetMaximum(Murl.Math.Vector maximum)

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

SetMaximumX(x)

Set the maximum coordinate value for the X axis only.

Boolean SetMaximumX(Number x)

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

SetMaximumY(y)

Set the maximum coordinate value for the Y axis only.

Boolean SetMaximumY(Number y)

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

SetMaximumZ(z)

Set the maximum coordinate value for the Z axis only.

Boolean SetMaximumZ(Number z)

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

GetMaximum()

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

Murl.Math.Vector GetMaximum()

Returns
Murl.Math.Vector A vector containing the individual coordinate values.

GetMaximumX()

Get the maximum coordinate value for the X axis.

Number GetMaximumX()

Returns
Number The maximum coordinate for the X axis.

GetMaximumY()

Get the maximum coordinate value for the Y axis.

Number GetMaximumY()

Returns
Number The maximum coordinate for the Y axis.

GetMaximumZ()

Get the maximum coordinate value for the Z axis.

Number GetMaximumZ()

Returns
Number The maximum coordinate for the Z axis.