Panda3D

eggJointPointer.cxx
Go to the documentation of this file.
1 /**
2 * PANDA 3D SOFTWARE
3 * Copyright (c) Carnegie Mellon University. All rights reserved.
4 *
5 * All use of this software is subject to the terms of the revised BSD
6 * license. You should have received a copy of this license along
7 * with this source code in a file named "LICENSE."
8 *
9 * @file eggJointPointer.cxx
10 * @author drose
11 * @date 2001-02-26
12 */
13
14 #include "eggJointPointer.h"
15
16
17 TypeHandle EggJointPointer::_type_handle;
18
19
20 /**
21 * Appends a new frame onto the end of the data, if possible; returns true if
22 * not possible, or false otherwise (e.g. for a static joint).
23 */
24 bool EggJointPointer::
25 add_frame(const LMatrix4d &) {
26 return false;
27 }
28
29 /**
30 * Moves the vertices assigned to this joint into the other joint (which
31 * should be of the same type).
32 */
33 void EggJointPointer::
34 move_vertices_to(EggJointPointer *) {
35 }
36
37 /**
38 * Rebuilds the entire table all at once, based on the frames added by
39 * repeated calls to add_rebuild_frame() since the last call to
40 * begin_rebuild().
41 *
42 * Until do_rebuild() is called, the animation table is not changed.
43 *
44 * The return value is true if all frames are acceptable, or false if there is
45 * some problem.
46 */
47 bool EggJointPointer::
48 do_rebuild(EggCharacterDb &db) {
49 return true;
50 }
51
52 /**
53 * Resets the table before writing to disk so that redundant rows (e.g. i { 1
54 * 1 1 1 1 1 1 1 }) are collapsed out.
55 */
56 void EggJointPointer::
57 optimize() {
58 }
59
60 /**
61 * Flags the joint with the indicated DCS flag so that it will be loaded as a
62 * separate node in the player.
63 */
64 void EggJointPointer::
65 expose(EggGroup::DCSType) {
66 }
67
68 /**
69 * Zeroes out the named components of the transform in the animation frames.
70 */
71 void EggJointPointer::
72 zero_channels(const std::string &) {
73 }
74
75 /**
76 * Rounds the named components of the transform to the nearest multiple of
77 * quantum.
78 */
79 void EggJointPointer::
80 quantize_channels(const std::string &, double) {
81 }
82
83 /**
84 * Applies the pose from the indicated frame of the indicated source joint as
85 * the initial pose for this joint.
86 */
87 void EggJointPointer::
88 apply_default_pose(EggJointPointer *source_joint, int frame) {
89 }
EggCharacterDb
This class is used during joint optimization or restructuring to store the table of interim joint com...
Definition: eggCharacterDb.h:41
EggJointPointer
This is a base class for EggJointNodePointer and EggMatrixTablePointer.
Definition: eggJointPointer.h:31
EggJointPointer::zero_channels
virtual void zero_channels(const std::string &components)
Zeroes out the named components of the transform in the animation frames.
Definition: eggJointPointer.cxx:72
EggJointPointer::optimize
virtual void optimize()
Resets the table before writing to disk so that redundant rows (e.g.
Definition: eggJointPointer.cxx:57
EggJointPointer::apply_default_pose
virtual void apply_default_pose(EggJointPointer *source_joint, int frame)
Applies the pose from the indicated frame of the indicated source joint as the initial pose for this ...
Definition: eggJointPointer.cxx:88
EggJointPointer::add_frame
virtual bool add_frame(const LMatrix4d &mat)
Appends a new frame onto the end of the data, if possible; returns true if not possible,...
Definition: eggJointPointer.cxx:25
EggJointPointer::expose
virtual void expose(EggGroup::DCSType dcs_type)
Flags the joint with the indicated DCS flag so that it will be loaded as a separate node in the playe...
Definition: eggJointPointer.cxx:65
EggJointPointer::move_vertices_to
virtual void move_vertices_to(EggJointPointer *new_joint)
Moves the vertices assigned to this joint into the other joint (which should be of the same type).
Definition: eggJointPointer.cxx:34
EggJointPointer::do_rebuild
virtual bool do_rebuild(EggCharacterDb &db)
Rebuilds the entire table all at once, based on the frames added by repeated calls to add_rebuild_fra...
Definition: eggJointPointer.cxx:48
EggJointPointer::quantize_channels
virtual void quantize_channels(const std::string &components, double quantum)
Rounds the named components of the transform to the nearest multiple of quantum.
Definition: eggJointPointer.cxx:80
TypeHandle
TypeHandle is the identifier used to differentiate C++ class types.
Definition: typeHandle.h:81
eggJointPointer.h
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.