|
| GU_MotionClipRO (const GU_Detail *gdp, UT_WorkBuffer &err_msg, bool can_evaluate=true, GU_MotionClipInfo *clipinfo=nullptr, bool compute_default_clipinfo=false, bool do_sort_samples=true, bool enable_locking=true) |
| clipinfo will override the gdp's clipinfo detail attribute More...
|
|
virtual | ~GU_MotionClipRO ()=default |
|
virtual bool | updateGdp (const GU_Detail *gdp) |
|
void | getTopology (fpreal &time, GU_Detail *dest, const GA_AttributeFilter *skip=nullptr) |
|
bool | hasTopology () const |
|
void | evaluate (fpreal time, GU_Detail *result, const GA_PointGroup *result_pts=nullptr, const GA_PointGroup *topology_pts=nullptr, const GA_AttributeFilter *extra_attribs_to_unpack=nullptr, GU_MotionClipEndBehavior left_end_behavior=GU_MotionClipEndBehavior::Clamp, GU_MotionClipEndBehavior right_end_behavior=GU_MotionClipEndBehavior::Clamp) |
|
void | evaluate (fpreal time, GU_Detail *result, const EvaluationParms &evaluation_parms, const GA_PointGroup *result_pts=nullptr, const GA_PointGroup *topology_pts=nullptr, UT_ArrayStringMap< bool > *is_anim_point_attrib=nullptr) |
|
void | evaluateNoLock (fpreal time, GU_Detail *result, const EvaluationParms &evaluation_parms, const GA_PointGroup *result_pts=nullptr, const GA_PointGroup *topology_pts=nullptr, UT_ArrayStringMap< bool > *is_anim_point_attrib=nullptr) |
|
void | setScaleInheritance (UT_ScaleInheritanceMode scale_inheritance) |
|
void | computeLocalTransforms (fpreal time, UT_Array< GU_AgentXformD > &result, bool constant_evaluation=false) |
|
exint | getJointIndex (const UT_StringHolder &joint_name) const |
|
const GA_PointGroup * | getJointGroup (GOP_Manager &gop, const UT_StringHolder &pattern) const |
|
void | getJointsInGroup (GOP_Manager &gop, const UT_StringHolder &pattern, UT_StringArray &joints_in_group) const |
|
bool | isInitialised () const |
|
exint | numJoints () const |
|
const GU_MotionClipInfo & | clipInfo () const |
|
const GU_Detail * | getSample (fpreal time) const |
| returns the sample at time, or nullptr if not found More...
|
|
const GU_Detail * | restFrame () const |
|
void | getSortedFrameOrder (UT_Array< exint > &frame_order) |
|
const UT_Array< fpreal > & | getSampleTimes () |
|
bool | canEvaluate () const |
|
Read-only animation clip represented in geometry as packed primitives.
The first packed geometry primitive contains the skeleton "topology" evaluated at the given rest frame and the remaining packed geometry primitives each represent a cached pose (ie. a KineFX skeleton), each containing a list of points with joint names and transforms. For each pose, the time
primitive attribute represents where it should be in seconds.
Note that the joints in the pose packed primitives must exist in the topology packed primitive, but the converse is not necessarily true. The pose packed primitive may be missing particular joints from the topology packed primitive, in which case, interpolation will be done using adjacent pose packed primitives which do have data for the particular joint.
Definition at line 55 of file GU_MotionClip.h.