Panda3D
Loading...
Searching...
No Matches
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
17TypeHandle 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 */
25add_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 */
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 */
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 */
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 */
65expose(EggGroup::DCSType) {
66}
67
68/**
69 * Zeroes out the named components of the transform in the animation frames.
70 */
72zero_channels(const std::string &) {
73}
74
75/**
76 * Rounds the named components of the transform to the nearest multiple of
77 * quantum.
78 */
80quantize_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 */
88apply_default_pose(EggJointPointer *source_joint, int frame) {
89}
This class is used during joint optimization or restructuring to store the table of interim joint com...
This is a base class for EggJointNodePointer and EggMatrixTablePointer.
virtual void zero_channels(const std::string &components)
Zeroes out the named components of the transform in the animation frames.
virtual void optimize()
Resets the table before writing to disk so that redundant rows (e.g.
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 ...
virtual bool add_frame(const LMatrix4d &mat)
Appends a new frame onto the end of the data, if possible; returns true if not possible,...
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...
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).
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...
virtual void quantize_channels(const std::string &components, double quantum)
Rounds the named components of the transform to the nearest multiple of quantum.
TypeHandle is the identifier used to differentiate C++ class types.
Definition typeHandle.h:81
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.