historical/toontown-classic.git/panda/pandac/input/libp3char.in
2024-01-16 11:20:27 -06:00

933 lines
38 KiB
Text

1565844201
3 3
9 libp3char 4 uMZI 12 panda3d.core
44
47 14 CharacterJoint 0 4 91 30 CharacterJoint::CharacterJoint 0 1 1 57
/**
* For internal use only.
*/
/**
*
*/
/**
*
*/
155
explicit CharacterJoint::CharacterJoint(Character *character, PartBundle *root, PartGroup *parent, std::string const &name, LMatrix4 const &default_value);
48 17 add_net_transform 0 4 91 33 CharacterJoint::add_net_transform 0 1 2 334
/**
* Adds the indicated node to the list of nodes that will be updated each
* frame with the joint's net transform from the root. Returns true if the
* node is successfully added, false if it had already been added.
*
* A CharacterJointEffect for this joint's Character will automatically be
* added to the specified node.
*/
56
bool CharacterJoint::add_net_transform(PandaNode *node);
49 20 remove_net_transform 0 4 91 36 CharacterJoint::remove_net_transform 0 1 3 333
/**
* Removes the indicated node from the list of nodes that will be updated each
* frame with the joint's net transform from the root. Returns true if the
* node is successfully removed, false if it was not on the list.
*
* If the node has a CharacterJointEffect that matches this joint's Character,
* it will be cleared.
*/
59
bool CharacterJoint::remove_net_transform(PandaNode *node);
50 17 has_net_transform 0 4 91 33 CharacterJoint::has_net_transform 0 1 4 157
/**
* Returns true if the node is on the list of nodes that will be updated each
* frame with the joint's net transform from the root, false otherwise.
*/
62
bool CharacterJoint::has_net_transform(PandaNode *node) const;
51 20 clear_net_transforms 0 4 91 36 CharacterJoint::clear_net_transforms 0 1 5 132
/**
* Removes all nodes from the list of nodes that will be updated each frame
* with the joint's net transform from the root.
*/
48
void CharacterJoint::clear_net_transforms(void);
52 18 get_net_transforms 0 4 91 34 CharacterJoint::get_net_transforms 0 1 6 183
/**
* Returns a list of the net transforms set for this node. Note that this
* returns a list of NodePaths, even though the net transforms are actually a
* list of PandaNodes.
*/
60
NodePathCollection CharacterJoint::get_net_transforms(void);
53 19 add_local_transform 0 4 91 35 CharacterJoint::add_local_transform 0 1 7 539
/**
* Adds the indicated node to the list of nodes that will be updated each
* frame with the joint's local transform from its parent. Returns true if
* the node is successfully added, false if it had already been added.
*
* The Character pointer should be the Character object that owns this joint;
* this will be used to create a CharacterJointEffect for this node. If it is
* NULL, no such effect will be created.
*
* A CharacterJointEffect for this joint's Character will automatically be
* added to the specified node.
*/
58
bool CharacterJoint::add_local_transform(PandaNode *node);
54 22 remove_local_transform 0 4 91 38 CharacterJoint::remove_local_transform 0 1 8 337
/**
* Removes the indicated node from the list of nodes that will be updated each
* frame with the joint's local transform from its parent. Returns true if
* the node is successfully removed, false if it was not on the list.
*
* If the node has a CharacterJointEffect that matches this joint's Character,
* it will be cleared.
*/
61
bool CharacterJoint::remove_local_transform(PandaNode *node);
55 19 has_local_transform 0 4 91 35 CharacterJoint::has_local_transform 0 1 9 161
/**
* Returns true if the node is on the list of nodes that will be updated each
* frame with the joint's local transform from its parent, false otherwise.
*/
64
bool CharacterJoint::has_local_transform(PandaNode *node) const;
56 22 clear_local_transforms 0 4 91 38 CharacterJoint::clear_local_transforms 0 1 10 136
/**
* Removes all nodes from the list of nodes that will be updated each frame
* with the joint's local transform from its parent.
*/
50
void CharacterJoint::clear_local_transforms(void);
57 20 get_local_transforms 0 4 91 36 CharacterJoint::get_local_transforms 0 1 11 187
/**
* Returns a list of the local transforms set for this node. Note that this
* returns a list of NodePaths, even though the local transforms are actually
* a list of PandaNodes.
*/
62
NodePathCollection CharacterJoint::get_local_transforms(void);
58 13 get_transform 0 4 91 29 CharacterJoint::get_transform 0 2 12 13 128
/**
* Returns the transform matrix of the joint
*/
/**
* Copies the joint's current transform into the indicated matrix.
*/
128
void CharacterJoint::get_transform(LMatrix4 &transform) const;
inline LMatrix4 const &CharacterJoint::get_transform(void) const;
59 19 get_transform_state 0 4 91 35 CharacterJoint::get_transform_state 0 1 14 0
81
ConstPointerTo< TransformState > CharacterJoint::get_transform_state(void) const;
60 17 get_net_transform 0 4 91 33 CharacterJoint::get_net_transform 0 1 15 139
/**
* Copies the joint's current net transform (composed from the root of the
* character joint hierarchy) into the indicated matrix.
*/
66
void CharacterJoint::get_net_transform(LMatrix4 &transform) const;
61 13 get_character 0 4 91 29 CharacterJoint::get_character 0 1 16 54
/**
* Returns the Character that owns this joint.
*/
53
Character *CharacterJoint::get_character(void) const;
62 14 get_class_type 0 4 91 30 CharacterJoint::get_class_type 0 1 17 0
55
static TypeHandle CharacterJoint::get_class_type(void);
63 15 CharacterSlider 0 4 93 32 CharacterSlider::CharacterSlider 0 1 18 57
/**
* For internal use only.
*/
/**
*
*/
/**
*
*/
86
explicit CharacterSlider::CharacterSlider(PartGroup *parent, std::string const &name);
64 14 get_class_type 0 4 93 31 CharacterSlider::get_class_type 0 1 19 0
56
static TypeHandle CharacterSlider::get_class_type(void);
65 21 CharacterVertexSlider 0 4 95 44 CharacterVertexSlider::CharacterVertexSlider 0 1 20 216
/**
* Constructs an invalid object; used only by the bam loader.
*/
/**
* Constructs a new object that converts vertices from the indicated joint's
* coordinate space, into the other indicated joint's space.
*/
75
CharacterVertexSlider::CharacterVertexSlider(CharacterSlider *char_slider);
66 15 get_char_slider 0 4 95 38 CharacterVertexSlider::get_char_slider 0 1 21 96
/**
* Returns the CharacterSlider object for which this object returns the slider
* value.
*/
81
inline CharacterSlider const *CharacterVertexSlider::get_char_slider(void) const;
67 14 get_class_type 0 4 95 37 CharacterVertexSlider::get_class_type 0 1 22 0
62
static TypeHandle CharacterVertexSlider::get_class_type(void);
68 20 JointVertexTransform 0 4 97 42 JointVertexTransform::JointVertexTransform 0 1 23 216
/**
* Constructs an invalid object; used only by the bam loader.
*/
/**
* Constructs a new object that converts vertices from the indicated joint's
* coordinate space, into the other indicated joint's space.
*/
66
JointVertexTransform::JointVertexTransform(CharacterJoint *joint);
69 9 get_joint 0 4 97 31 JointVertexTransform::get_joint 0 1 24 73
/**
* Returns the joint for which this object returns the transform.
*/
73
inline CharacterJoint const *JointVertexTransform::get_joint(void) const;
70 14 get_class_type 0 4 97 36 JointVertexTransform::get_class_type 0 1 25 0
61
static TypeHandle JointVertexTransform::get_class_type(void);
71 9 Character 0 4 99 20 Character::Character 0 2 26 27 78
/**
* Use make_copy() or copy_subgraph() to copy a Character.
*/
/**
*
*/
113
explicit Character::Character(std::string const &name);
inline Character::Character(Character const &) = default;
72 10 get_bundle 0 4 99 21 Character::get_bundle 0 1 28 10
/**
*
*/
64
inline CharacterJointBundle *Character::get_bundle(int i) const;
73 13 merge_bundles 0 4 99 24 Character::merge_bundles 0 2 29 30 1325
/**
* Merges old_bundle with new_bundle. old_bundle must be one of the
* PartBundles within this node. At the end of this call, the old_bundle
* pointer within this node will be replaced with the new_bundle pointer, and
* all geometry within this node will be updated to reference new_bundle.
*
* This method is deprecated. Use the newer version of this method, below.
*/
/**
* Merges old_bundle_handle->get_bundle() with new_bundle. old_bundle_handle
* must be one of the PartBundleHandle within this node. At the end of this
* call, the bundle pointer within the old_bundle_handle will be replaced with
* that within the new_bundle_handle pointer, and all geometry within this
* node will be updated to reference new_bundle.
*
* Normally, this is called when the two bundles have the same, or nearly the
* same, hierarchies. In this case, new_bundle will simply be assigned over
* the old_bundle position. However, if any joints are present in one bundle
* or the other, new_bundle will be modified to contain the union of all
* joints.
*
* The geometry below this node is also updated to reference new_bundle,
* instead of the original old_bundle.
*
* This method is intended to unify two different models that share a common
* skeleton, for instance, different LOD's of the same model.
*/
187
void Character::merge_bundles(PartBundle *old_bundle, PartBundle *other_bundle);
void Character::merge_bundles(PartBundleHandle *old_bundle_handle, PartBundleHandle *other_bundle_handle);
74 17 set_lod_animation 0 4 99 28 Character::set_lod_animation 0 1 31 1171
/**
* Activates a special mode in which the character animates less frequently as
* it gets further from the camera. This is intended as a simple optimization
* to minimize the effort of computing animation for lots of characters that
* may not necessarily be very important to animate every frame.
*
* If the character is closer to the camera than near_distance, then it is
* animated its normal rate, every frame. If the character is exactly
* far_distance away, it is animated only every delay_factor seconds (which
* should be a number greater than 0). If the character is between
* near_distance and far_distance, its animation rate is linearly interpolated
* according to its distance between the two. The interpolation function
* continues beyond far_distance, so that the character is animated
* increasingly less frequently as it gets farther away.
*
* The distance calculations are made from center, which is a fixed point
* relative to the character node, to the camera's lod center or cull center
* node (or to the camera node itself).
*
* If multiple cameras are viewing the character in any given frame, the
* closest one counts.
*/
136
void Character::set_lod_animation(LPoint3 const &center, PN_stdfloat far_distance, PN_stdfloat near_distance, PN_stdfloat delay_factor);
75 19 clear_lod_animation 0 4 99 30 Character::clear_lod_animation 0 1 32 172
/**
* Undoes the effect of a recent call to set_lod_animation(). Henceforth, the
* character will animate every frame, regardless of its distance from the
* camera.
*/
42
void Character::clear_lod_animation(void);
76 10 find_joint 0 4 99 21 Character::find_joint 0 1 33 174
/**
* Returns a pointer to the joint with the given name, if there is such a
* joint, or NULL if there is no such joint. This will not return a pointer
* to a slider.
*/
69
CharacterJoint *Character::find_joint(std::string const &name) const;
77 11 find_slider 0 4 99 22 Character::find_slider 0 1 34 176
/**
* Returns a pointer to the slider with the given name, if there is such a
* slider, or NULL if there is no such slider. This will not return a pointer
* to a joint.
*/
71
CharacterSlider *Character::find_slider(std::string const &name) const;
78 11 write_parts 0 4 99 22 Character::write_parts 0 1 35 129
/**
* Writes a list of the Character's joints and sliders, in their hierchical
* structure, to the indicated output stream.
*/
53
void Character::write_parts(std::ostream &out) const;
79 17 write_part_values 0 4 99 28 Character::write_part_values 0 1 36 166
/**
* Writes a list of the Character's joints and sliders, along with each
* current position, in their hierchical structure, to the indicated output
* stream.
*/
59
void Character::write_part_values(std::ostream &out) const;
80 13 update_to_now 0 4 99 24 Character::update_to_now 0 1 37 326
/**
* Advances the character's frame to the current time, and then calls
* update(). This can be used by show code to force an update of the
* character's position to the current frame, regardless of whether the
* character is currently onscreen and animating.
*
* This method is deprecated. Call update() instead.
*/
36
void Character::update_to_now(void);
81 6 update 0 4 99 17 Character::update 0 1 38 182
/**
* Recalculates the Character's joints and vertices for the current frame.
* Normally this is performed automatically during the render and need not be
* called explicitly.
*/
29
void Character::update(void);
82 12 force_update 0 4 99 23 Character::force_update 0 1 39 74
/**
* Recalculates the character even if we think it doesn't need it.
*/
35
void Character::force_update(void);
83 14 get_class_type 0 4 99 25 Character::get_class_type 0 1 40 0
50
static TypeHandle Character::get_class_type(void);
84 20 CharacterJointBundle 0 4 101 42 CharacterJointBundle::CharacterJointBundle 0 1 41 232
/**
* Normally, you'd use make_copy() or copy_subgraph() to make a copy of this.
*/
/**
* Normally, there is no need to create a CharacterJointBundle directly. The
* Character node will automatically create one for itself.
*/
82
explicit CharacterJointBundle::CharacterJointBundle(std::string const &name = "");
85 8 get_node 0 4 101 30 CharacterJointBundle::get_node 0 1 42 69
/**
* Returns the nth Character associated with this PartBundle.
*/
62
inline Character *CharacterJointBundle::get_node(int n) const;
86 14 get_class_type 0 4 101 36 CharacterJointBundle::get_class_type 0 1 43 0
61
static TypeHandle CharacterJointBundle::get_class_type(void);
87 4 make 0 4 103 26 CharacterJointEffect::make 0 1 44 251
/**
* Constructs a new CharacterJointEffect object that references the indicated
* character. When a relative get_transform() is called on the node that
* contains the CharacterJointEffect, it will implicitly call
* character->update() first.
*/
87
static ConstPointerTo< RenderEffect > CharacterJointEffect::make(Character *character);
88 13 get_character 0 4 103 35 CharacterJointEffect::get_character 0 1 45 158
/**
* Returns the Character that will get update() called on it when this node's
* relative transform is queried, or NULL if there is no such character.
*/
78
inline PointerTo< Character > CharacterJointEffect::get_character(void) const;
89 14 get_class_type 0 4 103 36 CharacterJointEffect::get_class_type 0 1 46 0
61
static TypeHandle CharacterJointEffect::get_class_type(void);
90 21 ~CharacterJointEffect 0 4 103 43 CharacterJointEffect::~CharacterJointEffect 0 0 0
50
CharacterJointEffect::~CharacterJointEffect(void);
46
1 0 0 7 3 114 0 0 10 /**
*
*/ 5 9 character 1 105 4 root 1 106 6 parent 1 107 4 name 1 109 13 default_value 1 110
2 0 0 6 4 117 0 0 334 /**
* Adds the indicated node to the list of nodes that will be updated each
* frame with the joint's net transform from the root. Returns true if the
* node is successfully added, false if it had already been added.
*
* A CharacterJointEffect for this joint's Character will automatically be
* added to the specified node.
*/ 2 4 this 3 114 4 node 1 115
3 0 0 6 5 117 0 0 333 /**
* Removes the indicated node from the list of nodes that will be updated each
* frame with the joint's net transform from the root. Returns true if the
* node is successfully removed, false if it was not on the list.
*
* If the node has a CharacterJointEffect that matches this joint's Character,
* it will be cleared.
*/ 2 4 this 3 114 4 node 1 115
4 0 0 6 6 117 0 0 157 /**
* Returns true if the node is on the list of nodes that will be updated each
* frame with the joint's net transform from the root, false otherwise.
*/ 2 4 this 3 118 4 node 1 115
5 0 0 4 7 120 0 0 132 /**
* Removes all nodes from the list of nodes that will be updated each frame
* with the joint's net transform from the root.
*/ 1 4 this 3 114
6 0 0 7 8 122 0 0 183 /**
* Returns a list of the net transforms set for this node. Note that this
* returns a list of NodePaths, even though the net transforms are actually a
* list of PandaNodes.
*/ 1 4 this 3 114
7 0 0 6 9 117 0 0 539 /**
* Adds the indicated node to the list of nodes that will be updated each
* frame with the joint's local transform from its parent. Returns true if
* the node is successfully added, false if it had already been added.
*
* The Character pointer should be the Character object that owns this joint;
* this will be used to create a CharacterJointEffect for this node. If it is
* NULL, no such effect will be created.
*
* A CharacterJointEffect for this joint's Character will automatically be
* added to the specified node.
*/ 2 4 this 3 114 4 node 1 115
8 0 0 6 10 117 0 0 337 /**
* Removes the indicated node from the list of nodes that will be updated each
* frame with the joint's local transform from its parent. Returns true if
* the node is successfully removed, false if it was not on the list.
*
* If the node has a CharacterJointEffect that matches this joint's Character,
* it will be cleared.
*/ 2 4 this 3 114 4 node 1 115
9 0 0 6 11 117 0 0 161 /**
* Returns true if the node is on the list of nodes that will be updated each
* frame with the joint's local transform from its parent, false otherwise.
*/ 2 4 this 3 118 4 node 1 115
10 0 0 4 12 120 0 0 136 /**
* Removes all nodes from the list of nodes that will be updated each frame
* with the joint's local transform from its parent.
*/ 1 4 this 3 114
11 0 0 7 13 122 0 0 187 /**
* Returns a list of the local transforms set for this node. Note that this
* returns a list of NodePaths, even though the local transforms are actually
* a list of PandaNodes.
*/ 1 4 this 3 114
12 0 0 6 14 110 0 0 52 /**
* Returns the transform matrix of the joint
*/ 1 4 this 3 118
13 0 0 4 14 120 0 0 74 /**
* Copies the joint's current transform into the indicated matrix.
*/ 2 4 this 3 118 9 transform 1 123
14 0 0 7 15 126 0 0 0 1 4 this 3 118
15 0 0 4 16 120 0 0 139 /**
* Copies the joint's current net transform (composed from the root of the
* character joint hierarchy) into the indicated matrix.
*/ 2 4 this 3 118 9 transform 1 123
16 0 0 7 17 105 0 0 54 /**
* Returns the Character that owns this joint.
*/ 1 4 this 3 118
17 0 0 7 18 128 0 0 0 0
18 0 0 7 21 129 0 0 10 /**
*
*/ 2 6 parent 1 107 4 name 1 109
19 0 0 7 22 128 0 0 0 0
20 0 0 7 25 130 0 0 145 /**
* Constructs a new object that converts vertices from the indicated joint's
* coordinate space, into the other indicated joint's space.
*/ 1 11 char_slider 1 129
21 0 0 7 26 134 0 0 96 /**
* Returns the CharacterSlider object for which this object returns the slider
* value.
*/ 1 4 this 3 132
22 0 0 7 27 128 0 0 0 0
23 0 0 7 30 135 0 0 145 /**
* Constructs a new object that converts vertices from the indicated joint's
* coordinate space, into the other indicated joint's space.
*/ 1 5 joint 1 114
24 0 0 7 31 118 0 0 73 /**
* Returns the joint for which this object returns the transform.
*/ 1 4 this 3 136
25 0 0 7 32 128 0 0 0 0
26 0 0 7 35 105 0 0 0 1 6 param0 0 138
27 0 0 7 35 105 0 0 10 /**
*
*/ 1 4 name 1 109
28 0 0 7 36 141 0 0 10 /**
*
*/ 2 4 this 3 138 1 i 1 140
29 0 0 4 37 120 0 0 381 /**
* Merges old_bundle with new_bundle. old_bundle must be one of the
* PartBundles within this node. At the end of this call, the old_bundle
* pointer within this node will be replaced with the new_bundle pointer, and
* all geometry within this node will be updated to reference new_bundle.
*
* This method is deprecated. Use the newer version of this method, below.
*/ 3 4 this 3 105 10 old_bundle 1 106 12 other_bundle 1 106
30 0 0 4 37 120 0 0 942 /**
* Merges old_bundle_handle->get_bundle() with new_bundle. old_bundle_handle
* must be one of the PartBundleHandle within this node. At the end of this
* call, the bundle pointer within the old_bundle_handle will be replaced with
* that within the new_bundle_handle pointer, and all geometry within this
* node will be updated to reference new_bundle.
*
* Normally, this is called when the two bundles have the same, or nearly the
* same, hierarchies. In this case, new_bundle will simply be assigned over
* the old_bundle position. However, if any joints are present in one bundle
* or the other, new_bundle will be modified to contain the union of all
* joints.
*
* The geometry below this node is also updated to reference new_bundle,
* instead of the original old_bundle.
*
* This method is intended to unify two different models that share a common
* skeleton, for instance, different LOD's of the same model.
*/ 3 4 this 3 105 17 old_bundle_handle 1 142 19 other_bundle_handle 1 142
31 0 0 4 38 120 0 0 1171 /**
* Activates a special mode in which the character animates less frequently as
* it gets further from the camera. This is intended as a simple optimization
* to minimize the effort of computing animation for lots of characters that
* may not necessarily be very important to animate every frame.
*
* If the character is closer to the camera than near_distance, then it is
* animated its normal rate, every frame. If the character is exactly
* far_distance away, it is animated only every delay_factor seconds (which
* should be a number greater than 0). If the character is between
* near_distance and far_distance, its animation rate is linearly interpolated
* according to its distance between the two. The interpolation function
* continues beyond far_distance, so that the character is animated
* increasingly less frequently as it gets farther away.
*
* The distance calculations are made from center, which is a fixed point
* relative to the character node, to the camera's lod center or cull center
* node (or to the camera node itself).
*
* If multiple cameras are viewing the character in any given frame, the
* closest one counts.
*/ 5 4 this 3 105 6 center 1 144 12 far_distance 1 148 13 near_distance 1 148 12 delay_factor 1 148
32 0 0 4 39 120 0 0 172 /**
* Undoes the effect of a recent call to set_lod_animation(). Henceforth, the
* character will animate every frame, regardless of its distance from the
* camera.
*/ 1 4 this 3 105
33 0 0 7 40 114 0 0 174 /**
* Returns a pointer to the joint with the given name, if there is such a
* joint, or NULL if there is no such joint. This will not return a pointer
* to a slider.
*/ 2 4 this 3 138 4 name 1 109
34 0 0 7 41 129 0 0 176 /**
* Returns a pointer to the slider with the given name, if there is such a
* slider, or NULL if there is no such slider. This will not return a pointer
* to a joint.
*/ 2 4 this 3 138 4 name 1 109
35 0 0 4 42 120 0 0 129 /**
* Writes a list of the Character's joints and sliders, in their hierchical
* structure, to the indicated output stream.
*/ 2 4 this 3 138 3 out 1 150
36 0 0 4 43 120 0 0 166 /**
* Writes a list of the Character's joints and sliders, along with each
* current position, in their hierchical structure, to the indicated output
* stream.
*/ 2 4 this 3 138 3 out 1 150
37 0 0 4 44 120 0 0 326 /**
* Advances the character's frame to the current time, and then calls
* update(). This can be used by show code to force an update of the
* character's position to the current frame, regardless of whether the
* character is currently onscreen and animating.
*
* This method is deprecated. Call update() instead.
*/ 1 4 this 3 105
38 0 0 4 45 120 0 0 182 /**
* Recalculates the Character's joints and vertices for the current frame.
* Normally this is performed automatically during the render and need not be
* called explicitly.
*/ 1 4 this 3 105
39 0 0 4 46 120 0 0 74 /**
* Recalculates the character even if we think it doesn't need it.
*/ 1 4 this 3 105
40 0 0 7 47 128 0 0 0 0
41 0 0 7 50 141 0 0 145 /**
* Normally, there is no need to create a CharacterJointBundle directly. The
* Character node will automatically create one for itself.
*/ 1 4 name 1 109
42 0 0 7 51 105 0 0 69 /**
* Returns the nth Character associated with this PartBundle.
*/ 2 4 this 3 152 1 n 1 140
43 0 0 7 52 128 0 0 0 0
44 0 0 7 55 155 0 0 251 /**
* Constructs a new CharacterJointEffect object that references the indicated
* character. When a relative get_transform() is called on the node that
* contains the CharacterJointEffect, it will implicitly call
* character->update() first.
*/ 1 9 character 1 105
45 0 0 7 56 105 0 0 158 /**
* Returns the Character that will get update() called on it when this node's
* relative transform is queried, or NULL if there is no such character.
*/ 1 4 this 3 156
46 0 0 7 57 128 0 0 0 0
67
91 14 CharacterJoint 0 75777 14 CharacterJoint 14 CharacterJoint 0 0 0 1 47 0 0 15 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 0 0 1 0 92 0 0 0 0 111
/**
* This represents one joint of the character's animation, containing an
* animating transform matrix.
*/
92 16 MovingPartMatrix 0 2048 16 MovingPartMatrix 16 MovingPartMatrix 0 0 0 0 0 0 0 0 0 0 0 0 84
/**
* This is a particular kind of MovingPart that accepts a matrix each frame.
*/
93 15 CharacterSlider 0 75777 15 CharacterSlider 15 CharacterSlider 0 0 0 1 63 0 0 1 64 0 0 1 0 94 0 0 0 0 215
/**
* This is a morph slider within the character. It's simply a single
* floating-point value that animates generally between 0 and 1, that controls
* the effects of one or more morphs within the character.
*/
94 16 MovingPartScalar 0 2048 16 MovingPartScalar 16 MovingPartScalar 0 0 0 0 0 0 0 0 0 0 0 0 84
/**
* This is a particular kind of MovingPart that accepts a scalar each frame.
*/
95 21 CharacterVertexSlider 0 75777 21 CharacterVertexSlider 21 CharacterVertexSlider 0 0 0 1 65 0 0 2 66 67 0 0 1 0 96 0 0 0 0 137
/**
* This is a specialization on VertexSlider that returns the slider value
* associated with a particular CharacterSlider object.
*/
96 12 VertexSlider 0 2048 12 VertexSlider 12 VertexSlider 0 0 0 0 0 0 0 0 0 0 0 0 343
/**
* This is an abstract base class that retains some slider value, which is a
* linear value that typically ranges from 0.0 to 1.0, and is used to control
* the animation of morphs (blend shapes).
*
* It is similar to VertexTransform, which keeps a full 4x4 transform matrix,
* but the VertexSlider only keeps a single float value.
*/
97 20 JointVertexTransform 0 75777 20 JointVertexTransform 20 JointVertexTransform 0 0 0 1 68 0 0 2 69 70 0 0 1 0 98 0 0 0 0 486
/**
* This is a specialization on VertexTransform that returns the transform
* necessary to move vertices as if they were assigned to the indicated joint.
* The geometry itself should be parented to the scene graph at the level of
* the character's root joint; that is, it should not be parented under a node
* directly animated by any joints.
*
* Multiple combinations of these with different weights are used to implement
* soft-skinned vertices for an animated character.
*/
98 15 VertexTransform 0 2048 15 VertexTransform 15 VertexTransform 0 0 0 0 0 0 0 0 0 0 0 0 305
/**
* This is an abstract base class that holds a pointer to some transform,
* computed in some arbitrary way, that is to be applied to vertices during
* rendering. This is used to implement soft-skinned and animated vertices.
* Derived classes will define how the transform is actually computed.
*/
99 9 Character 0 75777 9 Character 9 Character 0 0 0 1 71 0 0 12 72 73 74 75 76 77 78 79 80 81 82 83 0 0 1 0 100 0 0 0 0 117
/**
* An animated character, with skeleton-morph animation and either soft-
* skinned or hard-skinned vertices.
*/
100 14 PartBundleNode 0 2048 14 PartBundleNode 14 PartBundleNode 0 0 0 0 0 0 0 0 0 0 0 0 342
/**
* This is a node that contains a pointer to an PartBundle. Like
* AnimBundleNode, it exists to make it easy to store PartBundles in the scene
* graph.
*
* (Unlike AnimBundleNode, however, PartBundleNode has an additional function:
* it is also the base class of the Character node type, which adds additional
* functionality.)
*/
101 20 CharacterJointBundle 0 75777 20 CharacterJointBundle 20 CharacterJointBundle 0 0 0 1 84 0 0 2 85 86 0 0 1 0 102 0 0 0 0 73
/**
* The collection of all the joints and sliders in the character.
*/
102 10 PartBundle 0 2048 10 PartBundle 10 PartBundle 0 0 0 0 0 0 0 0 0 0 0 0 134
/**
* This is the root of a MovingPart hierarchy. It defines the hierarchy of
* moving parts that make up an animatable object.
*/
103 20 CharacterJointEffect 0 141313 20 CharacterJointEffect 20 CharacterJointEffect 0 0 0 0 90 0 3 87 88 89 0 0 1 0 104 0 0 0 0 340
/**
* This effect will be added automatically to a node by
* CharacterJoint::add_net_transform() and
* CharacterJoint::add_local_transform().
*
* The effect binds the node back to the character, so that querying the
* relative transform of the affected node will automatically force the
* indicated character to be updated first.
*/
104 12 RenderEffect 0 2048 12 RenderEffect 12 RenderEffect 0 0 0 0 0 0 0 0 0 0 0 0 901
/**
* This is the base class for a number of special render effects that may be
* set on scene graph nodes to change the way they render. This includes
* BillboardEffect, DecalEffect, etc.
*
* RenderEffect represents render properties that must be applied as soon as
* they are encountered in the scene graph, rather than propagating down to
* the leaves. This is different from RenderAttrib, which represents
* properties like color and texture that don't do anything until they
* propagate down to a GeomNode.
*
* You should not attempt to create or modify a RenderEffect directly;
* instead, use the make() method of the appropriate kind of effect you want.
* This will allocate and return a new RenderEffect of the appropriate type,
* and it may share pointers if possible. Do not modify the new RenderEffect
* if you wish to change its properties; instead, create a new one.
*/
105 11 Character * 0 8576 11 Character * 11 Character * 0 0 99 0 0 0 0 0 0 0 0 0 0
106 12 PartBundle * 0 8576 12 PartBundle * 12 PartBundle * 0 0 102 0 0 0 0 0 0 0 0 0 0
107 11 PartGroup * 0 8576 11 PartGroup * 11 PartGroup * 0 0 108 0 0 0 0 0 0 0 0 0 0
108 9 PartGroup 0 2048 9 PartGroup 9 PartGroup 0 0 0 0 0 0 0 0 0 0 0 0 105
/**
* This is the base class for PartRoot and MovingPart. It defines a hierarchy
* of MovingParts.
*/
109 13 atomic string 0 2 13 atomic string 13 atomic string 0 7 0 0 0 0 0 0 0 0 0 0 0
110 16 LMatrix4 const * 0 8576 16 LMatrix4 const * 16 LMatrix4 const * 0 0 111 0 0 0 0 0 0 0 0 0 0
111 14 LMatrix4 const 0 8832 14 LMatrix4 const 14 LMatrix4 const 0 0 112 0 0 0 0 0 0 0 0 0 0
112 8 LMatrix4 0 2105344 8 LMatrix4 8 LMatrix4 0 0 113 0 0 0 0 0 0 0 0 0 0
113 9 LMatrix4f 0 2048 9 LMatrix4f 9 LMatrix4f 0 0 0 0 0 0 0 0 0 0 0 0 45
/**
* This is a 4-by-4 transform matrix.
*/
114 16 CharacterJoint * 0 8576 16 CharacterJoint * 16 CharacterJoint * 0 0 91 0 0 0 0 0 0 0 0 0 0
115 11 PandaNode * 0 8576 11 PandaNode * 11 PandaNode * 0 0 116 0 0 0 0 0 0 0 0 0 0
116 9 PandaNode 0 2048 9 PandaNode 9 PandaNode 0 0 0 0 0 0 0 0 0 0 0 0 175
/**
* A basic node of the scene graph or data graph. This is the base class of
* all specialized nodes, and also serves as a generic node with no special
* properties.
*/
117 4 bool 0 8194 4 bool 4 bool 0 4 0 0 0 0 0 0 0 0 0 0 0
118 22 CharacterJoint const * 0 8576 22 CharacterJoint const * 22 CharacterJoint const * 0 0 119 0 0 0 0 0 0 0 0 0 0
119 20 CharacterJoint const 0 8832 20 CharacterJoint const 20 CharacterJoint const 0 0 91 0 0 0 0 0 0 0 0 0 0
120 4 void 0 8194 4 void 4 void 0 6 0 0 0 0 0 0 0 0 0 0 0
121 18 NodePathCollection 0 2048 18 NodePathCollection 18 NodePathCollection 0 0 0 0 0 0 0 0 0 0 0 0 178
/**
* This is a set of zero or more NodePaths. It's handy for returning from
* functions that need to return multiple NodePaths (for instance,
* NodePaths::get_children).
*/
122 20 NodePathCollection * 0 8576 20 NodePathCollection * 20 NodePathCollection * 0 0 121 0 0 0 0 0 0 0 0 0 0
123 10 LMatrix4 * 0 8576 10 LMatrix4 * 10 LMatrix4 * 0 0 112 0 0 0 0 0 0 0 0 0 0
124 20 TransformState const 0 8832 20 TransformState const 20 TransformState const 0 0 125 0 0 0 0 0 0 0 0 0 0
125 14 TransformState 0 16779264 14 TransformState 14 TransformState 0 0 0 0 0 0 0 0 0 0 0 0 734
/**
* Indicates a coordinate-system transform on vertices. TransformStates are
* the primary means for storing transformations on the scene graph.
*
* Transforms may be specified in one of two ways: componentwise, with a pos-
* hpr-scale, or with an arbitrary transform matrix. If you specify a
* transform componentwise, it will remember its original components.
*
* TransformState objects are managed very much like RenderState objects.
* They are immutable and reference-counted automatically.
*
* You should not attempt to create or modify a TransformState object
* directly. Instead, call one of the make() functions to create one for you.
* And instead of modifying a TransformState object, create a new one.
*/
126 22 TransformState const * 0 8576 22 TransformState const * 22 TransformState const * 0 0 124 0 0 0 0 0 0 0 0 0 0
127 10 TypeHandle 0 16779264 10 TypeHandle 10 TypeHandle 0 0 0 0 0 0 0 0 0 0 0 0 732
/**
* TypeHandle is the identifier used to differentiate C++ class types. Any
* C++ classes that inherit from some base class, and must be differentiated
* at run time, should store a static TypeHandle object that can be queried
* through a static member function named get_class_type(). Most of the time,
* it is also desirable to inherit from TypedObject, which provides some
* virtual functions to return the TypeHandle for a particular instance.
*
* At its essence, a TypeHandle is simply a unique identifier that is assigned
* by the TypeRegistry. The TypeRegistry stores a tree of TypeHandles, so
* that ancestry of a particular type may be queried, and the type name may be
* retrieved for run-time display.
*/
128 12 TypeHandle * 0 8576 12 TypeHandle * 12 TypeHandle * 0 0 127 0 0 0 0 0 0 0 0 0 0
129 17 CharacterSlider * 0 8576 17 CharacterSlider * 17 CharacterSlider * 0 0 93 0 0 0 0 0 0 0 0 0 0
130 23 CharacterVertexSlider * 0 8576 23 CharacterVertexSlider * 23 CharacterVertexSlider * 0 0 95 0 0 0 0 0 0 0 0 0 0
131 21 CharacterSlider const 0 8832 21 CharacterSlider const 21 CharacterSlider const 0 0 93 0 0 0 0 0 0 0 0 0 0
132 29 CharacterVertexSlider const * 0 8576 29 CharacterVertexSlider const * 29 CharacterVertexSlider const * 0 0 133 0 0 0 0 0 0 0 0 0 0
133 27 CharacterVertexSlider const 0 8832 27 CharacterVertexSlider const 27 CharacterVertexSlider const 0 0 95 0 0 0 0 0 0 0 0 0 0
134 23 CharacterSlider const * 0 8576 23 CharacterSlider const * 23 CharacterSlider const * 0 0 131 0 0 0 0 0 0 0 0 0 0
135 22 JointVertexTransform * 0 8576 22 JointVertexTransform * 22 JointVertexTransform * 0 0 97 0 0 0 0 0 0 0 0 0 0
136 28 JointVertexTransform const * 0 8576 28 JointVertexTransform const * 28 JointVertexTransform const * 0 0 137 0 0 0 0 0 0 0 0 0 0
137 26 JointVertexTransform const 0 8832 26 JointVertexTransform const 26 JointVertexTransform const 0 0 97 0 0 0 0 0 0 0 0 0 0
138 17 Character const * 0 8576 17 Character const * 17 Character const * 0 0 139 0 0 0 0 0 0 0 0 0 0
139 15 Character const 0 8832 15 Character const 15 Character const 0 0 99 0 0 0 0 0 0 0 0 0 0
140 3 int 0 8194 3 int 3 int 0 1 0 0 0 0 0 0 0 0 0 0 0
141 22 CharacterJointBundle * 0 8576 22 CharacterJointBundle * 22 CharacterJointBundle * 0 0 101 0 0 0 0 0 0 0 0 0 0
142 18 PartBundleHandle * 0 8576 18 PartBundleHandle * 18 PartBundleHandle * 0 0 143 0 0 0 0 0 0 0 0 0 0
143 16 PartBundleHandle 0 2048 16 PartBundleHandle 16 PartBundleHandle 0 0 0 0 0 0 0 0 0 0 0 0 546
/**
* This is a trivial class returned by PartBundleNode::get_bundle(). Its
* purpose is to hold the actual PartBundle pointer contained within the
* PartBundleNode, so that scene graph flatten operations can safely combine
* or duplicate PartBundles as necessary without affecting high-level bundle
* operations.
*
* The high-level Actor class defined in direct/src/actor, for instance, will
* store a list of PartBundleHandles instead of on actual PartBundles, so that
* it will be immune to changes from these flatten operations.
*/
144 15 LPoint3 const * 0 8576 15 LPoint3 const * 15 LPoint3 const * 0 0 145 0 0 0 0 0 0 0 0 0 0
145 13 LPoint3 const 0 8832 13 LPoint3 const 13 LPoint3 const 0 0 146 0 0 0 0 0 0 0 0 0 0
146 7 LPoint3 0 2105344 7 LPoint3 7 LPoint3 0 0 147 0 0 0 0 0 0 0 0 0 0
147 8 LPoint3f 0 2048 8 LPoint3f 8 LPoint3f 0 0 0 0 0 0 0 0 0 0 0 0 337
/**
* This is a three-component point in space (as opposed to a three-component
* vector, which represents a direction and a distance). Some of the methods
* are slightly different between LPoint3 and LVector3; in particular,
* subtraction of two points yields a vector, while addition of a vector and a
* point yields a point.
*/
148 11 PN_stdfloat 0 2105344 11 PN_stdfloat 11 PN_stdfloat 0 0 149 0 0 0 0 0 0 0 0 0 0
149 5 float 0 8194 5 float 5 float 0 2 0 0 0 0 0 0 0 0 0 0 0
150 9 ostream * 0 8576 14 std::ostream * 14 std::ostream * 0 0 151 0 0 0 0 0 0 0 0 0 0
151 7 ostream 0 2048 12 std::ostream 12 std::ostream 0 0 0 0 0 0 0 0 0 0 0 0 0
152 28 CharacterJointBundle const * 0 8576 28 CharacterJointBundle const * 28 CharacterJointBundle const * 0 0 153 0 0 0 0 0 0 0 0 0 0
153 26 CharacterJointBundle const 0 8832 26 CharacterJointBundle const 26 CharacterJointBundle const 0 0 101 0 0 0 0 0 0 0 0 0 0
154 18 RenderEffect const 0 8832 18 RenderEffect const 18 RenderEffect const 0 0 104 0 0 0 0 0 0 0 0 0 0
155 20 RenderEffect const * 0 8576 20 RenderEffect const * 20 RenderEffect const * 0 0 154 0 0 0 0 0 0 0 0 0 0
156 28 CharacterJointEffect const * 0 8576 28 CharacterJointEffect const * 28 CharacterJointEffect const * 0 0 157 0 0 0 0 0 0 0 0 0 0
157 26 CharacterJointEffect const 0 8832 26 CharacterJointEffect const 26 CharacterJointEffect const 0 0 103 0 0 0 0 0 0 0 0 0 0
0
0
0