Performs linear blend skinning of geometry.
More...
#include <GU_LinearSkinDeformer.h>
Performs linear blend skinning of geometry.
Definition at line 254 of file GU_LinearSkinDeformer.h.
GU_LinearSkinDeformer::GU_LinearSkinDeformer |
( |
| ) |
|
void GU_LinearSkinDeformer::clearNumTransformsSet |
( |
| ) |
|
|
inline |
void GU_LinearSkinDeformer::deform |
( |
| ) |
|
Do the deform.
The necessary steps in this specific order:
- N = GU_LinearSkinDeformerSource::init() for the point geometry you want to deform
- GU_LinearSkinDeformerSource::appendAttrib() for each src attribute you want to deform
- GU_LinearSkinDeformer::init() to set up where to put the results
- Call setRegionTransform() N times for each of the cregions
- Call deform()
static bool GU_LinearSkinDeformer::getGlobalAttribBlendAttrib |
( |
const GU_Detail * |
igdp, |
|
|
UT_StringHolder & |
blend_attrib |
|
) |
| |
|
static |
static bool GU_LinearSkinDeformer::getGlobalAttribMethod |
( |
const GU_Detail * |
igdp, |
|
|
Method & |
type |
|
) |
| |
|
static |
Setup the destination geometry. Fails if the destination is missing attributes that were appended to deform. A reference to the src is maintained until reset() is called.
void GU_LinearSkinDeformer::inverseDeform |
( |
| ) |
|
Do the deform.
The necessary steps in this specific order:
- N = GU_LinearSkinDeformerSource::init() for the point geometry you want to deform
- GU_LinearSkinDeformerSource::appendAttrib() for each src attribute you want to deform
- GU_LinearSkinDeformer::init() to set up where to put the results
- Call setRegionTransform() N times for each of the cregions
- Call deform()
int GU_LinearSkinDeformer::numRegions |
( |
| ) |
const |
|
inline |
void GU_LinearSkinDeformer::reset |
( |
| ) |
|
void GU_LinearSkinDeformer::setFullRegionTransform |
( |
int |
region_idx, |
|
|
const UT_Matrix4F & |
xform |
|
) |
| |
Set deforming transform for region_idx. To apply the capture region's transform use setRegionTransform(). init() must have been called first.
void GU_LinearSkinDeformer::setRegionTransform |
( |
int |
region_idx, |
|
|
const UT_Matrix4F & |
xform |
|
) |
| |
Set deforming transform for region_idx, which matches indices found in the capture weight attribute. init() must have been called first.
bool GU_LinearSkinDeformer::setRegionTransformsFromGeo |
( |
const GU_Detail & |
anim_skel | ) |
|
Spawn tasks that will perform the deformation. The tasks will have references to this object, so they must be executed before this object is destroyed.
The necessary steps in this specific order:
- N = GU_LinearSkinDeformerSource::init() for the point geometry you want to deform
- GU_LinearSkinDeformerSource::appendAttrib() for each src attribute you want to deform
- GU_LinearSkinDeformer::init() to set up where to put the results
- Call setRegionTransform() N times for each of the cregions
- Call spawnDeformTasks()
- When done with the task list, spawn them: tasks.spawnRootAndWait();
Spawn tasks that will perform the deformation. The tasks will have references to this object, so they must be executed before this object is destroyed.
The necessary steps in this specific order:
- N = GU_LinearSkinDeformerSource::init() for the point geometry you want to deform
- GU_LinearSkinDeformerSource::appendAttrib() for each src attribute you want to deform
- GU_LinearSkinDeformer::init() to set up where to put the results
- Call setRegionTransform() N times for each of the cregions
- Call spawnDeformTasks()
- When done with the task list, spawn them: tasks.spawnRootAndWait();
const char* GU_LinearSkinDeformer::SKIN_BLEND_DUAL_QUATERNION_AND_LINEAR |
|
static |
const char* GU_LinearSkinDeformer::SKIN_DUAL_QUATERNION |
|
static |
const char* GU_LinearSkinDeformer::SKIN_LINEAR |
|
static |
The documentation for this class was generated from the following file: