The IAligner graph node interface. More...

#include "murl_graph_i_aligner.h"

Inheritance diagram for Murl::Graph::IAligner:

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 SetInstanceProcessingEnabled (Bool enabled)=0
 Enable/disable instance processing. More...
 
virtual Bool IsInstanceProcessingEnabled () const =0
 Check if instance processing is enabled. More...
 
virtual Bool SetAxis (IEnums::Axis axis)=0
 Set the alignment axis. More...
 
virtual IEnums::Axis GetAxis () const =0
 Get the alignment axis. More...
 
virtual Bool SetOrder (IEnums::SortOrder order)=0
 Set the alignment order. More...
 
virtual IEnums::SortOrder GetOrder () const =0
 Get the alignment order. More...
 
virtual Bool SetSpacing (Real spacing)=0
 Set the alignment spacing. More...
 
virtual Real GetSpacing () const =0
 Get the alignment spacing. More...
 
virtual Bool SetPadding (const Vector &padding)=0
 Set the alignment padding. More...
 
virtual Bool SetPadding (Real paddingX, Real paddingY, Real paddingZ)=0
 Set the alignment padding. More...
 
virtual Bool SetPaddingX (Real paddingX)=0
 Set the alignment padding in X direction. More...
 
virtual Bool SetPaddingY (Real paddingY)=0
 Set the alignment padding in Y direction. More...
 
virtual Bool SetPaddingZ (Real paddingZ)=0
 Set the alignment padding in Z direction. More...
 
virtual const VectorGetPadding () const =0
 Get the alignment padding as a vector. More...
 
virtual Real GetPaddingX () const =0
 Get the alignment padding in X direction. More...
 
virtual Real GetPaddingY () const =0
 Get the alignment padding in Y direction. More...
 
virtual Real GetPaddingZ () const =0
 Get the alignment padding in Z direction. More...
 
virtual Bool SetContainerSize (const Vector &size)=0
 Set the exact container size used for layouting. More...
 
virtual Bool SetContainerSize (Real sizeX, Real sizeY, Real sizeZ)=0
 Set the exact container size used for layouting. More...
 
virtual Bool SetContainerSizeX (Real sizeX)=0
 Set the exact container size used for layouting, in X direction. More...
 
virtual Bool SetContainerSizeY (Real sizeY)=0
 Set the exact container size used for layouting, in Y direction. More...
 
virtual Bool SetContainerSizeZ (Real sizeZ)=0
 Set the exact container size used for layouting, in Z direction. More...
 
virtual Bool SetMinContainerSize (const Vector &size)=0
 Set the minimum container size used for layouting. More...
 
virtual Bool SetMinContainerSize (Real sizeX, Real sizeY, Real sizeZ)=0
 Set the minimum container size used for layouting. More...
 
virtual Bool SetMinContainerSizeX (Real sizeX)=0
 Set the minimum container size used for layouting, in X direction. More...
 
virtual Bool SetMinContainerSizeY (Real sizeY)=0
 Set the minimum container size used for layouting, in Y direction. More...
 
virtual Bool SetMinContainerSizeZ (Real sizeZ)=0
 Set the minimum container size used for layouting, in Z direction. More...
 
virtual const VectorGetMinContainerSize () const =0
 Get the minimum container size used for layouting. More...
 
virtual Real GetMinContainerSizeX () const =0
 Get the minimum container size in X direction used for layouting. More...
 
virtual Real GetMinContainerSizeY () const =0
 Get the minimum container size in Y direction used for layouting. More...
 
virtual Real GetMinContainerSizeZ () const =0
 Get the minimum container size in Z direction used for layouting. More...
 
virtual Bool SetMaxContainerSize (const Vector &size)=0
 Set the maximum container size used for layouting. More...
 
virtual Bool SetMaxContainerSize (Real sizeX, Real sizeY, Real sizeZ)=0
 Set the maximum container size used for layouting. More...
 
virtual Bool SetMaxContainerSizeX (Real sizeX)=0
 Set the maximum container size used for layouting, in X direction. More...
 
virtual Bool SetMaxContainerSizeY (Real sizeY)=0
 Set the maximum container size used for layouting, in Y direction. More...
 
virtual Bool SetMaxContainerSizeZ (Real sizeZ)=0
 Set the maximum container size used for layouting, in Z direction. More...
 
virtual const VectorGetMaxContainerSize () const =0
 Get the maximum container size used for layouting. More...
 
virtual Real GetMaxContainerSizeX () const =0
 Get the maximum container size in X direction used for layouting. More...
 
virtual Real GetMaxContainerSizeY () const =0
 Get the maximum container size in Y direction used for layouting. More...
 
virtual Real GetMaxContainerSizeZ () const =0
 Get the maximum container size in Z direction used for layouting. More...
 
virtual Bool SetContainerAlignment (IEnums::AlignmentX alignX, IEnums::AlignmentY alignY, IEnums::AlignmentZ alignZ)=0
 Set the container alignment for all three axes. More...
 
virtual Bool SetContainerAlignmentX (IEnums::AlignmentX alignX)=0
 Set the container alignment for the X axis. More...
 
virtual Bool SetContainerAlignmentY (IEnums::AlignmentY alignY)=0
 Set the container alignment for the Y axis. More...
 
virtual Bool SetContainerAlignmentZ (IEnums::AlignmentZ alignZ)=0
 Set the container alignment for the Z axis. More...
 
virtual IEnums::AlignmentX GetContainerAlignmentX () const =0
 Get the container alignment for the X axis. More...
 
virtual IEnums::AlignmentY GetContainerAlignmentY () const =0
 Get the container alignment for the Y axis. More...
 
virtual IEnums::AlignmentZ GetContainerAlignmentZ () const =0
 Get the container alignment for the Z axis. More...
 
virtual Bool SetObjectAlignment (IEnums::AlignmentX alignX, IEnums::AlignmentY alignY, IEnums::AlignmentZ alignZ)=0
 Set the object alignment for all three axes. More...
 
virtual Bool SetObjectAlignmentX (IEnums::AlignmentX alignX)=0
 Set the object alignment on the X axis. More...
 
virtual Bool SetObjectAlignmentY (IEnums::AlignmentY alignY)=0
 Set the object alignment on the Y axis. More...
 
virtual Bool SetObjectAlignmentZ (IEnums::AlignmentZ alignZ)=0
 Set the object alignment on the Z axis. More...
 
virtual IEnums::AlignmentX GetObjectAlignmentX () const =0
 Get the object alignment on the X axis. More...
 
virtual IEnums::AlignmentY GetObjectAlignmentY () const =0
 Get the object alignment on the Y axis. More...
 
virtual IEnums::AlignmentZ GetObjectAlignmentZ () const =0
 Get the object alignment on the Z axis. More...
 
virtual Bool SetAlignmentUnit (Real unitX, Real unitY, Real unitZ)=0
 Set the object alignment unit. More...
 
virtual Bool SetAlignmentUnitX (Real unitX)=0
 Set the object alignment unit along the X axis. More...
 
virtual Bool SetAlignmentUnitY (Real unitY)=0
 Set the object alignment unit along the Y axis. More...
 
virtual Bool SetAlignmentUnitZ (Real unitZ)=0
 Set the object alignment unit along the Z axis. More...
 
virtual Real GetAlignmentUnitX () const =0
 Set the object alignment unit along the X axis. More...
 
virtual Real GetAlignmentUnitY () const =0
 Set the object alignment unit along the Y axis. More...
 
virtual Real GetAlignmentUnitZ () const =0
 Set the object alignment unit along the Z axis. More...
 
virtual IBoundingVolumeGetBoundingVolume ()=0
 Get the aligner's bounding volume. More...
 
virtual const IBoundingVolumeGetBoundingVolume () const =0
 Get the aligner's bounding volume. More...
 

Detailed Description

The IAligner graph node interface.

IAligner nodes allow to automatically arrange a number of child sub-graphs along one dedicated main axis (see SetAxis()), in either ascending or descending order (see SetOrder()). By design, each individual child represents a closed sub-graph for which the common bounding volume is calculated when the aligner performs its layout procedure. In other words, if for example five plane geometry nodes should be arranged, each of these planes must be in a separate child sub-graph. If two or more planes are within the same child sub-graph, their bounding volumes are combined, and this combined volume is used for arranging the respective child graph.

For the remaining two axes and the dedicated main axis set via SetAxis(), it is possible to specify an alignment mode so that the linearly aligned children are also aligned to either side or center of the aligner. By default, these object alignment modes (which can be set via SetObjectAlignment()) are set to UNDEFINED, which means that no alignment is done for any axis other than the main axis.

It is also possible to specify a minimum and maximum container size (see SetMinContainerSize() and SetMaxContainerSize(), respectively), together with a container alignment property (see SetContainerAlignment()) to control the actual size and pivot point of the resulting layout container.

Aligned objects can be arranged with an optional spacing parameter (see SetSpacing()), which represents the space left out between two consecutive child sub-graphs.

In addition, it is possible to specify padding values (see SetPadding()) to add an extra border to the resulting container after layouting.

See also Graph::IBoundingBox.

Member Function Documentation

◆ GetNodeInterface() [1/2]

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

◆ SetInstanceProcessingEnabled()

virtual Bool Murl::Graph::IAligner::SetInstanceProcessingEnabled ( Bool  enabled)
pure virtual

Enable/disable instance processing.

If enabled, child nodes that implement the IInstance interface are processed separately, so that all their individual replications are treated as if they were direct children of the aligner. Note that in this case, activating or deactivating the instance node itself has no effect; if all replications of an instance should be made invisible, one must iterate over all the instance's children manually. By default, instance processing is enabled.

Parameters
enabledIf true, instance processing is enabled.
Returns
true if successful.

◆ IsInstanceProcessingEnabled()

virtual Bool Murl::Graph::IAligner::IsInstanceProcessingEnabled ( ) const
pure virtual

Check if instance processing is enabled.

Returns
true if enabled.

◆ SetAxis()

virtual Bool Murl::Graph::IAligner::SetAxis ( IEnums::Axis  axis)
pure virtual

Set the alignment axis.

This method can be used to set the aligner's main axis. When performing its layout operation, the position of each child sub-graph is increased or decreased (depending on the order defined by SetOrder()), but only for the given axis. The other two coordinates of each sub-graph are left unchanged, unless explicitly set via SetObjectAlignment().

Parameters
axisThe alignment axis.
Returns
true if successful.

◆ GetAxis()

virtual IEnums::Axis Murl::Graph::IAligner::GetAxis ( ) const
pure virtual

Get the alignment axis.

Returns
The alignment axis.

◆ SetOrder()

virtual Bool Murl::Graph::IAligner::SetOrder ( IEnums::SortOrder  order)
pure virtual

Set the alignment order.

This method sets the alignment order to either ascending or descending, along the main axis. See SetAxis().

Parameters
orderThe alignment order.
Returns
true if successful.

◆ GetOrder()

virtual IEnums::SortOrder Murl::Graph::IAligner::GetOrder ( ) const
pure virtual

Get the alignment order.

Returns
The alignment order.

◆ SetSpacing()

virtual Bool Murl::Graph::IAligner::SetSpacing ( Real  spacing)
pure virtual

Set the alignment spacing.

This method defines the size of the empty space between two consecutive sub-graphs, along the main axis defined via SetAxis().

Parameters
spacingThe spacing value.
Returns
true if successful.

◆ GetSpacing()

virtual Real Murl::Graph::IAligner::GetSpacing ( ) const
pure virtual

Get the alignment spacing.

Returns
The spacing value.

◆ SetPadding() [1/2]

virtual Bool Murl::Graph::IAligner::SetPadding ( const Vector padding)
pure virtual

Set the alignment padding.

This method defines the "border size", added to both sides of each axis to effectively enlarge the alignment container by twice the given values, individually for each of the three axes.

Parameters
paddingA vector containing three individual padding values, one for each axis (X, Y and Z).
Returns
true if successful.

◆ SetPadding() [2/2]

virtual Bool Murl::Graph::IAligner::SetPadding ( Real  paddingX,
Real  paddingY,
Real  paddingZ 
)
pure virtual

Set the alignment padding.

See SetPadding(const Vector&).

Parameters
paddingXThe X axis padding value.
paddingYThe Y axis padding value.
paddingZThe Z axis padding value.
Returns
true if successful.

◆ SetPaddingX()

virtual Bool Murl::Graph::IAligner::SetPaddingX ( Real  paddingX)
pure virtual

Set the alignment padding in X direction.

See SetPadding(const Vector&).

Parameters
paddingXThe X axis padding value.
Returns
true if successful.

◆ SetPaddingY()

virtual Bool Murl::Graph::IAligner::SetPaddingY ( Real  paddingY)
pure virtual

Set the alignment padding in Y direction.

See SetPadding(const Vector&).

Parameters
paddingYThe Y axis padding value.
Returns
true if successful.

◆ SetPaddingZ()

virtual Bool Murl::Graph::IAligner::SetPaddingZ ( Real  paddingZ)
pure virtual

Set the alignment padding in Z direction.

See SetPadding(const Vector&).

Parameters
paddingZThe Z axis padding value.
Returns
true if successful.

◆ GetPadding()

virtual const Vector& Murl::Graph::IAligner::GetPadding ( ) const
pure virtual

Get the alignment padding as a vector.

Returns
A vector containing the 3 padding values, for X, Y and Z axis.

◆ GetPaddingX()

virtual Real Murl::Graph::IAligner::GetPaddingX ( ) const
pure virtual

Get the alignment padding in X direction.

Returns
The X axis padding value.

◆ GetPaddingY()

virtual Real Murl::Graph::IAligner::GetPaddingY ( ) const
pure virtual

Get the alignment padding in Y direction.

Returns
The Y axis padding value.

◆ GetPaddingZ()

virtual Real Murl::Graph::IAligner::GetPaddingZ ( ) const
pure virtual

Get the alignment padding in Z direction.

Returns
The Z axis padding value.

◆ SetContainerSize() [1/2]

virtual Bool Murl::Graph::IAligner::SetContainerSize ( const Vector size)
pure virtual

Set the exact container size used for layouting.

This method sets both minimum and maximum size values for the layout container to the given ones, effectively restricting the container to always have constant dimensions. See SetMinContainerSize() and SetMaxContainerSize(). The exact container size cannot be queried directly, use both GetMinContainerSize() and GetMaxContainerSize(), which return the same values when an exact container size was specified.

Parameters
sizeA vector containing the container size for X, Y and Z axes.
Returns
true if successful.

◆ SetContainerSize() [2/2]

virtual Bool Murl::Graph::IAligner::SetContainerSize ( Real  sizeX,
Real  sizeY,
Real  sizeZ 
)
pure virtual

Set the exact container size used for layouting.

See SetContainerSize(const Vector&).

Parameters
sizeXThe container size in X direction.
sizeYThe container size in Y direction.
sizeZThe container size in Z direction.
Returns
true if successful.

◆ SetContainerSizeX()

virtual Bool Murl::Graph::IAligner::SetContainerSizeX ( Real  sizeX)
pure virtual

Set the exact container size used for layouting, in X direction.

See SetContainerSize(const Vector&).

Parameters
sizeXThe container size in X direction.
Returns
true if successful.

◆ SetContainerSizeY()

virtual Bool Murl::Graph::IAligner::SetContainerSizeY ( Real  sizeY)
pure virtual

Set the exact container size used for layouting, in Y direction.

See SetContainerSize(const Vector&).

Parameters
sizeYThe container size in Y direction.
Returns
true if successful.

◆ SetContainerSizeZ()

virtual Bool Murl::Graph::IAligner::SetContainerSizeZ ( Real  sizeZ)
pure virtual

Set the exact container size used for layouting, in Z direction.

See SetContainerSize(const Vector&).

Parameters
sizeZThe container size in Z direction.
Returns
true if successful.

◆ SetMinContainerSize() [1/2]

virtual Bool Murl::Graph::IAligner::SetMinContainerSize ( const Vector size)
pure virtual

Set the minimum container size used for layouting.

This method sets the minimum overall container size used for layouting. Using a minimum container size is usually useful when an aligner is itself embedded into another (parent) aligner. When the total size of the aligned contents is smaller than the size values given here, the container maintains that minimum size. If the contents are larger, then also the container is enlarged, unless a maximum size is defined via SetMaxContainerSize(). If any of the three axis values is negative, this axis is considered unrestricted. See also SetContainerSize() to set an exact container size.

Parameters
sizeA vector containing the minimum container size for X, Y and Z.
Returns
true if successful.

◆ SetMinContainerSize() [2/2]

virtual Bool Murl::Graph::IAligner::SetMinContainerSize ( Real  sizeX,
Real  sizeY,
Real  sizeZ 
)
pure virtual

Set the minimum container size used for layouting.

See SetMinContainerSize(const Vector&).

Parameters
sizeXThe minimum container size in X direction.
sizeYThe minimum container size in Y direction.
sizeZThe minimum container size in Z direction.
Returns
true if successful.

◆ SetMinContainerSizeX()

virtual Bool Murl::Graph::IAligner::SetMinContainerSizeX ( Real  sizeX)
pure virtual

Set the minimum container size used for layouting, in X direction.

See SetMinContainerSize(const Vector&).

Parameters
sizeXThe minimum container size in X direction.
Returns
true if successful.

◆ SetMinContainerSizeY()

virtual Bool Murl::Graph::IAligner::SetMinContainerSizeY ( Real  sizeY)
pure virtual

Set the minimum container size used for layouting, in Y direction.

See SetMinContainerSize(const Vector&).

Parameters
sizeYThe minimum container size in Y direction.
Returns
true if successful.

◆ SetMinContainerSizeZ()

virtual Bool Murl::Graph::IAligner::SetMinContainerSizeZ ( Real  sizeZ)
pure virtual

Set the minimum container size used for layouting, in Z direction.

See SetMinContainerSize(const Vector&).

Parameters
sizeZThe minimum container size in Z direction.
Returns
true if successful.

◆ GetMinContainerSize()

virtual const Vector& Murl::Graph::IAligner::GetMinContainerSize ( ) const
pure virtual

Get the minimum container size used for layouting.

Returns
A vector containing the minimum container size for X, Y and Z.

◆ GetMinContainerSizeX()

virtual Real Murl::Graph::IAligner::GetMinContainerSizeX ( ) const
pure virtual

Get the minimum container size in X direction used for layouting.

Returns
The minimum container size in X direction.

◆ GetMinContainerSizeY()

virtual Real Murl::Graph::IAligner::GetMinContainerSizeY ( ) const
pure virtual

Get the minimum container size in Y direction used for layouting.

Returns
The minimum container size in Y direction.

◆ GetMinContainerSizeZ()

virtual Real Murl::Graph::IAligner::GetMinContainerSizeZ ( ) const
pure virtual

Get the minimum container size in Z direction used for layouting.

Returns
The minimum container size in Z direction.

◆ SetMaxContainerSize() [1/2]

virtual Bool Murl::Graph::IAligner::SetMaxContainerSize ( const Vector size)
pure virtual

Set the maximum container size used for layouting.

This method sets the maximum overall container size used for layouting. Using a minimum container size is usually useful when an aligner is itself embedded into another (parent) aligner. When the total size of the aligned contents is higher than the size values given here, the container is restricted to that maximum size. If the contents are smaller, this smaller size is accepted, unless a minimum size is defined via SetMinContainerSize(). If any of the three axis values is negative, this axis is considered unrestricted. See also SetContainerSize() to set an exact container size.

Parameters
sizeA vector containing the maximum container size for X, Y and Z.
Returns
true if successful.

◆ SetMaxContainerSize() [2/2]

virtual Bool Murl::Graph::IAligner::SetMaxContainerSize ( Real  sizeX,
Real  sizeY,
Real  sizeZ 
)
pure virtual

Set the maximum container size used for layouting.

See SetMaxContainerSize(const Vector&).

Parameters
sizeXThe maximum container size in X direction.
sizeYThe maximum container size in Y direction.
sizeZThe maximum container size in Z direction.
Returns
true if successful.

◆ SetMaxContainerSizeX()

virtual Bool Murl::Graph::IAligner::SetMaxContainerSizeX ( Real  sizeX)
pure virtual

Set the maximum container size used for layouting, in X direction.

See SetMaxContainerSize(const Vector&).

Parameters
sizeXThe maximum container size in X direction.
Returns
true if successful.

◆ SetMaxContainerSizeY()

virtual Bool Murl::Graph::IAligner::SetMaxContainerSizeY ( Real  sizeY)
pure virtual

Set the maximum container size used for layouting, in Y direction.

See SetMaxContainerSize(const Vector&).

Parameters
sizeYThe maximum container size in Y direction.
Returns
true if successful.

◆ SetMaxContainerSizeZ()

virtual Bool Murl::Graph::IAligner::SetMaxContainerSizeZ ( Real  sizeZ)
pure virtual

Set the maximum container size used for layouting, in Z direction.

See SetMaxContainerSize(const Vector&).

Parameters
sizeZThe maximum container size in Z direction.
Returns
true if successful.

◆ GetMaxContainerSize()

virtual const Vector& Murl::Graph::IAligner::GetMaxContainerSize ( ) const
pure virtual

Get the maximum container size used for layouting.

Returns
A vector containing the maximum container size for X, Y and Z.

◆ GetMaxContainerSizeX()

virtual Real Murl::Graph::IAligner::GetMaxContainerSizeX ( ) const
pure virtual

Get the maximum container size in X direction used for layouting.

Returns
The maximum container size in X direction.

◆ GetMaxContainerSizeY()

virtual Real Murl::Graph::IAligner::GetMaxContainerSizeY ( ) const
pure virtual

Get the maximum container size in Y direction used for layouting.

Returns
The maximum container size in Y direction.

◆ GetMaxContainerSizeZ()

virtual Real Murl::Graph::IAligner::GetMaxContainerSizeZ ( ) const
pure virtual

Get the maximum container size in Z direction used for layouting.

Returns
The maximum container size in Z direction.

◆ SetContainerAlignment()

virtual Bool Murl::Graph::IAligner::SetContainerAlignment ( IEnums::AlignmentX  alignX,
IEnums::AlignmentY  alignY,
IEnums::AlignmentZ  alignZ 
)
pure virtual

Set the container alignment for all three axes.

The container alignment properties specify the actual pivot (or anchor) point for handling the aligner. For example, using IEnums::ALIGNMENT_X_LEFT for the X axis and IEnums::ALIGNMENT_Y_TOP will layout the aligner's contents to the right (positive X axis) and bottom (negative Y axis) from the aligner's origin. By default, the aligner's container alignment is set to CENTER for all three axes.

Parameters
alignXThe container alignment in X direction.
alignYThe container alignment in Y direction.
alignZThe container alignment in Z direction.
Returns
true if successful.

◆ SetContainerAlignmentX()

virtual Bool Murl::Graph::IAligner::SetContainerAlignmentX ( IEnums::AlignmentX  alignX)
pure virtual

Set the container alignment for the X axis.

Parameters
alignXThe container alignment in X direction.
Returns
true if successful.

◆ SetContainerAlignmentY()

virtual Bool Murl::Graph::IAligner::SetContainerAlignmentY ( IEnums::AlignmentY  alignY)
pure virtual

Set the container alignment for the Y axis.

Parameters
alignYThe container alignment in Y direction.
Returns
true if successful.

◆ SetContainerAlignmentZ()

virtual Bool Murl::Graph::IAligner::SetContainerAlignmentZ ( IEnums::AlignmentZ  alignZ)
pure virtual

Set the container alignment for the Z axis.

Parameters
alignZThe container alignment in Z direction.
Returns
true if successful.

◆ GetContainerAlignmentX()

virtual IEnums::AlignmentX Murl::Graph::IAligner::GetContainerAlignmentX ( ) const
pure virtual

Get the container alignment for the X axis.

Returns
The container alignment in X direction.

◆ GetContainerAlignmentY()

virtual IEnums::AlignmentY Murl::Graph::IAligner::GetContainerAlignmentY ( ) const
pure virtual

Get the container alignment for the Y axis.

Returns
The container alignment in Y direction.

◆ GetContainerAlignmentZ()

virtual IEnums::AlignmentZ Murl::Graph::IAligner::GetContainerAlignmentZ ( ) const
pure virtual

Get the container alignment for the Z axis.

Returns
The container alignment in Z direction.

◆ SetObjectAlignment()

virtual Bool Murl::Graph::IAligner::SetObjectAlignment ( IEnums::AlignmentX  alignX,
IEnums::AlignmentY  alignY,
IEnums::AlignmentZ  alignZ 
)
pure virtual

Set the object alignment for all three axes.

The object alignment properties specify how the contents of the aligner are arranged for each axis. If for example the main axis is set to X in ascending order, the X alignment is set to LEFT, and the Y object alignment value is set to BOTTOM, all sub-graphs are aligned in their given order from left to right, and their Y start coordinates are aligned at the bottom of the container. Note that for all axes with object alignment set to UNDEFINED, the respective sub-graphs' coordinate along that axis remains unchanged.

Parameters
alignXThe object alignment in X direction.
alignYThe object alignment in Y direction.
alignZThe object alignment in Z direction.
Returns
true if successful.

◆ SetObjectAlignmentX()

virtual Bool Murl::Graph::IAligner::SetObjectAlignmentX ( IEnums::AlignmentX  alignX)
pure virtual

Set the object alignment on the X axis.

Parameters
alignXThe object alignment in X direction.
Returns
true if successful.

◆ SetObjectAlignmentY()

virtual Bool Murl::Graph::IAligner::SetObjectAlignmentY ( IEnums::AlignmentY  alignY)
pure virtual

Set the object alignment on the Y axis.

Parameters
alignYThe object alignment in Y direction.
Returns
true if successful.

◆ SetObjectAlignmentZ()

virtual Bool Murl::Graph::IAligner::SetObjectAlignmentZ ( IEnums::AlignmentZ  alignZ)
pure virtual

Set the object alignment on the Z axis.

Parameters
alignZThe object alignment in Z direction.
Returns
true if successful.

◆ GetObjectAlignmentX()

virtual IEnums::AlignmentX Murl::Graph::IAligner::GetObjectAlignmentX ( ) const
pure virtual

Get the object alignment on the X axis.

Returns
The object alignment in X direction.

◆ GetObjectAlignmentY()

virtual IEnums::AlignmentY Murl::Graph::IAligner::GetObjectAlignmentY ( ) const
pure virtual

Get the object alignment on the Y axis.

Returns
The object alignment in Y direction.

◆ GetObjectAlignmentZ()

virtual IEnums::AlignmentZ Murl::Graph::IAligner::GetObjectAlignmentZ ( ) const
pure virtual

Get the object alignment on the Z axis.

Returns
The object alignment in Z direction.

◆ SetAlignmentUnit()

virtual Bool Murl::Graph::IAligner::SetAlignmentUnit ( Real  unitX,
Real  unitY,
Real  unitZ 
)
pure virtual

Set the object alignment unit.

This method sets the alignment unit for all three axes, which can be used to round the aligner container's positions to some given values, in order to e.g. position the resulting container on integer pixel coordinates. By default, the alignment units for all axes are set to -1.0, which means "no rounding".

Parameters
unitXThe alignment unit in X direction.
unitYThe alignment unit in Y direction.
unitZThe alignment unit in Z direction.
Returns
true if successful.

◆ SetAlignmentUnitX()

virtual Bool Murl::Graph::IAligner::SetAlignmentUnitX ( Real  unitX)
pure virtual

Set the object alignment unit along the X axis.

See SetAlignmentUnit().

Parameters
unitXThe alignment unit in X direction.
Returns
true if successful.

◆ SetAlignmentUnitY()

virtual Bool Murl::Graph::IAligner::SetAlignmentUnitY ( Real  unitY)
pure virtual

Set the object alignment unit along the Y axis.

See SetAlignmentUnit().

Parameters
unitYThe alignment unit in Y direction.
Returns
true if successful.

◆ SetAlignmentUnitZ()

virtual Bool Murl::Graph::IAligner::SetAlignmentUnitZ ( Real  unitZ)
pure virtual

Set the object alignment unit along the Z axis.

See SetAlignmentUnit().

Parameters
unitZThe alignment unit in Z direction.
Returns
true if successful.

◆ GetAlignmentUnitX()

virtual Real Murl::Graph::IAligner::GetAlignmentUnitX ( ) const
pure virtual

Set the object alignment unit along the X axis.

Returns
The alignment unit in X direction.

◆ GetAlignmentUnitY()

virtual Real Murl::Graph::IAligner::GetAlignmentUnitY ( ) const
pure virtual

Set the object alignment unit along the Y axis.

Returns
The alignment unit in Y direction.

◆ GetAlignmentUnitZ()

virtual Real Murl::Graph::IAligner::GetAlignmentUnitZ ( ) const
pure virtual

Set the object alignment unit along the Z axis.

Returns
The alignment unit in Z direction.

◆ GetBoundingVolume() [1/2]

virtual IBoundingVolume* Murl::Graph::IAligner::GetBoundingVolume ( )
pure virtual

Get the aligner's bounding volume.

Returns
The bounding volume.

◆ GetBoundingVolume() [2/2]

virtual const IBoundingVolume* Murl::Graph::IAligner::GetBoundingVolume ( ) const
pure virtual

Get the aligner's bounding volume.

Returns
The bounding volume.

The documentation for this interface was generated from the following file:
  • murl_graph_i_aligner.h


Copyright © 2011-2024 Spraylight GmbH.