An envelope weight is a specialized kind of ClusterProperty used to store the weights for each point on an envelope.
You can use this class to access the deformer objects that control the shape of the envelope.
#include <xsi_envelopeweight.h>
Public Member Functions |
|
EnvelopeWeight () | |
~EnvelopeWeight () | |
EnvelopeWeight (const CRef &in_ref) | |
EnvelopeWeight (const EnvelopeWeight &in_obj) | |
bool | IsA (siClassID in_ClassID) const |
siClassID | GetClassID () const |
EnvelopeWeight & | operator= (const EnvelopeWeight &in_obj) |
EnvelopeWeight & | operator= (const CRef &in_ref) |
CRefArray | GetDeformers () const |
CStatus | SetValues (const CRef &in_deformer, const LONG *in_pVertices, const float *in_pValues, LONG in_nVertices) |
CStatus | SetValues (const CRef &in_deformer, const float *in_pValues, LONG in_nValues, LONG in_nOffset=0) |
EnvelopeWeight | ( | ) |
Default constructor.
~EnvelopeWeight | ( | ) |
Default destructor.
EnvelopeWeight | ( | const CRef & | in_ref | ) |
Constructor.
in_ref | constant reference object. |
EnvelopeWeight | ( | const EnvelopeWeight & | in_obj | ) |
Copy constructor.
in_obj | constant class object. |
bool IsA | ( | siClassID | in_ClassID | ) | const [virtual] |
Returns true if a given class type is compatible with this API class.
in_ClassID | class type. |
Reimplemented from ClusterProperty.
siClassID GetClassID | ( | ) | const [virtual] |
EnvelopeWeight& operator= | ( | const EnvelopeWeight & | in_obj | ) |
Creates an object from another object. The newly created object is set to empty if the input object is not compatible.
in_obj | constant class object. |
EnvelopeWeight& operator= | ( | const CRef & | in_ref | ) |
Creates an object from a reference object. The newly created object is set to empty if the input reference object is not compatible.
in_ref | constant class object. |
Reimplemented from ClusterProperty.
CRefArray GetDeformers | ( | ) | const |
Returns the deformers of the envelope that control the shape of the envelope.
CStatus SetValues | ( | const CRef & | in_deformer, |
const LONG * | in_pVertices, | ||
const float * | in_pValues, | ||
LONG | in_nVertices | ||
) |
Sets the vertex weight values for a given deformer affecting the underlying envelope. This function sets the values directly on the property and the operation is not undoable.
For large data sets, you can use an offset index to set the
values in chunks. The offset is used for indexing into
in_pVertices
which allows you to optimize the memory
allocation required for setting the vertex weight values.
in_deformer | The envelope deformer objects. |
in_pVertices | Array of size equal to in_nVertices containing the
vertex indices to set. |
in_pValues | Array of size equal to in_nVertices containing the
weight values. |
in_nVertices | Number of vertices in in_pVertices . |
in_pVertices
or in_pValues
are
invalid.CStatus SetValues | ( | const CRef & | in_deformer, |
const float * | in_pValues, | ||
LONG | in_nValues, | ||
LONG | in_nOffset =
0 |
||
) |
Sets the vertex weight values for a given deformer affecting the
underlying envelope. This function sets the vertex elements in the
order specified by in_pValues
. Values are set directly
on the property and the operation is not undoable.
For large data sets, you can use an offset index to set the values in chunks. The offset is used for indexing into cluster elements which allows you to optimize the memory allocation required for setting the element values.
in_deformer | The envelope deformer objects. |
in_pValues | Array of size equal to in_nValues containing the
weight values. |
in_nValues | Number of values in in_pValues . |
in_nOffset | Specifies the starting index in the vertex elements of the cluster. |
in_nVertices
is greater than the number of weights for
the specified deformer or smaller than zero. Also returns an error
if in_pValues
is invalid.