Murl::Graph::IGenericGeometry Interface Referenceabstract

The IGenericGeometry graph node interface. More...

#include "murl_graph_i_generic_geometry.h"

Inheritance diagram for Murl::Graph::IGenericGeometry:

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 Bool SetBoundingBox (const Box &boundingBox)=0
 Set the bounding box used for culling and aligning. More...
 
virtual const Box & GetBoundingBox () const =0
 Get the bounding box used for culling and aligning. 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::IIndexBuffer
virtual Bool SetIndexBufferAccessMode (IEnums::BufferAccessMode mode)=0
 Set the buffer access mode. More...
 
virtual IEnums::BufferAccessMode GetIndexBufferAccessMode () const =0
 Get the buffer access mode. More...
 
virtual Bool SetMaxNumberOfIndices (UInt32 maxNumberOfIndices, Bool preserveContents)=0
 Set the maximum number of indices the index buffer can hold. More...
 
virtual UInt32 GetMaxNumberOfIndices () const =0
 Get the maximum number of indices the index buffer can hold. More...
 
virtual Bool SetIndexType (IEnums::IndexType type)=0
 Set the data type of the indices stored in the buffer. More...
 
virtual IEnums::IndexType GetIndexType () const =0
 Get the data type of the indices stored in the buffer. More...
 
virtual UInt32 GetIndexByteSize () const =0
 Get the number of bytes of a single index element stored. More...
 
virtual void * GetIndexData ()=0
 Retrieve a mutable pointer to the index data stored in the buffer. More...
 
virtual const void * GetIndexData () const =0
 Retrieve a constant pointer to the index data stored in the buffer. More...
 
virtual Bool SetNumberOfIndices (UInt32 numberOfIndices)=0
 Set the actual number of indices currently used. More...
 
virtual Bool SetIndicesModified ()=0
 Mark the whole index buffer as modified. More...
 
virtual Bool SetIndicesModified (UInt32 firstIndex, UInt32 numberOfIndices)=0
 Mark a portion of the index buffer as modified. More...
 
- Public Member Functions inherited from Murl::Graph::IVertexBuffer
virtual Bool SetVertexBufferAccessMode (IEnums::BufferAccessMode mode)=0
 Set the buffer access mode. More...
 
virtual IEnums::BufferAccessMode GetVertexBufferAccessMode () const =0
 Get the buffer access mode. More...
 
virtual Bool SetMaxNumberOfVertices (UInt32 maxNumberOfVertices, Bool preserveContents)=0
 Set the maximum number of vertices the vertex buffer can hold. More...
 
virtual UInt32 GetMaxNumberOfVertices () const =0
 Get the maximum number of vertices the vertex buffer can hold. More...
 
virtual Bool SetVertexByteSize (UInt32 byteSize)=0
 Explicitly set the total byte size of single vertex element. More...
 
virtual UInt32 GetVertexByteSize () const =0
 Get the total byte size of single vertex element in the buffer. More...
 
virtual void * GetVertexData ()=0
 Retrieve a mutable pointer to the vertex data stored in the buffer. More...
 
virtual const void * GetVertexData () const =0
 Retrieve a constant pointer to the vertex data stored in the buffer. More...
 
virtual Bool SetNumberOfVertices (UInt32 numberOfVertices)=0
 Set the actual number of vertices currently used. More...
 
virtual Bool SetVerticesModified ()=0
 Mark the whole vertex buffer as modified. More...
 
virtual Bool SetVerticesModified (UInt32 firstVertex, UInt32 numberOfVertices)=0
 Mark a portion of the vertex buffer as modified. More...
 
virtual Video::IVertexBuffer * GetVideoObject ()=0
 Returns the underlying video vertex buffer object. More...
 
- Public Member Functions inherited from Murl::Graph::IAttributeContainer
virtual SInt32 AddAttribute (IEnums::AttributeItem item, IEnums::AttributeType type, UInt32 &byteOffset)=0
 Add a predefined vertex attribute. More...
 
virtual SInt32 AddAttribute (const String &name, IEnums::AttributeType type, UInt32 &byteOffset)=0
 Add a user-defined vertex attribute. More...
 
virtual SInt32 GetAttributeIndex (IEnums::AttributeItem item) const =0
 Query the location of a predefined attribute in the container. More...
 
virtual SInt32 GetAttributeIndex (const String &name) const =0
 Query the location of a user-defined attribute in the container. More...
 
virtual UInt32 GetNumberOfAttributes () const =0
 Get the total number of individual attributes in the container. More...
 
virtual IEnums::AttributeType GetAttributeType (UInt32 index) const =0
 Query the type of an attribute at a given index. More...
 
virtual IEnums::AttributeItem GetAttributeItem (UInt32 index) const =0
 Query the predefined item of an attribute at a given index. More...
 
virtual const String & GetAttributeName (UInt32 index) const =0
 Query the variable name of an attribute at a given index. More...
 
virtual UInt32 GetAttributeByteOffset (UInt32 index) const =0
 Get the byte offset of an attribute at a given index. More...
 
virtual IAttribute * GetAttribute (UInt32 index) const =0
 Get the attribute object at a given index. More...
 
virtual IFloatAttribute * GetFloatAttribute (UInt32 index) const =0
 Get the attribute at a given index as a scalar float object. More...
 
virtual IFloatVector2Attribute * GetFloatVector2Attribute (UInt32 index) const =0
 Get the attribute at a given index as a 2-component float vector object. More...
 
virtual IFloatVector3Attribute * GetFloatVector3Attribute (UInt32 index) const =0
 Get the attribute at a given index as a 3-component float vector object. More...
 
virtual IFloatVector4Attribute * GetFloatVector4Attribute (UInt32 index) const =0
 Get the attribute at a given index as a 4-component float vector object. More...
 
virtual IUInt8Attribute * GetUInt8Attribute (UInt32 index) const =0
 Get the attribute at a given index as a scalar UInt8 object. More...
 
virtual IUInt8Vector2Attribute * GetUInt8Vector2Attribute (UInt32 index) const =0
 Get the attribute at a given index as a 2-component UInt8 vector object. More...
 
virtual IUInt8Vector3Attribute * GetUInt8Vector3Attribute (UInt32 index) const =0
 Get the attribute at a given index as a 3-component UInt8 vector object. More...
 
virtual IUInt8Vector4Attribute * GetUInt8Vector4Attribute (UInt32 index) const =0
 Get the attribute at a given index as a 4-component UInt8 vector object. More...
 
virtual ISInt8Attribute * GetSInt8Attribute (UInt32 index) const =0
 Get the attribute at a given index as a scalar SInt8 object. More...
 
virtual ISInt8Vector2Attribute * GetSInt8Vector2Attribute (UInt32 index) const =0
 Get the attribute at a given index as a 2-component SInt8 vector object. More...
 
virtual ISInt8Vector3Attribute * GetSInt8Vector3Attribute (UInt32 index) const =0
 Get the attribute at a given index as a 3-component SInt8 vector object. More...
 
virtual ISInt8Vector4Attribute * GetSInt8Vector4Attribute (UInt32 index) const =0
 Get the attribute at a given index as a 4-component SInt8 vector object. More...
 
virtual IUInt16Attribute * GetUInt16Attribute (UInt32 index) const =0
 Get the attribute at a given index as a scalar UInt16 object. More...
 
virtual IUInt16Vector2Attribute * GetUInt16Vector2Attribute (UInt32 index) const =0
 Get the attribute at a given index as a 2-component UInt16 vector object. More...
 
virtual IUInt16Vector3Attribute * GetUInt16Vector3Attribute (UInt32 index) const =0
 Get the attribute at a given index as a 3-component UInt16 vector object. More...
 
virtual IUInt16Vector4Attribute * GetUInt16Vector4Attribute (UInt32 index) const =0
 Get the attribute at a given index as a 4-component UInt16 vector object. More...
 
virtual ISInt16Attribute * GetSInt16Attribute (UInt32 index) const =0
 Get the attribute at a given index as a scalar SInt16 object. More...
 
virtual ISInt16Vector2Attribute * GetSInt16Vector2Attribute (UInt32 index) const =0
 Get the attribute at a given index as a 2-component SInt16 vector object. More...
 
virtual ISInt16Vector3Attribute * GetSInt16Vector3Attribute (UInt32 index) const =0
 Get the attribute at a given index as a 3-component SInt16 vector object. More...
 
virtual ISInt16Vector4Attribute * GetSInt16Vector4Attribute (UInt32 index) const =0
 Get the attribute at a given index as a 4-component SInt16 vector object. More...
 
virtual IUInt32Attribute * GetUInt32Attribute (UInt32 index) const =0
 Get the attribute at a given index as a scalar UInt32 object. More...
 
virtual IUInt32Vector2Attribute * GetUInt32Vector2Attribute (UInt32 index) const =0
 Get the attribute at a given index as a 2-component UInt32 vector object. More...
 
virtual IUInt32Vector3Attribute * GetUInt32Vector3Attribute (UInt32 index) const =0
 Get the attribute at a given index as a 3-component UInt32 vector object. More...
 
virtual IUInt32Vector4Attribute * GetUInt32Vector4Attribute (UInt32 index) const =0
 Get the attribute at a given index as a 4-component UInt32 vector object. More...
 
virtual ISInt32Attribute * GetSInt32Attribute (UInt32 index) const =0
 Get the attribute at a given index as a scalar SInt32 object. More...
 
virtual ISInt32Vector2Attribute * GetSInt32Vector2Attribute (UInt32 index) const =0
 Get the attribute at a given index as a 2-component SInt32 vector object. More...
 
virtual ISInt32Vector3Attribute * GetSInt32Vector3Attribute (UInt32 index) const =0
 Get the attribute at a given index as a 3-component SInt32 vector object. More...
 
virtual ISInt32Vector4Attribute * GetSInt32Vector4Attribute (UInt32 index) const =0
 Get the attribute at a given index as a 4-component SInt32 vector object. More...
 
virtual IUInt8Attribute * GetNormalizedUInt8Attribute (UInt32 index) const =0
 Get the attribute at a given index as a normalized scalar UInt8 object. More...
 
virtual IUInt8Vector2Attribute * GetNormalizedUInt8Vector2Attribute (UInt32 index) const =0
 Get the attribute at a given index as a normalized 2-component UInt8 vector object. More...
 
virtual IUInt8Vector3Attribute * GetNormalizedUInt8Vector3Attribute (UInt32 index) const =0
 Get the attribute at a given index as a normalized 3-component UInt8 vector object. More...
 
virtual IUInt8Vector4Attribute * GetNormalizedUInt8Vector4Attribute (UInt32 index) const =0
 Get the attribute at a given index as a normalized 4-component UInt8 vector object. More...
 
virtual ISInt8Attribute * GetNormalizedSInt8Attribute (UInt32 index) const =0
 Get the attribute at a given index as a normalized scalar SInt8 object. More...
 
virtual ISInt8Vector2Attribute * GetNormalizedSInt8Vector2Attribute (UInt32 index) const =0
 Get the attribute at a given index as a normalized 2-component SInt8 vector object. More...
 
virtual ISInt8Vector3Attribute * GetNormalizedSInt8Vector3Attribute (UInt32 index) const =0
 Get the attribute at a given index as a normalized 3-component SInt8 vector object. More...
 
virtual ISInt8Vector4Attribute * GetNormalizedSInt8Vector4Attribute (UInt32 index) const =0
 Get the attribute at a given index as a normalized 4-component SInt8 vector object. More...
 
virtual IUInt16Attribute * GetNormalizedUInt16Attribute (UInt32 index) const =0
 Get the attribute at a given index as a normalized scalar UInt16 object. More...
 
virtual IUInt16Vector2Attribute * GetNormalizedUInt16Vector2Attribute (UInt32 index) const =0
 Get the attribute at a given index as a normalized 2-component UInt16 vector object. More...
 
virtual IUInt16Vector3Attribute * GetNormalizedUInt16Vector3Attribute (UInt32 index) const =0
 Get the attribute at a given index as a normalized 3-component UInt16 vector object. More...
 
virtual IUInt16Vector4Attribute * GetNormalizedUInt16Vector4Attribute (UInt32 index) const =0
 Get the attribute at a given index as a normalized 4-component UInt16 vector object. More...
 
virtual ISInt16Attribute * GetNormalizedSInt16Attribute (UInt32 index) const =0
 Get the attribute at a given index as a normalized scalar SInt16 object. More...
 
virtual ISInt16Vector2Attribute * GetNormalizedSInt16Vector2Attribute (UInt32 index) const =0
 Get the attribute at a given index as a normalized 2-component SInt16 vector object. More...
 
virtual ISInt16Vector3Attribute * GetNormalizedSInt16Vector3Attribute (UInt32 index) const =0
 Get the attribute at a given index as a normalized 3-component SInt16 vector object. More...
 
virtual ISInt16Vector4Attribute * GetNormalizedSInt16Vector4Attribute (UInt32 index) const =0
 Get the attribute at a given index as a normalized 4-component SInt16 vector object. More...
 

Detailed Description

The IGenericGeometry graph node interface.

This interface represents a generic geometry object for rendering, composed of a vertex buffer holding individual vertices with different attributes, and an index buffer holding a sequence of indices into that vertex buffer.

Use the Graph::IVertexBuffer and Graph::IIndexBuffer base interfaces to access the underlying vertex and index data, respectively.

Member Function Documentation

◆ GetNodeInterface() [1/2]

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

◆ SetBoundingBox()

virtual Bool Murl::Graph::IGenericGeometry::SetBoundingBox ( const Box &  boundingBox)
pure virtual

Set the bounding box used for culling and aligning.

Parameters
boundingBoxThe bounding box.
Returns
true if successful.

◆ GetBoundingBox()

virtual const Box& Murl::Graph::IGenericGeometry::GetBoundingBox ( ) const
pure virtual

Get the bounding box used for culling and aligning.

Returns
The bounding box.

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


Copyright © 2011-2026 Spraylight GmbH.