- Cal3D 0.9 API Reference -

Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | Related Pages

CalCoreSubmesh Class Reference

The core submesh class. More...

#include <coresubmesh.h>

List of all members.

Public Member Functions

 CalCoreSubmesh ()
 Constructs the core submesh instance.
virtual ~CalCoreSubmesh ()
 Destructs the core submesh instance.
bool create ()
 Creates the core submesh instance.
void destroy ()
 Destroys the core submesh instance.
int getCoreMaterialThreadId ()
 Returns the ID of the core material thread.
int getFaceCount ()
 Returns the number of faces.
int getLodCount ()
 Returns the number of LOD steps.
int getSpringCount ()
 Returns the number of springs.
std::vector< Face > & getVectorFace ()
 Returns the face vector.
std::vector< PhysicalProperty > & getVectorPhysicalProperty ()
 Returns the physical property vector.
std::vector< Spring > & getVectorSpring ()
 Returns the spring vector.
std::vector< std::vector<
TangentSpace > > & 
getVectorVectorTangentSpace ()
 Returns the tangent space vector-vector.
std::vector< std::vector<
TextureCoordinate > > & 
getVectorVectorTextureCoordinate ()
 Returns the texture coordinate vector-vector.
std::vector< Vertex > & getVectorVertex ()
 Returns the vertex vector.
int getVertexCount ()
 Returns the number of vertices.
bool isTangentsEnabled (int mapId)
 Returns true if tangent vectors are enabled.
bool enableTangents (int mapId, bool enabled)
 Enables (and calculates) or disables the storage of tangent spaces.
bool reserve (int vertexCount, int textureCoordinateCount, int faceCount, int springCount)
 Reserves memory for the vertices, faces and texture coordinates.
void setCoreMaterialThreadId (int coreMaterialThreadId)
 Sets the ID of the core material thread.
bool setFace (int faceId, const Face &face)
 Sets a specified face.
void setLodCount (int lodCount)
 Sets the number of LOD steps.
bool setPhysicalProperty (int vertexId, const PhysicalProperty &physicalProperty)
 Sets a specified physical property.
bool setSpring (int springId, const Spring &spring)
 Sets a specified spring.
bool setTangentSpace (int vertexId, int textureCoordinateId, const CalVector &tangent, float crossFactor)
 Sets the tangent vector associated with a specified texture coordinate pair.
bool setTextureCoordinate (int vertexId, int textureCoordinateId, const TextureCoordinate &textureCoordinate)
 Sets a specified texture coordinate.
bool setVertex (int vertexId, const Vertex &vertex)
 Sets a specified vertex.
int addCoreSubMorphTarget (CalCoreSubMorphTarget *pCoreSubMorphTarget)
 Adds a core sub morph target.
CalCoreSubMorphTargetgetCoreSubMorphTarget (int id)
 Provides access to a core sub morph target.
int getCoreSubMorphTargetCount ()
 Returns the number of core sub morph targets.
std::vector< CalCoreSubMorphTarget * > & getVectorCoreSubMorphTarget ()
 Returns the core sub morph target vector.
void scale (float factor)
 Scale the Submesh.

Protected Member Functions

void UpdateTangentVector (int v0, int v1, int v2, int channel)
 UpdateTangentVector.

Protected Attributes

std::vector< Vertexm_vectorVertex
std::vector< bool > m_vectorTangentsEnabled
std::vector< std::vector<
TangentSpace > > 
m_vectorvectorTangentSpace
std::vector< std::vector<
TextureCoordinate > > 
m_vectorvectorTextureCoordinate
std::vector< PhysicalPropertym_vectorPhysicalProperty
std::vector< Facem_vectorFace
std::vector< Springm_vectorSpring
std::vector< CalCoreSubMorphTarget * > m_vectorCoreSubMorphTarget
int m_coreMaterialThreadId
int m_lodCount


Detailed Description

The core submesh class.


Constructor & Destructor Documentation

CalCoreSubmesh::CalCoreSubmesh  ) 
 

Constructs the core submesh instance.

This function is the default constructor of the core submesh instance.

CalCoreSubmesh::~CalCoreSubmesh  )  [virtual]
 

Destructs the core submesh instance.

This function is the destructor of the core submesh instance.


Member Function Documentation

int CalCoreSubmesh::addCoreSubMorphTarget CalCoreSubMorphTarget pCoreSubMorphTarget  ) 
 

Adds a core sub morph target.

This function adds a core sub morph target to the core sub mesh instance.

Parameters:
pCoreSubMorphTarget A pointer to the core sub morph target that should be added.
Returns:
One of the following values:
  • the assigned sub morph target ID of the added core sub morph target
  • -1 if an error happend

bool CalCoreSubmesh::create  ) 
 

Creates the core submesh instance.

This function creates the core submesh instance.

Returns:
One of the following values:
  • true if successful
  • false if an error happend

void CalCoreSubmesh::destroy  ) 
 

Destroys the core submesh instance.

This function destroys all data stored in the core submesh instance and frees all allocated memory.

bool CalCoreSubmesh::enableTangents int  mapId,
bool  enabled
 

Enables (and calculates) or disables the storage of tangent spaces.

This function enables or disables the storage of tangent space bases.

int CalCoreSubmesh::getCoreMaterialThreadId  ) 
 

Returns the ID of the core material thread.

This function returns the ID of the core material thread of this core submesh instance.

Returns:
The ID of the core material thread.

CalCoreSubMorphTarget * CalCoreSubmesh::getCoreSubMorphTarget int  id  ) 
 

Provides access to a core sub morph target.

This function returns the core sub morph target with the given ID.

Parameters:
id The ID of the core sub morph target that should be returned.
Returns:
One of the following values:
  • a pointer to the core sub morph target
  • 0 if an error happend

int CalCoreSubmesh::getCoreSubMorphTargetCount  ) 
 

Returns the number of core sub morph targets.

This function returns the number of core sub morph targets in the core sub mesh instance.

Returns:
The number of core sub morph targets.

int CalCoreSubmesh::getFaceCount  ) 
 

Returns the number of faces.

This function returns the number of faces in the core submesh instance.

Returns:
The number of faces.

int CalCoreSubmesh::getLodCount  ) 
 

Returns the number of LOD steps.

This function returns the number of LOD steps in the core submesh instance.

Returns:
The number of LOD steps.

int CalCoreSubmesh::getSpringCount  ) 
 

Returns the number of springs.

This function returns the number of springs in the core submesh instance.

Returns:
The number of springs.

std::vector< CalCoreSubMorphTarget * > & CalCoreSubmesh::getVectorCoreSubMorphTarget  ) 
 

Returns the core sub morph target vector.

This function returns the vector that contains all core sub morph target of the core submesh instance.

Returns:
A reference to the core sub morph target vector.

std::vector< CalCoreSubmesh::Face > & CalCoreSubmesh::getVectorFace  ) 
 

Returns the face vector.

This function returns the vector that contains all faces of the core submesh instance.

Returns:
A reference to the face vector.

std::vector< CalCoreSubmesh::PhysicalProperty > & CalCoreSubmesh::getVectorPhysicalProperty  ) 
 

Returns the physical property vector.

This function returns the vector that contains all physical properties of the core submesh instance.

Returns:
A reference to the physical property vector.

std::vector< CalCoreSubmesh::Spring > & CalCoreSubmesh::getVectorSpring  ) 
 

Returns the spring vector.

This function returns the vector that contains all springs of the core submesh instance.

Returns:
A reference to the spring vector.

std::vector< std::vector< CalCoreSubmesh::TangentSpace > > & CalCoreSubmesh::getVectorVectorTangentSpace  ) 
 

Returns the tangent space vector-vector.

This function returns the vector that contains all tangent space bases of the core submesh instance. This vector contains another vector because there can be more than one texture map at each vertex.

Returns:
A reference to the tangent space vector-vector.

std::vector< std::vector< CalCoreSubmesh::TextureCoordinate > > & CalCoreSubmesh::getVectorVectorTextureCoordinate  ) 
 

Returns the texture coordinate vector-vector.

This function returns the vector that contains all texture coordinate vectors of the core submesh instance. This vector contains another vector because there can be more than one texture map at each vertex.

Returns:
A reference to the texture coordinate vector-vector.

std::vector< CalCoreSubmesh::Vertex > & CalCoreSubmesh::getVectorVertex  ) 
 

Returns the vertex vector.

This function returns the vector that contains all vertices of the core submesh instance.

Returns:
A reference to the vertex vector.

int CalCoreSubmesh::getVertexCount  ) 
 

Returns the number of vertices.

This function returns the number of vertices in the core submesh instance.

Returns:
The number of vertices.

bool CalCoreSubmesh::isTangentsEnabled int  mapId  ) 
 

Returns true if tangent vectors are enabled.

This function returns true if the core submesh contains tangent vectors.

Returns:
True if tangent vectors are enabled.

bool CalCoreSubmesh::reserve int  vertexCount,
int  textureCoordinateCount,
int  faceCount,
int  springCount
 

Reserves memory for the vertices, faces and texture coordinates.

This function reserves memory for the vertices, faces, texture coordinates and springs of the core submesh instance.

Parameters:
vertexCount The number of vertices that this core submesh instance should be able to hold.
textureCoordinateCount The number of texture coordinates that this core submesh instance should be able to hold.
faceCount The number of faces that this core submesh instance should be able to hold.
springCount The number of springs that this core submesh instance should be able to hold.
Returns:
One of the following values:
  • true if successful
  • false if an error happend

void CalCoreSubmesh::scale float  factor  ) 
 

Scale the Submesh.

This function rescale all the data that are in the core submesh instance.

Parameters:
factor A float with the scale factor

void CalCoreSubmesh::setCoreMaterialThreadId int  coreMaterialThreadId  ) 
 

Sets the ID of the core material thread.

This function sets the ID of the core material thread of the core submesh instance.

Parameters:
coreMaterialThreadId The ID of the core material thread that should be set.

bool CalCoreSubmesh::setFace int  faceId,
const Face face
 

Sets a specified face.

This function sets a specified face in the core submesh instance.

Parameters:
faceId The ID of the face.
face The face that should be set.
Returns:
One of the following values:
  • true if successful
  • false if an error happend

void CalCoreSubmesh::setLodCount int  lodCount  ) 
 

Sets the number of LOD steps.

This function sets the number of LOD steps of the core submesh instance.

Parameters:
lodCount The number of LOD steps that should be set.

bool CalCoreSubmesh::setPhysicalProperty int  vertexId,
const PhysicalProperty physicalProperty
 

Sets a specified physical property.

This function sets a specified physical property in the core submesh instance.

Parameters:
vertexId The ID of the vertex.
physicalProperty The physical property that should be set.
Returns:
One of the following values:
  • true if successful
  • false if an error happend

bool CalCoreSubmesh::setSpring int  springId,
const Spring spring
 

Sets a specified spring.

This function sets a specified spring in the core submesh instance.

Parameters:
springId The ID of the spring.
spring The spring that should be set.
Returns:
One of the following values:
  • true if successful
  • false if an error happend

bool CalCoreSubmesh::setTangentSpace int  vertexId,
int  textureCoordinateId,
const CalVector tangent,
float  crossFactor
 

Sets the tangent vector associated with a specified texture coordinate pair.

This function sets the tangent vector associated with a specified texture coordinate pair in the core submesh instance.

Parameters:
vertexId The ID of the vertex.
textureCoordinateId The ID of the texture coordinate channel.
tangent The tangent vector that should be stored.
crossFactor The cross-product factor that should be stored.
Returns:
One of the following values:
  • true if successful
  • false if an error happend

bool CalCoreSubmesh::setTextureCoordinate int  vertexId,
int  textureCoordinateId,
const TextureCoordinate textureCoordinate
 

Sets a specified texture coordinate.

This function sets a specified texture coordinate in the core submesh instance.

Parameters:
vertexId The ID of the vertex.
textureCoordinateId The ID of the texture coordinate.
textureCoordinate The texture coordinate that should be set.
Returns:
One of the following values:
  • true if successful
  • false if an error happend

bool CalCoreSubmesh::setVertex int  vertexId,
const Vertex vertex
 

Sets a specified vertex.

This function sets a specified vertex in the core submesh instance.

Parameters:
vertexId The ID of the vertex.
vertex The vertex that should be set.
Returns:
One of the following values:
  • true if successful
  • false if an error happend


The documentation for this class was generated from the following files:
Generated at Thu Dec 2 20:28:10 2004 by The Cal3D Team with doxygen 1.3.9.1 © 1997-2001 Dimitri van Heesch