#include <SkinnedTriangles.h>
Inheritance diagram for nvsg::SkinnedTriangles:
Public Member Functions | |
virtual NVSG_API const SkinnedTriangles * | clone (void) const |
Get a clone of this SkinnedTriangles object. | |
virtual NVSG_API bool | isDataShared (void) const |
Determine whether the data of this object is shared. | |
virtual NVSG_API DataID | getDataID (void) const |
Get the DataID of the data of this object. | |
virtual NVSG_API size_t | getNumberOfFrames (void) const |
Get the number of animation frames that are part of this SkinnedTriangles. | |
NVSG_API size_t | getNumberOfSkins (void) const |
Get number of skins. | |
NVSG_API const Skin * | getSkins (void) const |
Get the skins. | |
NVSG_API void | setAnimationFrame (size_t frame, bool bCalculateTangentSpace) |
Calculate vertices and normals depending on the animation frame. | |
NVSG_API void | setNormals (const nvmath::Vec3f *pNor, size_t numNor) |
Overwrite of Triangles::setNormals. | |
NVSG_API void | setNormals (size_t pos, const nvmath::Vec3f *pNor, size_t numNor) |
Overwrite of Triangles::setNormals. | |
NVSG_API void | setSkins (const Skin *pSkins, size_t numSkins) |
Set the skins. | |
NVSG_API void | setSkins (size_t pos, const Skin *pSkins, size_t numSkins) |
Set skins. | |
Static Public Member Functions | |
static NVSG_API const SkinnedTriangles * | create (void) |
Create a SkinnedTriangles. | |
static NVSG_API const SkinnedTriangles * | createFromBase (const Triangles &rhs) |
Create a SkinnedTriangles by copying from a Triangles. | |
Protected Member Functions | |
NVSG_API | SkinnedTriangles (void) |
Constructor. | |
NVSG_API | SkinnedTriangles (const Triangles &rhs) |
Partial Constructor. | |
NVSG_API | SkinnedTriangles (const SkinnedTriangles &rhs) |
Copy Constructor. | |
virtual NVSG_API | ~SkinnedTriangles (void) |
Protected destructor to prevent explicit creation on stack. |
This class has additional information to calculate the vertices and normals of a Triangles depending on the animation step.
|
Constructor.
|
|
Partial Constructor.
|
|
Copy Constructor.
|
|
Protected destructor to prevent explicit creation on stack.
|
|
Create a SkinnedTriangles.
Reimplemented from nvsg::Triangles. |
|
Create a SkinnedTriangles by copying from a Triangles.
|
|
Get a clone of this SkinnedTriangles object.
Reimplemented from nvsg::Triangles. |
|
Determine whether the data of this object is shared.
Reimplemented from nvsg::Triangles. |
|
Get the DataID of the data of this object.
Reimplemented from nvsg::Triangles. |
|
Get the number of animation frames that are part of this SkinnedTriangles.
Reimplemented from nvsg::Drawable. |
|
Get number of skins. In addition to vertices, normals, and so on, a SkinnedTriangles contains so-called "skins". A skin is the information where one vertex and its normal can be calculated from, depending on the animation frame. |
|
Get the skins.
|
|
Calculate vertices and normals depending on the animation frame. SkinnedTriangles contain animation information on each vertex. When the animation frame is set, the vertices and normals are recalculated. If bCalculateTangentSpace is true, tangents and binormals are also recalculated.
|
|
Overwrite of Triangles::setNormals. Sets the normals in the skins and then calls to Triangles::setNormals.
Reimplemented from nvsg::GeoSet. |
|
Overwrite of Triangles::setNormals. Sets the normals in the skins and then calls to Triangles::setNormals.
Reimplemented from nvsg::GeoSet. |
|
Set the skins. A Skin contains the information how a vertex and a normal is calculated for each animation step.
|
|
Set skins. Copies /a numSkins skins pointed to by /a pSkins, starting at position /a pos inside the range of pre-existing skins. Pre-existing skins in the range [pos, pos + numSkins) will be replaced. Pre-existing skins outside this range remain untouched. If you specify -1 for pos or if pos specifies the number of skins currently stored, the skins pointed to by pSkins will be appended to the pre-existing faces. If you not specify -1 for pos or pos neither specifies the number of skins currently stored nor does it specify a valid position inside the range of pre-existing skins, the behaviour is undefined! |