AGX Dynamics 2.37.3.4
Loading...
Searching...
No Matches
agxCollide::RenderData Class Reference

Class for storing rendering information for a Shape. More...

#include <RenderData.h>

+ Inheritance diagram for agxCollide::RenderData:

Public Types

enum  Mode { TRIANGLES =4 }
 Specifies which type of primitive this render data represents. More...
 
enum  StateInfo { STANDARD =0x0 , NO_RENDER =0x1 }
 

Public Member Functions

 RenderData ()
 Constructor.
 
 AGXSTREAM_DECLARE_SERIALIZABLE_BASE (agxCollide::RenderData)
 
RenderDataclone () const
 Returns an exact copy of the render data as a new object.
 
agx::Vec4VectorgetColorArray ()
 
const agx::Vec4VectorgetColorArray () const
 
agx::UInt32VectorgetIndexArray ()
 
const agx::UInt32VectorgetIndexArray () const
 
Mode getMode () const
 
agx::Vec3VectorgetNormalArray ()
 
const agx::Vec3VectorgetNormalArray () const
 
agxCollide::RenderMaterialgetRenderMaterial () const
 
bool getShouldRender () const
 
agx::Vec2VectorgetTexCoordArray ()
 
const agx::Vec2VectorgetTexCoordArray () const
 
agx::Vec3VectorgetVertexArray ()
 
const agx::Vec3VectorgetVertexArray () const
 
bool hasRenderMaterial () const
 
void setColorArray (const agx::Vec4Vector &color)
 Set and copy the per vertex colors.
 
void setIndexArray (const agx::UInt32Vector &indices, Mode mode)
 Set the indices.
 
void setNormalArray (const agx::Vec3Vector &normals)
 Set the per vertex normals.
 
void setRenderMaterial (agxCollide::RenderMaterial *renderMaterial)
 Set the renderMaterial of this RenderData.
 
void setShouldRender (bool shouldRender)
 Set if the data stored should be rendered at all.
 
void setTexCoordArray (const agx::Vec2Vector &texCoords)
 Set the per vertex texture coordinates.
 
void setVertexArray (const agx::Vec3Vector &vertices)
 Set the vertices.
 
- Public Member Functions inherited from agx::Referenced
 Referenced ()
 Default constructor.
 
 Referenced (const Referenced &)
 
template<typename T >
T * as ()
 Subclass casting.
 
template<typename T >
const T * as () const
 
template<typename T >
T * asSafe ()
 Safe subclass casting, return nullptr if template type does not match.
 
template<typename T >
const T * asSafe () const
 
int getReferenceCount () const
 
template<typename T >
bool is () const
 Subclass test.
 
Referencedoperator= (const Referenced &)
 Assignment operator. Will increment the number of references to the referenced object.
 
void reference (void *ptr=nullptr) const
 Explicitly increment the reference count by one, indicating that this object has another pointer which is referencing it.
 
void unreference (void *ptr=nullptr) const
 Decrement the reference count by one, indicating that a pointer to this object is referencing it.
 
void unreference_nodelete () const
 Decrement the reference count by one, indicating that a pointer to this object is referencing it.
 
- Public Member Functions inherited from agxStream::Serializable
virtual ~Serializable ()
 Destructor for normal C++ use but hidden from SWIG bindings.
 
virtual const char * getClassName () const
 
bool getEnableSerialization () const
 
bool getEnableUuidGeneration ()
 
agx::UInt32 getIndex () const
 This index is given at creation of this object.
 
virtual StorageAgent * getStorageAgent () const =0
 
agx::Uuid getUuid () const
 
bool isFinished () const
 
void setEnableSerialization (bool flag)
 Set to false to disable serialization of this object.
 
void setFinished ()
 Tells this class that it is restored correctly and should not be deleted during destruction of an Archive.
 
void setUuid (const agx::Uuid &uuid)
 Explicitly set a Uuid on a serializable object.
 

Static Public Member Functions

static agxStream::Serializablecreate (agxStream::InputArchive &)
 
- Static Public Member Functions inherited from agx::Referenced
template<typename T >
static bool ValidateCast (const Referenced *object)
 
- Static Public Member Functions inherited from agxStream::Serializable
static void setEnableUuidGeneration (bool flag)
 Specify if there should be UUID:s generated for each new Serializable object. By default it is enabled.
 

Protected Member Functions

virtual ~RenderData ()
 
- Protected Member Functions inherited from agx::Referenced
virtual ~Referenced ()
 Destructor.
 
void allocateObserverVector () const
 
void deleteUsingDeleteHandler () const
 
- Protected Member Functions inherited from agxStream::Serializable
 Serializable ()
 Default constructor.
 
 Serializable (const Serializable &other)
 Copy constructor.
 
void generateUuid ()
 

Protected Attributes

agx::UInt32Vector m_indices
 
Mode m_mode
 
agx::Vec3Vector m_normals
 
agxCollide::RenderMaterialRef m_renderMaterial
 
agx::UInt32 m_renderState
 
agx::Vec2Vector m_texCoords
 
agx::Vec4Vector m_vertexColor
 
agx::Vec3Vector m_vertices
 
- Protected Attributes inherited from agx::Referenced
Mutex m_mutex
 
ObserverContainer m_observers
 
AtomicValue m_refCount
 

Additional Inherited Members

- Static Protected Member Functions inherited from agx::Referenced
static DeleteHandlergetDeleteHandler ()
 
static void setDeleteHandler (DeleteHandler *handler)
 Internal: Set a DeleteHandler to which deletion of all referenced counted objects will be delegated to.
 

Detailed Description

Class for storing rendering information for a Shape.

This data can later be accessed by a rendering engine. You can also derive from this class and implement your own containing more relevant information for your specific needs, such as textures, multitexcoords, shaders etc. Just make sure you implement the store/restore method too.

Definition at line 38 of file RenderData.h.

Member Enumeration Documentation

◆ Mode

Specifies which type of primitive this render data represents.

Enumerator
TRIANGLES 

Definition at line 43 of file RenderData.h.

◆ StateInfo

Enumerator
STANDARD 
NO_RENDER 

Definition at line 57 of file RenderData.h.

Constructor & Destructor Documentation

◆ RenderData()

agxCollide::RenderData::RenderData ( )

Constructor.

◆ ~RenderData()

virtual agxCollide::RenderData::~RenderData ( )
protectedvirtual

Member Function Documentation

◆ AGXSTREAM_DECLARE_SERIALIZABLE_BASE()

agxCollide::RenderData::AGXSTREAM_DECLARE_SERIALIZABLE_BASE ( agxCollide::RenderData  )

◆ clone()

RenderData * agxCollide::RenderData::clone ( ) const

Returns an exact copy of the render data as a new object.

◆ create()

static agxStream::Serializable * agxCollide::RenderData::create ( agxStream::InputArchive )
inlinestatic

Definition at line 124 of file RenderData.h.

◆ getColorArray() [1/2]

agx::Vec4Vector & agxCollide::RenderData::getColorArray ( )

◆ getColorArray() [2/2]

const agx::Vec4Vector & agxCollide::RenderData::getColorArray ( ) const
Returns
a reference to the per vertex colors

◆ getIndexArray() [1/2]

agx::UInt32Vector & agxCollide::RenderData::getIndexArray ( )

◆ getIndexArray() [2/2]

const agx::UInt32Vector & agxCollide::RenderData::getIndexArray ( ) const
Returns
a reference to the indices

◆ getMode()

Mode agxCollide::RenderData::getMode ( ) const
Returns
the current primitive mode

◆ getNormalArray() [1/2]

agx::Vec3Vector & agxCollide::RenderData::getNormalArray ( )

◆ getNormalArray() [2/2]

const agx::Vec3Vector & agxCollide::RenderData::getNormalArray ( ) const
Returns
a reference to the per vertex normals

◆ getRenderMaterial()

agxCollide::RenderMaterial * agxCollide::RenderData::getRenderMaterial ( ) const
Returns
the RenderMaterial for this RenderData. Null if none is set.

◆ getShouldRender()

bool agxCollide::RenderData::getShouldRender ( ) const
Returns
if the data should be rendered

◆ getTexCoordArray() [1/2]

agx::Vec2Vector & agxCollide::RenderData::getTexCoordArray ( )

◆ getTexCoordArray() [2/2]

const agx::Vec2Vector & agxCollide::RenderData::getTexCoordArray ( ) const
Returns
a reference to the texture per vertex coordinates

◆ getVertexArray() [1/2]

agx::Vec3Vector & agxCollide::RenderData::getVertexArray ( )

◆ getVertexArray() [2/2]

const agx::Vec3Vector & agxCollide::RenderData::getVertexArray ( ) const
Returns
a reference to the vertices

◆ hasRenderMaterial()

bool agxCollide::RenderData::hasRenderMaterial ( ) const
Returns
true if this RenderData has a RenderMaterial specified.

◆ setColorArray()

void agxCollide::RenderData::setColorArray ( const agx::Vec4Vector color)

Set and copy the per vertex colors.

◆ setIndexArray()

void agxCollide::RenderData::setIndexArray ( const agx::UInt32Vector indices,
Mode  mode 
)

Set the indices.

◆ setNormalArray()

void agxCollide::RenderData::setNormalArray ( const agx::Vec3Vector normals)

Set the per vertex normals.

◆ setRenderMaterial()

void agxCollide::RenderData::setRenderMaterial ( agxCollide::RenderMaterial renderMaterial)

Set the renderMaterial of this RenderData.

◆ setShouldRender()

void agxCollide::RenderData::setShouldRender ( bool  shouldRender)

Set if the data stored should be rendered at all.

◆ setTexCoordArray()

void agxCollide::RenderData::setTexCoordArray ( const agx::Vec2Vector texCoords)

Set the per vertex texture coordinates.

◆ setVertexArray()

void agxCollide::RenderData::setVertexArray ( const agx::Vec3Vector vertices)

Set the vertices.

Member Data Documentation

◆ m_indices

agx::UInt32Vector agxCollide::RenderData::m_indices
protected

Definition at line 133 of file RenderData.h.

◆ m_mode

Mode agxCollide::RenderData::m_mode
protected

Definition at line 139 of file RenderData.h.

◆ m_normals

agx::Vec3Vector agxCollide::RenderData::m_normals
protected

Definition at line 134 of file RenderData.h.

◆ m_renderMaterial

agxCollide::RenderMaterialRef agxCollide::RenderData::m_renderMaterial
protected

Definition at line 137 of file RenderData.h.

◆ m_renderState

agx::UInt32 agxCollide::RenderData::m_renderState
protected

Definition at line 138 of file RenderData.h.

◆ m_texCoords

agx::Vec2Vector agxCollide::RenderData::m_texCoords
protected

Definition at line 135 of file RenderData.h.

◆ m_vertexColor

agx::Vec4Vector agxCollide::RenderData::m_vertexColor
protected

Definition at line 136 of file RenderData.h.

◆ m_vertices

agx::Vec3Vector agxCollide::RenderData::m_vertices
protected

Definition at line 132 of file RenderData.h.


The documentation for this class was generated from the following file: