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 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 SetBoundingBox (const Box &boundingBox)=0
 Set the bounding box used for culling and aligning. More...
 
virtual const BoxGetBoundingBox () 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 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...
 
- 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...
 
- 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 StringGetAttributeName (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 IAttributeGetAttribute (UInt32 index) const =0
 Get the attribute object at a given index. More...
 
virtual IFloatAttributeGetFloatAttribute (UInt32 index) const =0
 Get the attribute at a given index as a scalar float object. More...
 
virtual IFloatVector2AttributeGetFloatVector2Attribute (UInt32 index) const =0
 Get the attribute at a given index as a 2-component float vector object. More...
 
virtual IFloatVector3AttributeGetFloatVector3Attribute (UInt32 index) const =0
 Get the attribute at a given index as a 3-component float vector object. More...
 
virtual IFloatVector4AttributeGetFloatVector4Attribute (UInt32 index) const =0
 Get the attribute at a given index as a 4-component float vector object. More...
 
virtual IUInt8AttributeGetUInt8Attribute (UInt32 index) const =0
 Get the attribute at a given index as a scalar UInt8 object. More...
 
virtual IUInt8Vector2AttributeGetUInt8Vector2Attribute (UInt32 index) const =0
 Get the attribute at a given index as a 2-component UInt8 vector object. More...
 
virtual IUInt8Vector3AttributeGetUInt8Vector3Attribute (UInt32 index) const =0
 Get the attribute at a given index as a 3-component UInt8 vector object. More...
 
virtual IUInt8Vector4AttributeGetUInt8Vector4Attribute (UInt32 index) const =0
 Get the attribute at a given index as a 4-component UInt8 vector object. More...
 
virtual ISInt8AttributeGetSInt8Attribute (UInt32 index) const =0
 Get the attribute at a given index as a scalar SInt8 object. More...
 
virtual ISInt8Vector2AttributeGetSInt8Vector2Attribute (UInt32 index) const =0
 Get the attribute at a given index as a 2-component SInt8 vector object. More...
 
virtual ISInt8Vector3AttributeGetSInt8Vector3Attribute (UInt32 index) const =0
 Get the attribute at a given index as a 3-component SInt8 vector object. More...
 
virtual ISInt8Vector4AttributeGetSInt8Vector4Attribute (UInt32 index) const =0
 Get the attribute at a given index as a 4-component SInt8 vector object. More...
 
virtual IUInt16AttributeGetUInt16Attribute (UInt32 index) const =0
 Get the attribute at a given index as a scalar UInt16 object. More...
 
virtual IUInt16Vector2AttributeGetUInt16Vector2Attribute (UInt32 index) const =0
 Get the attribute at a given index as a 2-component UInt16 vector object. More...
 
virtual IUInt16Vector3AttributeGetUInt16Vector3Attribute (UInt32 index) const =0
 Get the attribute at a given index as a 3-component UInt16 vector object. More...
 
virtual IUInt16Vector4AttributeGetUInt16Vector4Attribute (UInt32 index) const =0
 Get the attribute at a given index as a 4-component UInt16 vector object. More...
 
virtual ISInt16AttributeGetSInt16Attribute (UInt32 index) const =0
 Get the attribute at a given index as a scalar SInt16 object. More...
 
virtual ISInt16Vector2AttributeGetSInt16Vector2Attribute (UInt32 index) const =0
 Get the attribute at a given index as a 2-component SInt16 vector object. More...
 
virtual ISInt16Vector3AttributeGetSInt16Vector3Attribute (UInt32 index) const =0
 Get the attribute at a given index as a 3-component SInt16 vector object. More...
 
virtual ISInt16Vector4AttributeGetSInt16Vector4Attribute (UInt32 index) const =0
 Get the attribute at a given index as a 4-component SInt16 vector object. More...
 
virtual IUInt8AttributeGetNormalizedUInt8Attribute (UInt32 index) const =0
 Get the attribute at a given index as a normalized scalar UInt8 object. More...
 
virtual IUInt8Vector2AttributeGetNormalizedUInt8Vector2Attribute (UInt32 index) const =0
 Get the attribute at a given index as a normalized 2-component UInt8 vector object. More...
 
virtual IUInt8Vector3AttributeGetNormalizedUInt8Vector3Attribute (UInt32 index) const =0
 Get the attribute at a given index as a normalized 3-component UInt8 vector object. More...
 
virtual IUInt8Vector4AttributeGetNormalizedUInt8Vector4Attribute (UInt32 index) const =0
 Get the attribute at a given index as a normalized 4-component UInt8 vector object. More...
 
virtual ISInt8AttributeGetNormalizedSInt8Attribute (UInt32 index) const =0
 Get the attribute at a given index as a normalized scalar SInt8 object. More...
 
virtual ISInt8Vector2AttributeGetNormalizedSInt8Vector2Attribute (UInt32 index) const =0
 Get the attribute at a given index as a normalized 2-component SInt8 vector object. More...
 
virtual ISInt8Vector3AttributeGetNormalizedSInt8Vector3Attribute (UInt32 index) const =0
 Get the attribute at a given index as a normalized 3-component SInt8 vector object. More...
 
virtual ISInt8Vector4AttributeGetNormalizedSInt8Vector4Attribute (UInt32 index) const =0
 Get the attribute at a given index as a normalized 4-component SInt8 vector object. More...
 
virtual IUInt16AttributeGetNormalizedUInt16Attribute (UInt32 index) const =0
 Get the attribute at a given index as a normalized scalar UInt16 object. More...
 
virtual IUInt16Vector2AttributeGetNormalizedUInt16Vector2Attribute (UInt32 index) const =0
 Get the attribute at a given index as a normalized 2-component UInt16 vector object. More...
 
virtual IUInt16Vector3AttributeGetNormalizedUInt16Vector3Attribute (UInt32 index) const =0
 Get the attribute at a given index as a normalized 3-component UInt16 vector object. More...
 
virtual IUInt16Vector4AttributeGetNormalizedUInt16Vector4Attribute (UInt32 index) const =0
 Get the attribute at a given index as a normalized 4-component UInt16 vector object. More...
 
virtual ISInt16AttributeGetNormalizedSInt16Attribute (UInt32 index) const =0
 Get the attribute at a given index as a normalized scalar SInt16 object. More...
 
virtual ISInt16Vector2AttributeGetNormalizedSInt16Vector2Attribute (UInt32 index) const =0
 Get the attribute at a given index as a normalized 2-component SInt16 vector object. More...
 
virtual ISInt16Vector3AttributeGetNormalizedSInt16Vector3Attribute (UInt32 index) const =0
 Get the attribute at a given index as a normalized 3-component SInt16 vector object. More...
 
virtual ISInt16Vector4AttributeGetNormalizedSInt16Vector4Attribute (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-2018 Spraylight GmbH.