- Cal3D 0.9 API Reference -

Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | 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.
CalCoreSubMorphTarget * getCoreSubMorphTarget (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< Vertex > m_vectorVertex
std::vector< bool > m_vectorTangentsEnabled
std::vector< std::vector<
TangentSpace > > 
m_vectorvectorTangentSpace
std::vector< std::vector<
TextureCoordinate > > 
m_vectorvectorTextureCoordinate
std::vector< PhysicalProperty > m_vectorPhysicalProperty
std::vector< Face > m_vectorFace
std::vector< Spring > m_vectorSpring
std::vector< CalCoreSubMorphTarget * > m_vectorCoreSubMorphTarget
int m_coreMaterialThreadId
int m_lodCount

Classes

struct  Face
 The core submesh Face. More...
struct  Influence
 The core submesh Influence. More...
struct  PhysicalProperty
 The core submesh PhysicalProperty. More...
struct  Spring
 The core submesh Spring. More...
struct  TangentSpace
struct  TextureCoordinate
 The core submesh TextureCoordinate. More...
struct  Vertex
 The core submesh Vertex. More...


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 Sat Apr 30 13:55:28 2005 by The Cal3D Team with doxygen 1.4.2 © 1997-2001 Dimitri van Heesch