![]() |
Murl Engine Lua Addon API
Version 1.0 beta
|
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.
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()
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()
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)
enabled | If true, inner volume clamping is enabled. |
Check if inner volume clamping is enabled.
Boolean IsClampingEnabled()
Enable/disable view culling.
Boolean SetViewCullingEnabled(Boolean enabled)
enabled | If true, culling is performed. |
Check if view culling is enabled.
Boolean IsViewCullingEnabled()
Set minimum coordinate values for the X, Y and Z axes.
Boolean SetMinimum(Number x, Number y, Number z)
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 minimum coordinate values for the X, Y and Z axes.
Boolean SetMinimum(Murl.Math.Vector minimum)
minimum | A vector containing individual minimum values. |
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. |
Get the minimum coordinate values for the X, Y and Z axes.
Murl.Math.Vector GetMinimum()
Get the minimum coordinate value for the X axis.
Number GetMinimumX()
Get the minimum coordinate value for the Y axis.
Number GetMinimumY()
Get the minimum coordinate value for the Z axis.
Number GetMinimumZ()
Set maximum coordinate values for the X, Y and Z axes.
Boolean SetMaximum(Number x, Number y, Number z)
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 maximum coordinate values for the X, Y and Z axes.
Boolean SetMaximum(Murl.Math.Vector maximum)
maximum | A vector containing individual maximum values. |
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. |
Get the maximum coordinate values for the X, Y and Z axes.
Murl.Math.Vector GetMaximum()
Get the maximum coordinate value for the X axis.
Number GetMaximumX()
Get the maximum coordinate value for the Y axis.
Number GetMaximumY()
Get the maximum coordinate value for the Z axis.
Number GetMaximumZ()
Set offset coordinate values for the X, Y and Z axes.
Boolean SetOffset(Number x, Number y, Number z)
x | The offset value for the X axis. |
y | The offset value for the Y axis. |
z | The offset value for the Z axis. |
Set the offset for the X, Y and Z axes.
Boolean SetOffset(Murl.Math.Vector offset)
offset | A vector containing the offset coordinate. |
Set the offset coordinate value for the X axis only.
x | The offset value for the X axis. |
Set the offset coordinate value for the Y axis only.
y | The offset value for the Y axis. |
Set the offset coordinate value for the Z axis only.
z | The offset value for the Z axis. |
Get the offset coordinate values for the X, Y and Z axes.
Murl.Math.Vector GetOffset()
Get the offset coordinate value for the X axis.
Number GetOffsetX()
Get the offset coordinate value for the Y axis.
Number GetOffsetY()
Get the offset coordinate value for the Z axis.
Number GetOffsetZ()
Set size values for the X, Y and Z axes.
Boolean SetSize(Number x, Number y, Number z)
x | The size value for the X axis. |
y | The size value for the Y axis. |
z | The size value for the Z axis. |
Set the size for the X, Y and Z axes.
Boolean SetSize(Murl.Math.Vector size)
size | A vector containing the size. |
Set the size value for the X axis only.
x | The size value for the X axis. |
Set the size value for the Y axis only.
y | The size value for the Y axis. |
Set the size value for the Z axis only.
z | The size value for the Z axis. |
Get the size values for the X, Y and Z axes.
Murl.Math.Vector GetSize()
Get the size value for the X axis.
Number GetSizeX()
Get the size value for the Y axis.
Number GetSizeY()
Get the size value for the Z axis.
Number GetSizeZ()