Murl::Graph::IPlaneGeometry Interface Referenceabstract

The IPlaneGeometry graph node interface. More...

#include "murl_graph_i_plane_geometry.h"

Inheritance diagram for Murl::Graph::IPlaneGeometry:

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 AddAttribute (IEnums::AttributeItem item)=0
 Add an attribute item to the plane's vertex data prior to initialization. More...
 
virtual Bool RemoveAttribute (IEnums::AttributeItem item)=0
 Remove an attribute item frome the plane's vertex data prior to initialization. More...
 
virtual Bool SetTextureSize (Real sizeX, Real sizeY, UInt32 index=0)=0
 Set the texture reference size. More...
 
virtual Bool SetTextureSizeX (Real sizeX, UInt32 index=0)=0
 Set the horizontal texture reference size. More...
 
virtual Bool SetTextureSizeY (Real sizeY, UInt32 index=0)=0
 Set the vertical texture reference size. More...
 
virtual Real GetTextureSizeX (UInt32 index=0) const =0
 Get the horizontal texture reference size. More...
 
virtual Real GetTextureSizeY (UInt32 index=0) const =0
 Get the vertical texture reference size. More...
 
virtual Bool SetTexCoord (Real x1, Real y1, Real x2, Real y2, UInt32 index=0)=0
 Set the plane's texture coordinates. More...
 
virtual Bool SetTexCoord1 (Real x1, Real y1, UInt32 index=0)=0
 Set the plane's start texture coordinates. More...
 
virtual Bool SetTexCoord2 (Real x2, Real y2, UInt32 index=0)=0
 Set the plane's end texture coordinates. More...
 
virtual Bool SetTexCoordX1 (Real x1, UInt32 index=0)=0
 Set the plane's horizontal start texture coordinate. More...
 
virtual Bool SetTexCoordY1 (Real y1, UInt32 index=0)=0
 Set the plane's vertical start texture coordinates. More...
 
virtual Bool SetTexCoordX2 (Real x2, UInt32 index=0)=0
 Set the plane's horizontal end texture coordinate. More...
 
virtual Bool SetTexCoordY2 (Real y2, UInt32 index=0)=0
 Set the plane's vertical end texture coordinates. More...
 
virtual Real GetTexCoordX1 (UInt32 index=0) const =0
 Get the plane's horizontal start texture coordinate. More...
 
virtual Real GetTexCoordY1 (UInt32 index=0) const =0
 Get the plane's vertical start texture coordinate. More...
 
virtual Real GetTexCoordX2 (UInt32 index=0) const =0
 Get the plane's horizontal end texture coordinate. More...
 
virtual Real GetTexCoordY2 (UInt32 index=0) const =0
 Get the plane's vertical end texture coordinate. More...
 
virtual Bool SetFrameSize (Real sizeX, Real sizeY)=0
 Set the size of the display rectangle. More...
 
virtual Bool SetFrameSizeX (Real sizeX)=0
 Set the width of the display rectangle. More...
 
virtual Bool SetFrameSizeY (Real sizeY)=0
 Set the height of the display rectangle. More...
 
virtual Real GetFrameSizeX () const =0
 Get the width of the display rectangle. More...
 
virtual Real GetFrameSizeY () const =0
 Get the height of the display rectangle. More...
 
virtual Bool SetContainerAlignment (IEnums::AlignmentX alignmentX, IEnums::AlignmentY alignmentY)=0
 Set the horizontal container alignment. More...
 
virtual Bool SetContainerAlignmentX (IEnums::AlignmentX alignmentX)=0
 Set the horizontal container alignment. More...
 
virtual Bool SetContainerAlignmentY (IEnums::AlignmentY alignmentY)=0
 Set the vertical container alignment. More...
 
virtual IEnums::AlignmentX GetContainerAlignmentX () const =0
 Get the horizontal container alignment. More...
 
virtual IEnums::AlignmentY GetContainerAlignmentY () const =0
 Get the vertical container alignment. More...
 
virtual Bool SetBorder (Real borderX, Real borderY)=0
 Set the horizontal and vertical borders used for alignment. More...
 
virtual Bool SetBorderX (Real borderX)=0
 Set the horizontal border used for alignment. More...
 
virtual Bool SetBorderY (Real borderY)=0
 Set the vertical border used for alignment. More...
 
virtual Real GetBorderX () const =0
 Get the horizontal border used for alignment. More...
 
virtual Real GetBorderY () const =0
 Get the vertical border used for alignment. More...
 
- Public Member Functions inherited from Murl::Graph::IDrawable
virtual Bool SetVerticesSlot (SInt32 slot)=0
 Set the vertices slot used for rendering. More...
 
virtual SInt32 GetVerticesSlot () const =0
 Get the vertices slot used for rendering. More...
 
virtual Bool SetMaterialSlot (SInt32 slot)=0
 Set the material slot used for rendering. More...
 
virtual SInt32 GetMaterialSlot () const =0
 Get the material slot used for rendering. More...
 
virtual Bool SetParametersSlot (SInt32 slot)=0
 Set the parameters slot used for rendering. More...
 
virtual SInt32 GetParametersSlot () const =0
 Get the parameters slot used for rendering. More...
 
virtual Bool SetTextureSlot (UInt32 unit, SInt32 slot)=0
 Set a texture slot used for rendering. More...
 
virtual SInt32 GetTextureSlot (UInt32 unit) const =0
 Get a texture slot used for rendering. More...
 
virtual Bool SetVerticesSlotOffset (SInt32 slot)=0
 Set the vertices slot offset used for rendering. More...
 
virtual SInt32 GetVerticesSlotOffset () const =0
 Get the vertices slot offset used for rendering. More...
 
virtual Bool SetMaterialSlotOffset (SInt32 slot)=0
 Set the material slot offset used for rendering. More...
 
virtual SInt32 GetMaterialSlotOffset () const =0
 Get the material slot offset used for rendering. More...
 
virtual Bool SetParametersSlotOffset (SInt32 slot)=0
 Set the parameters slot offset used for rendering. More...
 
virtual SInt32 GetParametersSlotOffset () const =0
 Get the parameters slot offset used for rendering. More...
 
virtual Bool SetTextureSlotOffset (UInt32 unit, SInt32 slot)=0
 Set a texture slot offset used for rendering. More...
 
virtual SInt32 GetTextureSlotOffset (UInt32 unit) const =0
 Get a texture slot offset used for rendering. More...
 
virtual Bool SetBufferAccessMode (IEnums::BufferAccessMode mode)=0
 Set the buffer access mode. More...
 
virtual IEnums::BufferAccessMode GetBufferAccessMode () const =0
 Get the buffer access mode. More...
 
virtual Bool SetPrimitiveType (IEnums::PrimitiveType type)=0
 Set the primitive type used for rendering. More...
 
virtual IEnums::PrimitiveType GetPrimitiveType () const =0
 Get the primitive type used for rendering. More...
 
virtual Bool SetMaxNumberOfLightStages (UInt32 maxNumStages)=0
 Set the maximum number of light stages used for rendering. More...
 
virtual UInt32 GetMaxNumberOfLightStages () const =0
 Get the maximum number of light stages used for rendering. More...
 
virtual Bool SetMaxNumberOfBonesPerVertex (UInt32 maxNumBones)=0
 Set the maximum number of bones per vertex for vertex skinning. More...
 
virtual UInt32 GetMaxNumberOfBonesPerVertex () const =0
 Get the maximum number of bones per vertex for vertex skinning. 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 SetDynamicBatchingAllowed (Bool allowed)=0
 Allow/disallow dynamic batching. More...
 
virtual Bool IsDynamicBatchingAllowed () const =0
 Check if dynamic batching is allowed. More...
 
virtual Bool SetClippingAllowed (Bool allowed)=0
 Allow/disallow clipping. More...
 
virtual Bool IsClippingAllowed () const =0
 Check if clipping is allowed. More...
 
virtual Bool SetCpuSkinningEnabled (Bool enabled)=0
 Enable/disable CPU vertex skinning. More...
 
virtual Bool IsCpuSkinningEnabled () const =0
 Check if CPU vertex skinning is enabled. More...
 
- Public Member Functions inherited from Murl::Graph::IScalable
virtual Bool SetScaleFactor (const Vector &scaleFactor)=0
 Set individual scaling factors for the X, Y and Z axes. More...
 
virtual Bool SetScaleFactor (Real x, Real y, Real z)=0
 Set individual scaling factors for the X, Y and Z axes. More...
 
virtual Bool SetScaleFactor (Real s)=0
 Set a uniform scaling factor for all three axes. More...
 
virtual Bool SetScaleFactorX (Real x)=0
 Set the scaling factor for the X axis only. More...
 
virtual Bool SetScaleFactorY (Real y)=0
 Set the scaling factor for the Y axis only. More...
 
virtual Bool SetScaleFactorZ (Real z)=0
 Set the scaling factor for the Z axis only. More...
 
virtual const VectorGetScaleFactor () const =0
 Get the scaling factors for the X, Y and Z axes. More...
 
virtual Real GetScaleFactorX () const =0
 Get the scaling factor for the X axis. More...
 
virtual Real GetScaleFactorY () const =0
 Get the scaling factor for the Y axis. More...
 
virtual Real GetScaleFactorZ () const =0
 Get the scaling factor for the Z axis. More...
 

Detailed Description

The IPlaneGeometry graph node interface.

This interface represents a flat rectangular geometry object (quad) in world space, with unit size dimensions around the origin and given texture coordinates.

Use the Graph::IScalable base interface to set an overall scaling factor for the plane, i.e. define its actual size.

See Graph::IPlaneSequenceGeometry for an animated version.

Member Function Documentation

◆ GetNodeInterface() [1/2]

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

◆ AddAttribute()

virtual Bool Murl::Graph::IPlaneGeometry::AddAttribute ( IEnums::AttributeItem  item)
pure virtual

Add an attribute item to the plane's vertex data prior to initialization.

This method allows to add one of the available attribute items to the plane's internal vertex buffer. Available items from the IEnums::AttributeItem enum are NORMAL, BINORMAL, TANGENT, COLOR, TEXCOORD_0 and TEXCOORD_1. The item COORD is always present, and by default also TEXCOORD_0 is active. See also RemoveAttribute() to unset the latter one.

Parameters
itemThe item to add.
Returns
true if successful.

◆ RemoveAttribute()

virtual Bool Murl::Graph::IPlaneGeometry::RemoveAttribute ( IEnums::AttributeItem  item)
pure virtual

Remove an attribute item frome the plane's vertex data prior to initialization.

See AddAttribute().

Parameters
itemThe item to remove.
Returns
true if successful.

◆ SetTextureSize()

virtual Bool Murl::Graph::IPlaneGeometry::SetTextureSize ( Real  sizeX,
Real  sizeY,
UInt32  index = 0 
)
pure virtual

Set the texture reference size.

Generally, texture coordinates are represented by values ranging from 0.0 to 1.0. As a convenience, this method can be used to set an arbitrary reference size for both dimensions of the plane; this way it is possible to specify integer (pixel) values instead of (quite unreadable) floats. For example, if a 256x128 texture is to be used when rendering this plane, a sizeX value of 256 and sizeY value of 128 directly maps incoming integer texture coordinates to whole texture pixels. Use the index parameter to specify the actual set of texture coordinates for which to set the reference size, either 0 for TEXCOORD_0 or 1 for TEXCOORD_1.

Parameters
sizeXThe horizontal (X, or U) texture coordinate reference size.
sizeYThe vertical (Y, or V) texture coordinate reference size.
indexThe index of the texture coordinate set.
Returns
true if successful.

◆ SetTextureSizeX()

virtual Bool Murl::Graph::IPlaneGeometry::SetTextureSizeX ( Real  sizeX,
UInt32  index = 0 
)
pure virtual

Set the horizontal texture reference size.

See SetTextureSize().

Parameters
sizeXThe horizontal (X, or U) texture coordinate reference size.
indexThe index of the texture coordinate set.
Returns
true if successful.

◆ SetTextureSizeY()

virtual Bool Murl::Graph::IPlaneGeometry::SetTextureSizeY ( Real  sizeY,
UInt32  index = 0 
)
pure virtual

Set the vertical texture reference size.

See SetTextureSize().

Parameters
sizeYThe vertical (Y, or V) texture coordinate reference size.
indexThe index of the texture coordinate set.
Returns
true if successful.

◆ GetTextureSizeX()

virtual Real Murl::Graph::IPlaneGeometry::GetTextureSizeX ( UInt32  index = 0) const
pure virtual

Get the horizontal texture reference size.

See SetTextureSize().

Parameters
indexThe index of the texture coordinate set.
Returns
The horizontal (X, or U) texture coordinate reference size.

◆ GetTextureSizeY()

virtual Real Murl::Graph::IPlaneGeometry::GetTextureSizeY ( UInt32  index = 0) const
pure virtual

Get the vertical texture reference size.

See SetTextureSize().

Parameters
indexThe index of the texture coordinate set.
Returns
The vertical (Y, or V) texture coordinate reference size.

◆ SetTexCoord()

virtual Bool Murl::Graph::IPlaneGeometry::SetTexCoord ( Real  x1,
Real  y1,
Real  x2,
Real  y2,
UInt32  index = 0 
)
pure virtual

Set the plane's texture coordinates.

This method sets the plane's start and end texture coordinates, to allow for rendering only part of the currently active texture on the plane. All given texture coordinate values are divided by their respective reference sizes (See SetTextureSize() for description), before they are actually applied for rendering. Use the index parameter to specify the actual set of texture coordinates to modify, either 0 for TEXCOORD_0 or 1 for TEXCOORD_1.

Parameters
x1The start coordinate in X direction.
y1The start coordinate in Y direction.
x2The end coordinate in X direction.
y2The end coordinate in Y direction.
indexThe index of the texture coordinate set.
Returns
true if successful.

◆ SetTexCoord1()

virtual Bool Murl::Graph::IPlaneGeometry::SetTexCoord1 ( Real  x1,
Real  y1,
UInt32  index = 0 
)
pure virtual

Set the plane's start texture coordinates.

See SetTexCoord().

Parameters
x1The start coordinate in X direction.
y1The start coordinate in Y direction.
indexThe index of the texture coordinate set.
Returns
true if successful.

◆ SetTexCoord2()

virtual Bool Murl::Graph::IPlaneGeometry::SetTexCoord2 ( Real  x2,
Real  y2,
UInt32  index = 0 
)
pure virtual

Set the plane's end texture coordinates.

See SetTexCoord().

Parameters
x2The end coordinate in X direction.
y2The end coordinate in Y direction.
indexThe index of the texture coordinate set.
Returns
true if successful.

◆ SetTexCoordX1()

virtual Bool Murl::Graph::IPlaneGeometry::SetTexCoordX1 ( Real  x1,
UInt32  index = 0 
)
pure virtual

Set the plane's horizontal start texture coordinate.

See SetTexCoord().

Parameters
x1The start coordinate in X direction.
indexThe index of the texture coordinate set.
Returns
true if successful.

◆ SetTexCoordY1()

virtual Bool Murl::Graph::IPlaneGeometry::SetTexCoordY1 ( Real  y1,
UInt32  index = 0 
)
pure virtual

Set the plane's vertical start texture coordinates.

See SetTexCoord().

Parameters
y1The start coordinate in Y direction.
indexThe index of the texture coordinate set.
Returns
true if successful.

◆ SetTexCoordX2()

virtual Bool Murl::Graph::IPlaneGeometry::SetTexCoordX2 ( Real  x2,
UInt32  index = 0 
)
pure virtual

Set the plane's horizontal end texture coordinate.

See SetTexCoord().

Parameters
x2The end coordinate in X direction.
indexThe index of the texture coordinate set.
Returns
true if successful.

◆ SetTexCoordY2()

virtual Bool Murl::Graph::IPlaneGeometry::SetTexCoordY2 ( Real  y2,
UInt32  index = 0 
)
pure virtual

Set the plane's vertical end texture coordinates.

See SetTexCoord().

Parameters
y2The end coordinate in Y direction.
indexThe index of the texture coordinate set.
Returns
true if successful.

◆ GetTexCoordX1()

virtual Real Murl::Graph::IPlaneGeometry::GetTexCoordX1 ( UInt32  index = 0) const
pure virtual

Get the plane's horizontal start texture coordinate.

See SetTexCoord().

Parameters
indexThe index of the texture coordinate set.
Returns
The start coordinate in X direction.

◆ GetTexCoordY1()

virtual Real Murl::Graph::IPlaneGeometry::GetTexCoordY1 ( UInt32  index = 0) const
pure virtual

Get the plane's vertical start texture coordinate.

See SetTexCoord().

Parameters
indexThe index of the texture coordinate set.
Returns
The start coordinate in Y direction.

◆ GetTexCoordX2()

virtual Real Murl::Graph::IPlaneGeometry::GetTexCoordX2 ( UInt32  index = 0) const
pure virtual

Get the plane's horizontal end texture coordinate.

See SetTexCoord().

Parameters
indexThe index of the texture coordinate set.
Returns
The end coordinate in X direction.

◆ GetTexCoordY2()

virtual Real Murl::Graph::IPlaneGeometry::GetTexCoordY2 ( UInt32  index = 0) const
pure virtual

Get the plane's vertical end texture coordinate.

See SetTexCoord().

Parameters
indexThe index of the texture coordinate set.
Returns
The end coordinate in Y direction.

◆ SetFrameSize()

virtual Bool Murl::Graph::IPlaneGeometry::SetFrameSize ( Real  sizeX,
Real  sizeY 
)
pure virtual

Set the size of the display rectangle.

Parameters
sizeXThe rectangle width.
sizeYThe rectangle height.
Returns
true if successful.

◆ SetFrameSizeX()

virtual Bool Murl::Graph::IPlaneGeometry::SetFrameSizeX ( Real  sizeX)
pure virtual

Set the width of the display rectangle.

Parameters
sizeXThe rectangle width.
Returns
true if successful.

◆ SetFrameSizeY()

virtual Bool Murl::Graph::IPlaneGeometry::SetFrameSizeY ( Real  sizeY)
pure virtual

Set the height of the display rectangle.

Parameters
sizeYThe rectangle height.
Returns
true if successful.

◆ GetFrameSizeX()

virtual Real Murl::Graph::IPlaneGeometry::GetFrameSizeX ( ) const
pure virtual

Get the width of the display rectangle.

Returns
The rectangle width.

◆ GetFrameSizeY()

virtual Real Murl::Graph::IPlaneGeometry::GetFrameSizeY ( ) const
pure virtual

Get the height of the display rectangle.

Returns
The rectangle height.

◆ SetContainerAlignment()

virtual Bool Murl::Graph::IPlaneGeometry::SetContainerAlignment ( IEnums::AlignmentX  alignmentX,
IEnums::AlignmentY  alignmentY 
)
pure virtual

Set the horizontal container alignment.

The given alignment values specify how the text container is actually positioned with respect to the node's world position.

Parameters
alignmentXThe horizontal container alignment.
alignmentYThe vertical container alignment.
Returns
true if successful.

◆ SetContainerAlignmentX()

virtual Bool Murl::Graph::IPlaneGeometry::SetContainerAlignmentX ( IEnums::AlignmentX  alignmentX)
pure virtual

Set the horizontal container alignment.

See SetContainerAlignment().

Parameters
alignmentXThe horizontal container alignment.
Returns
true if successful.

◆ SetContainerAlignmentY()

virtual Bool Murl::Graph::IPlaneGeometry::SetContainerAlignmentY ( IEnums::AlignmentY  alignmentY)
pure virtual

Set the vertical container alignment.

See SetContainerAlignment().

Parameters
alignmentYThe vertical container alignment.
Returns
true if successful.

◆ GetContainerAlignmentX()

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

Get the horizontal container alignment.

Returns
The horizontal container alignment.

◆ GetContainerAlignmentY()

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

Get the vertical container alignment.

Returns
The vertical container alignment.

◆ SetBorder()

virtual Bool Murl::Graph::IPlaneGeometry::SetBorder ( Real  borderX,
Real  borderY 
)
pure virtual

Set the horizontal and vertical borders used for alignment.

Parameters
borderXThe horizontal border.
borderYThe vertical border.
Returns
true if successful.

◆ SetBorderX()

virtual Bool Murl::Graph::IPlaneGeometry::SetBorderX ( Real  borderX)
pure virtual

Set the horizontal border used for alignment.

Parameters
borderXThe horizontal border.
Returns
true if successful.

◆ SetBorderY()

virtual Bool Murl::Graph::IPlaneGeometry::SetBorderY ( Real  borderY)
pure virtual

Set the vertical border used for alignment.

Parameters
borderYThe vertical border.
Returns
true if successful.

◆ GetBorderX()

virtual Real Murl::Graph::IPlaneGeometry::GetBorderX ( ) const
pure virtual

Get the horizontal border used for alignment.

Returns
The horizontal border.

◆ GetBorderY()

virtual Real Murl::Graph::IPlaneGeometry::GetBorderY ( ) const
pure virtual

Get the vertical border used for alignment.

Returns
The vertical border.

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


Copyright © 2011-2024 Spraylight GmbH.