Poodletooth-iLand/panda/pandac/input/libp3char.in
Master Jumblespeed d882959bfa switch to remote
2015-05-18 22:11:33 -04:00

1390 lines
72 KiB
Text
Executable file

1412102982
2 2
9 libp3char 4 uMZI 12 panda3d.core
45
48 14 CharacterJoint 0 4 93 30 CharacterJoint::CharacterJoint 0 1 1 715
////////////////////////////////////////////////////////////////////
// Function: CharacterJoint::Default Constructor
// Access: Protected
// Description: For internal use only.
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
// Function: CharacterJoint::Copy Constructor
// Access: Protected
// Description:
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
// Function: CharacterJoint::Constructor
// Access: Public
// Description:
////////////////////////////////////////////////////////////////////
156
CharacterJoint::CharacterJoint(Character *character, PartBundle *root, PartGroup *parent, basic_string< char > const &name, LMatrix4f const &default_value);
49 17 add_net_transform 0 4 93 33 CharacterJoint::add_net_transform 0 1 2 646
////////////////////////////////////////////////////////////////////
// Function: CharacterJoint::add_net_transform
// Access: Published
// Description: 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);
50 20 remove_net_transform 0 4 93 36 CharacterJoint::remove_net_transform 0 1 3 648
////////////////////////////////////////////////////////////////////
// Function: CharacterJoint::remove_net_transform
// Access: Published
// Description: 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);
51 17 has_net_transform 0 4 93 33 CharacterJoint::has_net_transform 0 1 4 410
////////////////////////////////////////////////////////////////////
// Function: CharacterJoint::has_net_transform
// Access: Published
// Description: 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;
52 20 clear_net_transforms 0 4 93 36 CharacterJoint::clear_net_transforms 0 1 5 388
////////////////////////////////////////////////////////////////////
// Function: CharacterJoint::clear_net_transforms
// Access: Published
// Description: 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);
53 18 get_net_transforms 0 4 93 34 CharacterJoint::get_net_transforms 0 1 6 451
////////////////////////////////////////////////////////////////////
// Function: CharacterJoint::get_net_transforms
// Access: Published
// Description: 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);
54 19 add_local_transform 0 4 93 35 CharacterJoint::add_local_transform 0 1 7 912
////////////////////////////////////////////////////////////////////
// Function: CharacterJoint::add_local_transform
// Access: Published
// Description: 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);
55 22 remove_local_transform 0 4 93 38 CharacterJoint::remove_local_transform 0 1 8 654
////////////////////////////////////////////////////////////////////
// Function: CharacterJoint::remove_local_transform
// Access: Published
// Description: 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);
56 19 has_local_transform 0 4 93 35 CharacterJoint::has_local_transform 0 1 9 416
////////////////////////////////////////////////////////////////////
// Function: CharacterJoint::has_local_transform
// Access: Published
// Description: 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;
57 22 clear_local_transforms 0 4 93 38 CharacterJoint::clear_local_transforms 0 1 10 394
////////////////////////////////////////////////////////////////////
// Function: CharacterJoint::clear_local_transforms
// Access: Published
// Description: 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);
58 20 get_local_transforms 0 4 93 36 CharacterJoint::get_local_transforms 0 1 11 457
////////////////////////////////////////////////////////////////////
// Function: CharacterJoint::get_local_transforms
// Access: Published
// Description: 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);
59 13 get_transform 0 4 93 29 CharacterJoint::get_transform 0 2 12 13 1071
// Filename: characterJoint.I
// Created by: drose (20Nov08)
//
////////////////////////////////////////////////////////////////////
//
// PANDA 3D SOFTWARE
// Copyright (c) Carnegie Mellon University. All rights reserved.
//
// All use of this software is subject to the terms of the revised BSD
// license. You should have received a copy of this license along
// with this source code in a file named "LICENSE."
//
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
// Function: CharacterJoint::get_transform
// Access: Published
// Description: Returns the transform matrix of the joint
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
// Function: CharacterJoint::get_transform
// Access: Published
// Description: Copies the joint's current transform into the
// indicated matrix.
////////////////////////////////////////////////////////////////////
130
void CharacterJoint::get_transform(LMatrix4f &transform) const;
inline LMatrix4f const &CharacterJoint::get_transform(void) const;
60 19 get_transform_state 0 4 93 35 CharacterJoint::get_transform_state 0 1 14 0
81
ConstPointerTo< TransformState > CharacterJoint::get_transform_state(void) const;
61 17 get_net_transform 0 4 93 33 CharacterJoint::get_net_transform 0 1 15 392
////////////////////////////////////////////////////////////////////
// Function: CharacterJoint::get_net_transform
// Access: Published
// Description: Copies the joint's current net transform (composed
// from the root of the character joint hierarchy) into
// the indicated matrix.
////////////////////////////////////////////////////////////////////
67
void CharacterJoint::get_net_transform(LMatrix4f &transform) const;
62 13 get_character 0 4 93 29 CharacterJoint::get_character 0 1 16 272
////////////////////////////////////////////////////////////////////
// Function: CharacterJoint::get_character
// Access: Published
// Description: Returns the Character that owns this joint.
////////////////////////////////////////////////////////////////////
53
Character *CharacterJoint::get_character(void) const;
63 14 get_class_type 0 4 93 30 CharacterJoint::get_class_type 0 1 17 0
55
static TypeHandle CharacterJoint::get_class_type(void);
64 15 CharacterSlider 0 4 95 32 CharacterSlider::CharacterSlider 0 1 18 718
////////////////////////////////////////////////////////////////////
// Function: CharacterSlider::Default Constructor
// Access: Protected
// Description: For internal use only.
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
// Function: CharacterSlider::Copy Constructor
// Access: Protected
// Description:
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
// Function: CharacterSlider::Constructor
// Access: Public
// Description:
////////////////////////////////////////////////////////////////////
86
CharacterSlider::CharacterSlider(PartGroup *parent, basic_string< char > const &name);
65 16 update_internals 0 6 95 33 CharacterSlider::update_internals 0 1 19 603
////////////////////////////////////////////////////////////////////
// Function: CharacterSlider::update_internals
// Access: Public, Virtual
// Description: This is called by do_update() whenever the part or
// some ancestor has changed values. It is a hook for
// derived classes to update whatever cache they may
// have that depends on these.
//
// The return value is true if the part has changed as a
// result of the update, or false otherwise.
////////////////////////////////////////////////////////////////////
148
virtual bool CharacterSlider::update_internals(PartBundle *root, PartGroup *parent, bool self_changed, bool parent_changed, Thread *current_thread);
66 14 get_class_type 0 4 95 31 CharacterSlider::get_class_type 0 1 20 0
56
static TypeHandle CharacterSlider::get_class_type(void);
67 21 CharacterVertexSlider 0 4 97 44 CharacterVertexSlider::CharacterVertexSlider 0 1 21 716
////////////////////////////////////////////////////////////////////
// Function: CharacterVertexSlider::Default Constructor
// Access: Private
// Description: Constructs an invalid object; used only by the bam
// loader.
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
// Function: CharacterVertexSlider::Constructor
// Access: Published
// Description: 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);
68 15 get_char_slider 0 4 97 38 CharacterVertexSlider::get_char_slider 0 1 22 834
// Filename: characterVertexSlider.I
// Created by: drose (28Mar05)
//
////////////////////////////////////////////////////////////////////
//
// PANDA 3D SOFTWARE
// Copyright (c) Carnegie Mellon University. All rights reserved.
//
// All use of this software is subject to the terms of the revised BSD
// license. You should have received a copy of this license along
// with this source code in a file named "LICENSE."
//
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
// Function: CharacterVertexSlider::get_char_slider
// Access: Published
// Description: Returns the CharacterSlider object for which this
// object returns the slider value.
////////////////////////////////////////////////////////////////////
81
inline CharacterSlider const *CharacterVertexSlider::get_char_slider(void) const;
69 14 get_class_type 0 4 97 37 CharacterVertexSlider::get_class_type 0 1 23 0
62
static TypeHandle CharacterVertexSlider::get_class_type(void);
70 20 JointVertexTransform 0 4 99 42 JointVertexTransform::JointVertexTransform 0 1 24 714
////////////////////////////////////////////////////////////////////
// Function: JointVertexTransform::Default Constructor
// Access: Private
// Description: Constructs an invalid object; used only by the bam
// loader.
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
// Function: JointVertexTransform::Constructor
// Access: Published
// Description: 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);
71 9 get_joint 0 4 99 31 JointVertexTransform::get_joint 0 1 25 806
// Filename: jointVertexTransform.I
// Created by: drose (24Mar05)
//
////////////////////////////////////////////////////////////////////
//
// PANDA 3D SOFTWARE
// Copyright (c) Carnegie Mellon University. All rights reserved.
//
// All use of this software is subject to the terms of the revised BSD
// license. You should have received a copy of this license along
// with this source code in a file named "LICENSE."
//
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
// Function: JointVertexTransform::get_joint
// Access: Published
// Description: Returns the joint for which this object returns the
// transform.
////////////////////////////////////////////////////////////////////
73
inline CharacterJoint const *JointVertexTransform::get_joint(void) const;
72 14 get_class_type 0 4 99 36 JointVertexTransform::get_class_type 0 1 26 0
61
static TypeHandle JointVertexTransform::get_class_type(void);
73 9 Character 0 4 101 20 Character::Character 0 1 27 502
////////////////////////////////////////////////////////////////////
// Function: Character::Copy Constructor
// Access: Protected
// Description: Use make_copy() or copy_subgraph() to copy a Character.
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
// Function: Character::Constructor
// Access: Public
// Description:
////////////////////////////////////////////////////////////////////
55
Character::Character(basic_string< char > const &name);
74 10 get_bundle 0 4 101 21 Character::get_bundle 0 1 28 220
////////////////////////////////////////////////////////////////////
// Function: Character::get_bundle
// Access: Published
// Description:
////////////////////////////////////////////////////////////////////
64
inline CharacterJointBundle *Character::get_bundle(int i) const;
75 13 merge_bundles 0 4 101 24 Character::merge_bundles 0 2 29 30 2157
////////////////////////////////////////////////////////////////////
// Function: Character::merge_bundles
// Access: Published
// Description: 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.
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
// Function: Character::merge_bundles
// Access: Published
// Description: 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);
76 17 set_lod_animation 0 4 101 28 Character::set_lod_animation 0 1 31 1731
////////////////////////////////////////////////////////////////////
// Function: Character::set_lod_animation
// Access: Published
// Description: 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.
////////////////////////////////////////////////////////////////////
119
void Character::set_lod_animation(LPoint3f const &center, float far_distance, float near_distance, float delay_factor);
77 19 clear_lod_animation 0 4 101 30 Character::clear_lod_animation 0 1 32 436
////////////////////////////////////////////////////////////////////
// Function: Character::clear_lod_animation
// Access: Published
// Description: 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);
78 10 find_joint 0 4 101 21 Character::find_joint 0 1 33 412
////////////////////////////////////////////////////////////////////
// Function: Character::find_joint
// Access: Published
// Description: 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.
////////////////////////////////////////////////////////////////////
78
CharacterJoint *Character::find_joint(basic_string< char > const &name) const;
79 11 find_slider 0 4 101 22 Character::find_slider 0 1 34 415
////////////////////////////////////////////////////////////////////
// Function: Character::find_slider
// Access: Published
// Description: 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.
////////////////////////////////////////////////////////////////////
80
CharacterSlider *Character::find_slider(basic_string< char > const &name) const;
80 11 write_parts 0 4 101 22 Character::write_parts 0 1 35 371
////////////////////////////////////////////////////////////////////
// Function: Character::write_parts
// Access: Published
// Description: Writes a list of the Character's joints and sliders,
// in their hierchical structure, to the indicated
// output stream.
////////////////////////////////////////////////////////////////////
48
void Character::write_parts(ostream &out) const;
81 17 write_part_values 0 4 101 28 Character::write_part_values 0 1 36 411
////////////////////////////////////////////////////////////////////
// Function: Character::write_part_values
// Access: Published
// Description: Writes a list of the Character's joints and sliders,
// along with each current position, in their hierchical
// structure, to the indicated output stream.
////////////////////////////////////////////////////////////////////
54
void Character::write_part_values(ostream &out) const;
82 13 update_to_now 0 4 101 24 Character::update_to_now 0 1 37 612
////////////////////////////////////////////////////////////////////
// Function: Character::update_to_now
// Access: Published
// Description: 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);
83 6 update 0 4 101 17 Character::update 0 1 38 434
////////////////////////////////////////////////////////////////////
// Function: Character::update
// Access: Published
// Description: 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);
84 12 force_update 0 4 101 23 Character::force_update 0 1 39 303
////////////////////////////////////////////////////////////////////
// Function: Character::force_update
// Access: Published
// Description: Recalculates the character even if we think it
// doesn't need it.
////////////////////////////////////////////////////////////////////
35
void Character::force_update(void);
85 14 get_class_type 0 4 101 25 Character::get_class_type 0 1 40 0
50
static TypeHandle Character::get_class_type(void);
86 20 CharacterJointBundle 0 4 103 42 CharacterJointBundle::CharacterJointBundle 0 2 41 42 723
////////////////////////////////////////////////////////////////////
// Function: CharacterJointBundle::Copy Constructor
// Access: Public
// Description: Normally, you'd use make_copy() or copy_subgraph() to
// make a copy of this.
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
// Function: CharacterJointBundle::Constructor
// Access: Public
// Description: Normally, there is no need to create a
// CharacterJointBundle directly. The Character node
// will automatically create one for itself.
////////////////////////////////////////////////////////////////////
84
CharacterJointBundle::CharacterJointBundle(basic_string< char > const &name = (""));
87 8 get_node 0 4 103 30 CharacterJointBundle::get_node 0 1 43 302
////////////////////////////////////////////////////////////////////
// Function: CharacterJointBundle::get_node
// Access: Public
// Description: Returns the nth Character associated with
// this PartBundle.
////////////////////////////////////////////////////////////////////
62
inline Character *CharacterJointBundle::get_node(int n) const;
88 14 get_class_type 0 4 103 36 CharacterJointBundle::get_class_type 0 1 44 0
61
static TypeHandle CharacterJointBundle::get_class_type(void);
89 4 make 0 4 105 26 CharacterJointEffect::make 0 1 45 533
////////////////////////////////////////////////////////////////////
// Function: CharacterJointEffect::make
// Access: Published, Static
// Description: 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);
90 13 get_character 0 4 105 35 CharacterJointEffect::get_character 0 1 46 413
////////////////////////////////////////////////////////////////////
// Function: CharacterJointEffect::get_character
// Access: Published
// Description: 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.
////////////////////////////////////////////////////////////////////
66
inline Character *CharacterJointEffect::get_character(void) const;
91 14 get_class_type 0 4 105 36 CharacterJointEffect::get_class_type 0 1 47 0
61
static TypeHandle CharacterJointEffect::get_class_type(void);
92 21 ~CharacterJointEffect 0 4 105 43 CharacterJointEffect::~CharacterJointEffect 0 0 0
50
CharacterJointEffect::~CharacterJointEffect(void);
47
1 14 Dtool_uMZIA22U 0 7 3 115 0 14 Dtool_uMZIA22U 223 ////////////////////////////////////////////////////////////////////
// Function: CharacterJoint::Constructor
// Access: Public
// Description:
//////////////////////////////////////////////////////////////////// 5 9 character 1 107 4 root 1 108 6 parent 1 109 4 name 1 111 13 default_value 1 112
2 14 Dtool_uMZI0hP_ 0 6 4 118 0 14 Dtool_uMZI0hP_ 646 ////////////////////////////////////////////////////////////////////
// Function: CharacterJoint::add_net_transform
// Access: Published
// Description: 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 115 4 node 1 116
3 14 Dtool_uMZI6yW0 0 6 5 118 0 14 Dtool_uMZI6yW0 648 ////////////////////////////////////////////////////////////////////
// Function: CharacterJoint::remove_net_transform
// Access: Published
// Description: 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 115 4 node 1 116
4 14 Dtool_uMZIHxNe 0 6 6 118 0 14 Dtool_uMZIHxNe 410 ////////////////////////////////////////////////////////////////////
// Function: CharacterJoint::has_net_transform
// Access: Published
// Description: 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 119 4 node 1 116
5 14 Dtool_uMZILDWU 0 4 7 121 0 14 Dtool_uMZILDWU 388 ////////////////////////////////////////////////////////////////////
// Function: CharacterJoint::clear_net_transforms
// Access: Published
// Description: 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 115
6 14 Dtool_uMZIeulW 0 7 8 123 0 14 Dtool_uMZIeulW 451 ////////////////////////////////////////////////////////////////////
// Function: CharacterJoint::get_net_transforms
// Access: Published
// Description: 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 115
7 14 Dtool_uMZIDPic 0 6 9 118 0 14 Dtool_uMZIDPic 912 ////////////////////////////////////////////////////////////////////
// Function: CharacterJoint::add_local_transform
// Access: Published
// Description: 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 115 4 node 1 116
8 14 Dtool_uMZIosae 0 6 10 118 0 14 Dtool_uMZIosae 654 ////////////////////////////////////////////////////////////////////
// Function: CharacterJoint::remove_local_transform
// Access: Published
// Description: 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 115 4 node 1 116
9 14 Dtool_uMZIPfag 0 6 11 118 0 14 Dtool_uMZIPfag 416 ////////////////////////////////////////////////////////////////////
// Function: CharacterJoint::has_local_transform
// Access: Published
// Description: 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 119 4 node 1 116
10 14 Dtool_uMZIGw1l 0 4 12 121 0 14 Dtool_uMZIGw1l 394 ////////////////////////////////////////////////////////////////////
// Function: CharacterJoint::clear_local_transforms
// Access: Published
// Description: 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 115
11 14 Dtool_uMZIL8vA 0 7 13 123 0 14 Dtool_uMZIL8vA 457 ////////////////////////////////////////////////////////////////////
// Function: CharacterJoint::get_local_transforms
// Access: Published
// Description: 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 115
12 14 Dtool_uMZI2pbx 0 6 14 112 0 14 Dtool_uMZI2pbx 760 // Filename: characterJoint.I
// Created by: drose (20Nov08)
//
////////////////////////////////////////////////////////////////////
//
// PANDA 3D SOFTWARE
// Copyright (c) Carnegie Mellon University. All rights reserved.
//
// All use of this software is subject to the terms of the revised BSD
// license. You should have received a copy of this license along
// with this source code in a file named "LICENSE."
//
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
// Function: CharacterJoint::get_transform
// Access: Published
// Description: Returns the transform matrix of the joint
//////////////////////////////////////////////////////////////////// 1 4 this 3 119
13 14 Dtool_uMZIDAfP 0 4 14 121 0 14 Dtool_uMZIDAfP 309 ////////////////////////////////////////////////////////////////////
// Function: CharacterJoint::get_transform
// Access: Published
// Description: Copies the joint's current transform into the
// indicated matrix.
//////////////////////////////////////////////////////////////////// 2 4 this 3 119 9 transform 1 124
14 14 Dtool_uMZIBOkc 0 7 15 127 0 14 Dtool_uMZIBOkc 0 1 4 this 3 119
15 14 Dtool_uMZI3CE8 0 4 16 121 0 14 Dtool_uMZI3CE8 392 ////////////////////////////////////////////////////////////////////
// Function: CharacterJoint::get_net_transform
// Access: Published
// Description: Copies the joint's current net transform (composed
// from the root of the character joint hierarchy) into
// the indicated matrix.
//////////////////////////////////////////////////////////////////// 2 4 this 3 119 9 transform 1 124
16 14 Dtool_uMZIGjty 0 7 17 107 0 14 Dtool_uMZIGjty 272 ////////////////////////////////////////////////////////////////////
// Function: CharacterJoint::get_character
// Access: Published
// Description: Returns the Character that owns this joint.
//////////////////////////////////////////////////////////////////// 1 4 this 3 119
17 14 Dtool_uMZIp_fE 0 7 18 129 0 14 Dtool_uMZIp_fE 0 0
18 14 Dtool_uMZIoGHY 0 7 21 130 0 14 Dtool_uMZIoGHY 224 ////////////////////////////////////////////////////////////////////
// Function: CharacterSlider::Constructor
// Access: Public
// Description:
//////////////////////////////////////////////////////////////////// 2 6 parent 1 109 4 name 1 111
19 14 Dtool_uMZIkkgC 0 6 22 118 0 14 Dtool_uMZIkkgC 603 ////////////////////////////////////////////////////////////////////
// Function: CharacterSlider::update_internals
// Access: Public, Virtual
// Description: This is called by do_update() whenever the part or
// some ancestor has changed values. It is a hook for
// derived classes to update whatever cache they may
// have that depends on these.
//
// The return value is true if the part has changed as a
// result of the update, or false otherwise.
//////////////////////////////////////////////////////////////////// 6 4 this 3 130 4 root 1 108 6 parent 1 109 12 self_changed 1 118 14 parent_changed 1 118 14 current_thread 1 131
20 14 Dtool_uMZIC18r 0 7 23 129 0 14 Dtool_uMZIC18r 0 0
21 14 Dtool_uMZI_y8G 0 7 26 133 0 14 Dtool_uMZI_y8G 399 ////////////////////////////////////////////////////////////////////
// Function: CharacterVertexSlider::Constructor
// Access: Published
// Description: 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 130
22 14 Dtool_uMZIGzr0 0 7 27 137 0 14 Dtool_uMZIGzr0 834 // Filename: characterVertexSlider.I
// Created by: drose (28Mar05)
//
////////////////////////////////////////////////////////////////////
//
// PANDA 3D SOFTWARE
// Copyright (c) Carnegie Mellon University. All rights reserved.
//
// All use of this software is subject to the terms of the revised BSD
// license. You should have received a copy of this license along
// with this source code in a file named "LICENSE."
//
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
// Function: CharacterVertexSlider::get_char_slider
// Access: Published
// Description: Returns the CharacterSlider object for which this
// object returns the slider value.
//////////////////////////////////////////////////////////////////// 1 4 this 3 135
23 14 Dtool_uMZI0Nq1 0 7 28 129 0 14 Dtool_uMZI0Nq1 0 0
24 14 Dtool_uMZI1hyI 0 7 31 138 0 14 Dtool_uMZI1hyI 398 ////////////////////////////////////////////////////////////////////
// Function: JointVertexTransform::Constructor
// Access: Published
// Description: 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 115
25 14 Dtool_uMZIewMf 0 7 32 119 0 14 Dtool_uMZIewMf 806 // Filename: jointVertexTransform.I
// Created by: drose (24Mar05)
//
////////////////////////////////////////////////////////////////////
//
// PANDA 3D SOFTWARE
// Copyright (c) Carnegie Mellon University. All rights reserved.
//
// All use of this software is subject to the terms of the revised BSD
// license. You should have received a copy of this license along
// with this source code in a file named "LICENSE."
//
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
// Function: JointVertexTransform::get_joint
// Access: Published
// Description: Returns the joint for which this object returns the
// transform.
//////////////////////////////////////////////////////////////////// 1 4 this 3 139
26 14 Dtool_uMZIjhsr 0 7 33 129 0 14 Dtool_uMZIjhsr 0 0
27 14 Dtool_uMZIhs8D 0 7 36 107 0 14 Dtool_uMZIhs8D 218 ////////////////////////////////////////////////////////////////////
// Function: Character::Constructor
// Access: Public
// Description:
//////////////////////////////////////////////////////////////////// 1 4 name 1 111
28 14 Dtool_uMZIJw7_ 0 7 37 144 0 14 Dtool_uMZIJw7_ 220 ////////////////////////////////////////////////////////////////////
// Function: Character::get_bundle
// Access: Published
// Description:
//////////////////////////////////////////////////////////////////// 2 4 this 3 141 1 i 1 143
29 14 Dtool_uMZI36Qi 0 4 38 121 0 14 Dtool_uMZI36Qi 701 ////////////////////////////////////////////////////////////////////
// Function: Character::merge_bundles
// Access: Published
// Description: 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 107 10 old_bundle 1 108 12 other_bundle 1 108
30 14 Dtool_uMZIFU2c 0 4 38 121 0 14 Dtool_uMZIFU2c 1454 ////////////////////////////////////////////////////////////////////
// Function: Character::merge_bundles
// Access: Published
// Description: 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 107 17 old_bundle_handle 1 145 19 other_bundle_handle 1 145
31 14 Dtool_uMZIndlW 0 4 39 121 0 14 Dtool_uMZIndlW 1731 ////////////////////////////////////////////////////////////////////
// Function: Character::set_lod_animation
// Access: Published
// Description: 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 107 6 center 1 147 12 far_distance 1 150 13 near_distance 1 150 12 delay_factor 1 150
32 14 Dtool_uMZIJ9zR 0 4 40 121 0 14 Dtool_uMZIJ9zR 436 ////////////////////////////////////////////////////////////////////
// Function: Character::clear_lod_animation
// Access: Published
// Description: 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 107
33 14 Dtool_uMZIv8ZU 0 7 41 115 0 14 Dtool_uMZIv8ZU 412 ////////////////////////////////////////////////////////////////////
// Function: Character::find_joint
// Access: Published
// Description: 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 141 4 name 1 111
34 14 Dtool_uMZIypWE 0 7 42 130 0 14 Dtool_uMZIypWE 415 ////////////////////////////////////////////////////////////////////
// Function: Character::find_slider
// Access: Published
// Description: 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 141 4 name 1 111
35 14 Dtool_uMZIoBhZ 0 4 43 121 0 14 Dtool_uMZIoBhZ 371 ////////////////////////////////////////////////////////////////////
// Function: Character::write_parts
// Access: Published
// Description: Writes a list of the Character's joints and sliders,
// in their hierchical structure, to the indicated
// output stream.
//////////////////////////////////////////////////////////////////// 2 4 this 3 141 3 out 1 151
36 14 Dtool_uMZI2iP2 0 4 44 121 0 14 Dtool_uMZI2iP2 411 ////////////////////////////////////////////////////////////////////
// Function: Character::write_part_values
// Access: Published
// Description: 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 141 3 out 1 151
37 14 Dtool_uMZI_b_8 0 4 45 121 0 14 Dtool_uMZI_b_8 612 ////////////////////////////////////////////////////////////////////
// Function: Character::update_to_now
// Access: Published
// Description: 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 107
38 14 Dtool_uMZIoVfb 0 4 46 121 0 14 Dtool_uMZIoVfb 434 ////////////////////////////////////////////////////////////////////
// Function: Character::update
// Access: Published
// Description: 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 107
39 14 Dtool_uMZICgKI 0 4 47 121 0 14 Dtool_uMZICgKI 303 ////////////////////////////////////////////////////////////////////
// Function: Character::force_update
// Access: Published
// Description: Recalculates the character even if we think it
// doesn't need it.
//////////////////////////////////////////////////////////////////// 1 4 this 3 107
40 14 Dtool_uMZIBCxW 0 7 48 129 0 14 Dtool_uMZIBCxW 0 0
41 14 Dtool_uMZIDlKr 0 7 51 144 0 14 Dtool_uMZIDlKr 395 ////////////////////////////////////////////////////////////////////
// Function: CharacterJointBundle::Constructor
// Access: Public
// Description: Normally, there is no need to create a
// CharacterJointBundle directly. The Character node
// will automatically create one for itself.
//////////////////////////////////////////////////////////////////// 1 4 name 1 111
42 14 Dtool_uMZIhKD8 0 7 51 144 0 14 Dtool_uMZIhKD8 395 ////////////////////////////////////////////////////////////////////
// Function: CharacterJointBundle::Constructor
// Access: Public
// Description: Normally, there is no need to create a
// CharacterJointBundle directly. The Character node
// will automatically create one for itself.
//////////////////////////////////////////////////////////////////// 0
43 14 Dtool_uMZIf0ve 0 7 52 107 0 14 Dtool_uMZIf0ve 302 ////////////////////////////////////////////////////////////////////
// Function: CharacterJointBundle::get_node
// Access: Public
// Description: Returns the nth Character associated with
// this PartBundle.
//////////////////////////////////////////////////////////////////// 2 4 this 3 153 1 n 1 143
44 14 Dtool_uMZIalYp 0 7 53 129 0 14 Dtool_uMZIalYp 0 0
45 14 Dtool_uMZIZ_sz 0 7 56 156 0 14 Dtool_uMZIZ_sz 533 ////////////////////////////////////////////////////////////////////
// Function: CharacterJointEffect::make
// Access: Published, Static
// Description: 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 107
46 14 Dtool_uMZIc3hd 0 7 57 107 0 14 Dtool_uMZIc3hd 413 ////////////////////////////////////////////////////////////////////
// Function: CharacterJointEffect::get_character
// Access: Published
// Description: 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 157
47 14 Dtool_uMZI8jbN 0 7 58 129 0 14 Dtool_uMZI8jbN 0 0
66
93 14 CharacterJoint 0 75777 14 CharacterJoint 14 CharacterJoint 0 0 0 1 48 0 0 15 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 0 0 1 0 94 0 0 0 0 301
////////////////////////////////////////////////////////////////////
// Class : CharacterJoint
// Description : This represents one joint of the character's
// animation, containing an animating transform matrix.
////////////////////////////////////////////////////////////////////
94 16 MovingPartMatrix 0 2049 16 MovingPartMatrix 16 MovingPartMatrix 0 0 0 0 0 0 0 0 0 0 0 0 279
////////////////////////////////////////////////////////////////////
// Class : MovingPartMatrix
// Description : This is a particular kind of MovingPart that accepts
// a matrix each frame.
////////////////////////////////////////////////////////////////////
95 15 CharacterSlider 0 75777 15 CharacterSlider 15 CharacterSlider 0 0 0 1 64 0 0 2 65 66 0 0 1 0 96 0 0 0 0 437
////////////////////////////////////////////////////////////////////
// Class : CharacterSlider
// Description : 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.
////////////////////////////////////////////////////////////////////
96 16 MovingPartScalar 0 2049 16 MovingPartScalar 16 MovingPartScalar 0 0 0 0 0 0 0 0 0 0 0 0 279
////////////////////////////////////////////////////////////////////
// Class : MovingPartScalar
// Description : This is a particular kind of MovingPart that accepts
// a scalar each frame.
////////////////////////////////////////////////////////////////////
97 21 CharacterVertexSlider 0 75777 21 CharacterVertexSlider 21 CharacterVertexSlider 0 0 0 1 67 0 0 2 68 69 0 0 1 0 98 0 0 0 0 351
////////////////////////////////////////////////////////////////////
// Class : CharacterVertexSlider
// Description : This is a specialization on VertexSlider that
// returns the slider value associated with a particular
// CharacterSlider object.
////////////////////////////////////////////////////////////////////
98 12 VertexSlider 0 2049 12 VertexSlider 12 VertexSlider 0 0 0 0 0 0 0 0 0 0 0 0 607
////////////////////////////////////////////////////////////////////
// Class : VertexSlider
// Description : 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.
////////////////////////////////////////////////////////////////////
99 20 JointVertexTransform 0 75777 20 JointVertexTransform 20 JointVertexTransform 0 0 0 1 70 0 0 2 71 72 0 0 1 0 100 0 0 0 0 804
////////////////////////////////////////////////////////////////////
// Class : JointVertexTransform
// Description : 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.
////////////////////////////////////////////////////////////////////
100 15 VertexTransform 0 2049 15 VertexTransform 15 VertexTransform 0 0 0 0 0 0 0 0 0 0 0 0 558
////////////////////////////////////////////////////////////////////
// Class : VertexTransform
// Description : 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.
////////////////////////////////////////////////////////////////////
101 9 Character 0 75777 9 Character 9 Character 0 0 0 1 73 0 0 12 74 75 76 77 78 79 80 81 82 83 84 85 0 0 1 0 102 0 0 0 0 301
////////////////////////////////////////////////////////////////////
// Class : Character
// Description : An animated character, with skeleton-morph animation
// and either soft-skinned or hard-skinned vertices.
////////////////////////////////////////////////////////////////////
102 14 PartBundleNode 0 2049 14 PartBundleNode 14 PartBundleNode 0 0 0 0 0 0 0 2 159 160 0 0 0 0 605
////////////////////////////////////////////////////////////////////
// Class : PartBundleNode
// Description : 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.)
////////////////////////////////////////////////////////////////////
103 20 CharacterJointBundle 0 75777 20 CharacterJointBundle 20 CharacterJointBundle 0 0 0 1 86 0 0 2 87 88 0 0 1 0 104 0 0 0 0 272
////////////////////////////////////////////////////////////////////
// Class : CharacterJointBundle
// Description : The collection of all the joints and sliders in the
// character.
////////////////////////////////////////////////////////////////////
104 10 PartBundle 0 2049 10 PartBundle 10 PartBundle 0 0 0 0 0 0 0 1 161 0 0 0 0 337
////////////////////////////////////////////////////////////////////
// Class : PartBundle
// Description : This is the root of a MovingPart hierarchy. It
// defines the hierarchy of moving parts that make up an
// animatable object.
////////////////////////////////////////////////////////////////////
105 20 CharacterJointEffect 0 141313 20 CharacterJointEffect 20 CharacterJointEffect 0 0 0 0 92 0 3 89 90 91 0 0 1 0 106 0 0 0 0 609
////////////////////////////////////////////////////////////////////
// Class : CharacterJointEffect
// Description : 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.
////////////////////////////////////////////////////////////////////
106 12 RenderEffect 0 2049 12 RenderEffect 12 RenderEffect 0 0 0 0 0 0 0 0 0 0 0 0 1346
////////////////////////////////////////////////////////////////////
// Class : RenderEffect
// Description : 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.
////////////////////////////////////////////////////////////////////
107 11 Character * 0 8576 11 Character * 11 Character * 0 0 101 0 0 0 0 0 0 0 0 0 0
108 12 PartBundle * 0 8576 12 PartBundle * 12 PartBundle * 0 0 104 0 0 0 0 0 0 0 0 0 0
109 11 PartGroup * 0 8576 11 PartGroup * 11 PartGroup * 0 0 110 0 0 0 0 0 0 0 0 0 0
110 9 PartGroup 0 2048 9 PartGroup 9 PartGroup 0 0 0 0 0 0 0 1 162 0 0 0 0 290
////////////////////////////////////////////////////////////////////
// Class : PartGroup
// Description : This is the base class for PartRoot and
// MovingPart. It defines a hierarchy of MovingParts.
////////////////////////////////////////////////////////////////////
111 13 atomic string 0 2 13 atomic string 13 atomic string 0 7 0 0 0 0 0 0 0 0 0 0 0
112 17 LMatrix4f const * 0 8576 17 LMatrix4f const * 17 LMatrix4f const * 0 0 113 0 0 0 0 0 0 0 0 0 0
113 15 LMatrix4f const 0 8832 15 LMatrix4f const 15 LMatrix4f const 0 0 114 0 0 0 0 0 0 0 0 0 0
114 9 LMatrix4f 0 2048 9 LMatrix4f 9 LMatrix4f 0 0 0 0 0 0 0 3 163 164 165 0 0 0 0 215
////////////////////////////////////////////////////////////////////
// Class : LMatrix4
// Description : This is a 4-by-4 transform matrix.
////////////////////////////////////////////////////////////////////
115 16 CharacterJoint * 0 8576 16 CharacterJoint * 16 CharacterJoint * 0 0 93 0 0 0 0 0 0 0 0 0 0
116 11 PandaNode * 0 8576 11 PandaNode * 11 PandaNode * 0 0 117 0 0 0 0 0 0 0 0 0 0
117 9 PandaNode 0 2048 9 PandaNode 9 PandaNode 0 0 0 0 0 0 0 0 0 0 0 0 374
////////////////////////////////////////////////////////////////////
// Class : PandaNode
// Description : 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.
////////////////////////////////////////////////////////////////////
118 4 bool 0 8194 4 bool 4 bool 0 4 0 0 0 0 0 0 0 0 0 0 0
119 22 CharacterJoint const * 0 8576 22 CharacterJoint const * 22 CharacterJoint const * 0 0 120 0 0 0 0 0 0 0 0 0 0
120 20 CharacterJoint const 0 8832 20 CharacterJoint const 20 CharacterJoint const 0 0 93 0 0 0 0 0 0 0 0 0 0
121 4 void 0 8194 4 void 4 void 0 6 0 0 0 0 0 0 0 0 0 0 0
122 18 NodePathCollection 0 2048 18 NodePathCollection 18 NodePathCollection 0 0 0 0 0 0 0 1 166 0 0 0 0 403
////////////////////////////////////////////////////////////////////
// Class : NodePathCollection
// Description : 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).
////////////////////////////////////////////////////////////////////
123 20 NodePathCollection * 0 8576 20 NodePathCollection * 20 NodePathCollection * 0 0 122 0 0 0 0 0 0 0 0 0 0
124 11 LMatrix4f * 0 8576 11 LMatrix4f * 11 LMatrix4f * 0 0 114 0 0 0 0 0 0 0 0 0 0
125 20 TransformState const 0 8832 20 TransformState const 20 TransformState const 0 0 126 0 0 0 0 0 0 0 0 0 0
126 14 TransformState 0 2048 14 TransformState 14 TransformState 0 0 0 0 0 0 0 0 0 0 0 0 1138
////////////////////////////////////////////////////////////////////
// Class : TransformState
// Description : 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.
////////////////////////////////////////////////////////////////////
127 22 TransformState const * 0 8576 22 TransformState const * 22 TransformState const * 0 0 125 0 0 0 0 0 0 0 0 0 0
128 10 TypeHandle 0 2048 10 TypeHandle 10 TypeHandle 0 0 0 0 0 0 0 0 0 0 0 0 1098
////////////////////////////////////////////////////////////////////
// Class : TypeHandle
// Description : 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.
////////////////////////////////////////////////////////////////////
129 12 TypeHandle * 0 8576 12 TypeHandle * 12 TypeHandle * 0 0 128 0 0 0 0 0 0 0 0 0 0
130 17 CharacterSlider * 0 8576 17 CharacterSlider * 17 CharacterSlider * 0 0 95 0 0 0 0 0 0 0 0 0 0
131 8 Thread * 0 8576 8 Thread * 8 Thread * 0 0 132 0 0 0 0 0 0 0 0 0 0
132 6 Thread 0 2048 6 Thread 6 Thread 0 0 0 0 0 0 0 0 0 0 0 0 668
////////////////////////////////////////////////////////////////////
// Class : Thread
// Description : A thread; that is, a lightweight process. This is an
// abstract base class; to use it, you must subclass
// from it and redefine thread_main().
//
// The thread itself will keep a reference count on the
// Thread object while it is running; when the thread
// returns from its root function, the Thread object
// will automatically be destructed if no other pointers
// are referencing it.
////////////////////////////////////////////////////////////////////
133 23 CharacterVertexSlider * 0 8576 23 CharacterVertexSlider * 23 CharacterVertexSlider * 0 0 97 0 0 0 0 0 0 0 0 0 0
134 21 CharacterSlider const 0 8832 21 CharacterSlider const 21 CharacterSlider const 0 0 95 0 0 0 0 0 0 0 0 0 0
135 29 CharacterVertexSlider const * 0 8576 29 CharacterVertexSlider const * 29 CharacterVertexSlider const * 0 0 136 0 0 0 0 0 0 0 0 0 0
136 27 CharacterVertexSlider const 0 8832 27 CharacterVertexSlider const 27 CharacterVertexSlider const 0 0 97 0 0 0 0 0 0 0 0 0 0
137 23 CharacterSlider const * 0 8576 23 CharacterSlider const * 23 CharacterSlider const * 0 0 134 0 0 0 0 0 0 0 0 0 0
138 22 JointVertexTransform * 0 8576 22 JointVertexTransform * 22 JointVertexTransform * 0 0 99 0 0 0 0 0 0 0 0 0 0
139 28 JointVertexTransform const * 0 8576 28 JointVertexTransform const * 28 JointVertexTransform const * 0 0 140 0 0 0 0 0 0 0 0 0 0
140 26 JointVertexTransform const 0 8832 26 JointVertexTransform const 26 JointVertexTransform const 0 0 99 0 0 0 0 0 0 0 0 0 0
141 17 Character const * 0 8576 17 Character const * 17 Character const * 0 0 142 0 0 0 0 0 0 0 0 0 0
142 15 Character const 0 8832 15 Character const 15 Character const 0 0 101 0 0 0 0 0 0 0 0 0 0
143 3 int 0 8194 3 int 3 int 0 1 0 0 0 0 0 0 0 0 0 0 0
144 22 CharacterJointBundle * 0 8576 22 CharacterJointBundle * 22 CharacterJointBundle * 0 0 103 0 0 0 0 0 0 0 0 0 0
145 18 PartBundleHandle * 0 8576 18 PartBundleHandle * 18 PartBundleHandle * 0 0 146 0 0 0 0 0 0 0 0 0 0
146 16 PartBundleHandle 0 2048 16 PartBundleHandle 16 PartBundleHandle 0 0 0 0 0 0 0 0 0 0 0 0 890
////////////////////////////////////////////////////////////////////
// Class : PartBundleHandle
// Description : 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.
////////////////////////////////////////////////////////////////////
147 16 LPoint3f const * 0 8576 16 LPoint3f const * 16 LPoint3f const * 0 0 148 0 0 0 0 0 0 0 0 0 0
148 14 LPoint3f const 0 8832 14 LPoint3f const 14 LPoint3f const 0 0 149 0 0 0 0 0 0 0 0 0 0
149 8 LPoint3f 0 2048 8 LPoint3f 8 LPoint3f 0 0 0 0 0 0 0 0 0 0 0 0 1083
// Filename: lpoint3_src.h
// Created by: drose (25Sep99)
//
////////////////////////////////////////////////////////////////////
//
// PANDA 3D SOFTWARE
// Copyright (c) Carnegie Mellon University. All rights reserved.
//
// All use of this software is subject to the terms of the revised BSD
// license. You should have received a copy of this license along
// with this source code in a file named "LICENSE."
//
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
// Class : LPoint3
// Description : 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.
////////////////////////////////////////////////////////////////////
150 5 float 0 8194 5 float 5 float 0 2 0 0 0 0 0 0 0 0 0 0 0
151 9 ostream * 0 8576 9 ostream * 9 ostream * 0 0 152 0 0 0 0 0 0 0 0 0 0
152 7 ostream 0 2048 7 ostream 7 ostream 0 0 0 0 0 0 0 0 0 0 0 0 0
153 28 CharacterJointBundle const * 0 8576 28 CharacterJointBundle const * 28 CharacterJointBundle const * 0 0 154 0 0 0 0 0 0 0 0 0 0
154 26 CharacterJointBundle const 0 8832 26 CharacterJointBundle const 26 CharacterJointBundle const 0 0 103 0 0 0 0 0 0 0 0 0 0
155 18 RenderEffect const 0 8832 18 RenderEffect const 18 RenderEffect const 0 0 106 0 0 0 0 0 0 0 0 0 0
156 20 RenderEffect const * 0 8576 20 RenderEffect const * 20 RenderEffect const * 0 0 155 0 0 0 0 0 0 0 0 0 0
157 28 CharacterJointEffect const * 0 8576 28 CharacterJointEffect const * 28 CharacterJointEffect const * 0 0 158 0 0 0 0 0 0 0 0 0 0
158 26 CharacterJointEffect const 0 8832 26 CharacterJointEffect const 26 CharacterJointEffect const 0 0 105 0 0 0 0 0 0 0 0 0 0
0
0
8
159 0 0 35 11 get_bundles 15 get_num_bundles 10 get_bundle
160 0 0 35 18 get_bundle_handles 15 get_num_bundles 17 get_bundle_handle
161 0 0 50 9 get_nodes 13 get_num_nodes 8 get_node
162 0 0 64 12 get_children 16 get_num_children 9 get_child
163 0 0 68 8 get_rows 4 size 7 get_row
164 0 0 68 8 get_cols 4 size 7 get_col
165 0 0 68 9 get_row3s 4 size 8 get_row3
166 0 0 80 9 get_paths 13 get_num_paths 8 get_path