![]() |
Murl Engine API
Version 2018.3
|
The IPlaneSequenceGeometry graph node interface. More...
#include <murl_graph_i_plane_sequence_geometry.h>
The IPlaneSequenceGeometry graph node interface.
This interface represents a flat rectangular geometry object (quad) in world space that retrieves its actual size and texture coordinates from a given Resource::IAtlas object.
Use the Graph::IIndexed base interface to access the individual rectangles stored in the referenced resource atlas.
Use the Graph::IScalable base interface to set an overall scaling factor for the geometry.
See Graph::IPlaneGeometry for a non-animated version.
Public Member Functions | |
virtual INode * | GetNodeInterface ()=0 |
Get the mutable Graph::INode interface. More... | |
virtual const INode * | GetNodeInterface () const =0 |
Get the constant Graph::INode interface. More... | |
virtual ITransform * | GetTransformInterface ()=0 |
Get the mutable Graph::ITransform interface. More... | |
virtual const ITransform * | GetTransformInterface () const =0 |
Get the constant Graph::ITransform interface. More... | |
virtual IAtlasResourceTarget * | GetAtlasResourceTarget ()=0 |
Get a mutable Graph::IAtlasResourceTarget container. More... | |
virtual const IAtlasResourceTarget * | GetAtlasResourceTarget () const =0 |
Get a constant Graph::IAtlasResourceTarget container. 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 Real | GetFrameSizeX () const =0 |
Get the width of the currently displayed atlas rectangle. More... | |
virtual Real | GetFrameSizeY () const =0 |
Get the height of the currently displayed atlas rectangle. More... | |
virtual Real | GetFrameSizeX (UInt32 frameIndex) const =0 |
Get the width of a given atlas rectangle. More... | |
virtual Real | GetFrameSizeY (UInt32 frameIndex) const =0 |
Get the height of a given atlas 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... | |
virtual Bool | SetRectangleName (const String &rectangleName)=0 |
Set the current atlas rectangle by name. More... | |
virtual String | GetRectangleName () const =0 |
Get the current rectangle's name. More... | |
![]() | |
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 | 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 | SetCpuSkinningEnabled (Bool enabled)=0 |
Enable/disable CPU vertex skinning. More... | |
virtual Bool | IsCpuSkinningEnabled () const =0 |
Check if CPU vertex skinning is enabled. More... | |
![]() | |
virtual Bool | SetIndex (SInt32 index)=0 |
Set the current index. More... | |
virtual SInt32 | GetIndex () const =0 |
Get the current index. More... | |
virtual SInt32 | GetFirstIndex () const =0 |
Get the lowest valid index. More... | |
virtual UInt32 | GetNumberOfIndices () const =0 |
Get the total number of valid indices. More... | |
![]() | |
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 Vector & | GetScaleFactor () 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... | |
|
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.
|
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.
|
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.
|
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.
|
pure virtual |
Get a mutable Graph::IAtlasResourceTarget container.
This method returns a mutable pointer to a Graph::IAtlasResourceTarget container, which allows to add, remove or query the atlas resources referenced by a node implementing this interface.
|
pure virtual |
Get a constant Graph::IAtlasResourceTarget container.
This method returns a constant pointer to a Graph::IAtlasResourceTarget container, which allows to query the atlas resources referenced by a node implementing this interface.
|
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.
item | The item to add. |
|
pure virtual |
Remove an attribute item frome the plane's vertex data prior to initialization.
See AddAttribute().
item | The item to remove. |
|
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. Note, that it may also be necessary to set these values depending on the actual texture coordinates stored in the Resource::IAtlas that is referenced; it is often desired to store an atlas' texture coordinates with an already present scale factor. 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.
sizeX | The horizontal (X, or U) texture coordinate reference size. |
sizeY | The vertical (Y, or V) texture coordinate reference size. |
index | The index of the texture coordinate set. |
|
pure virtual |
Set the horizontal texture reference size.
See SetTextureSize().
sizeX | The horizontal (X, or U) texture coordinate reference size. |
index | The index of the texture coordinate set. |
|
pure virtual |
Set the vertical texture reference size.
See SetTextureSize().
sizeY | The vertical (Y, or V) texture coordinate reference size. |
index | The index of the texture coordinate set. |
|
pure virtual |
Get the horizontal texture reference size.
See SetTextureSize().
index | The index of the texture coordinate set. |
|
pure virtual |
Get the vertical texture reference size.
See SetTextureSize().
index | The index of the texture coordinate set. |
|
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. An IPlaneSequenceGeometry directly takes the texture coordinates for set #0 from the given atlas resource, so this method only accepts the value 1 for the index parameter to set texture coordinates for set #1 (TEXCOORD_1).
x1 | The start coordinate in X direction. |
y1 | The start coordinate in Y direction. |
x2 | The end coordinate in X direction. |
y2 | The end coordinate in Y direction. |
index | The index of the texture coordinate set. |
|
pure virtual |
Set the plane's start texture coordinates.
See SetTexCoord().
x1 | The start coordinate in X direction. |
y1 | The start coordinate in Y direction. |
index | The index of the texture coordinate set. |
|
pure virtual |
Set the plane's end texture coordinates.
See SetTexCoord().
x2 | The end coordinate in X direction. |
y2 | The end coordinate in Y direction. |
index | The index of the texture coordinate set. |
|
pure virtual |
Set the plane's horizontal start texture coordinate.
See SetTexCoord().
x1 | The start coordinate in X direction. |
index | The index of the texture coordinate set. |
|
pure virtual |
Set the plane's vertical start texture coordinates.
See SetTexCoord().
y1 | The start coordinate in Y direction. |
index | The index of the texture coordinate set. |
|
pure virtual |
Set the plane's horizontal end texture coordinate.
See SetTexCoord().
x2 | The end coordinate in X direction. |
index | The index of the texture coordinate set. |
|
pure virtual |
Set the plane's vertical end texture coordinates.
See SetTexCoord().
y2 | The end coordinate in Y direction. |
index | The index of the texture coordinate set. |
|
pure virtual |
Get the plane's horizontal start texture coordinate.
See SetTexCoord().
index | The index of the texture coordinate set. |
|
pure virtual |
Get the plane's vertical start texture coordinate.
See SetTexCoord().
index | The index of the texture coordinate set. |
|
pure virtual |
Get the plane's horizontal end texture coordinate.
See SetTexCoord().
index | The index of the texture coordinate set. |
|
pure virtual |
Get the plane's vertical end texture coordinate.
See SetTexCoord().
index | The index of the texture coordinate set. |
|
pure virtual |
Get the width of the currently displayed atlas rectangle.
|
pure virtual |
Get the height of the currently displayed atlas rectangle.
|
pure virtual |
Get the width of a given atlas rectangle.
frameIndex | The zero-based index into the referenced atlas resource's rectangles. |
|
pure virtual |
Get the height of a given atlas rectangle.
frameIndex | The zero-based index into the referenced atlas resource's rectangles. |
|
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.
alignmentX | The horizontal container alignment. |
alignmentY | The vertical container alignment. |
|
pure virtual |
Set the horizontal container alignment.
alignmentX | The horizontal container alignment. |
|
pure virtual |
Set the vertical container alignment.
alignmentY | The vertical container alignment. |
|
pure virtual |
Get the horizontal container alignment.
|
pure virtual |
Get the vertical container alignment.
|
pure virtual |
Set the horizontal and vertical borders used for alignment.
borderX | The horizontal border. |
borderY | The vertical border. |
Set the horizontal border used for alignment.
borderX | The horizontal border. |
Set the vertical border used for alignment.
borderY | The vertical border. |
|
pure virtual |
Get the horizontal border used for alignment.
|
pure virtual |
Get the vertical border used for alignment.
|
pure virtual |
Set the current atlas rectangle by name.
If the given name is empty, the rectangle is explicitly set via a given index (see SetIndex()). This method fails if no atlas resource is set, or the given name is not found within the atlas resource.
rectangleName | The rectangle name. |
|
pure virtual |
Get the current rectangle's name.
This method returns an empty string when no atlas resource is defined or the currently active rectangle is unnamed.