Panda3D
Loading...
Searching...
No Matches
animBundleMaker.h
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 animBundleMaker.h
10 * @author drose
11 * @date 1999-02-22
12 */
13
14#ifndef ANIMBUNDLEMAKER_H
15#define ANIMBUNDLEMAKER_H
16
17#include "pandabase.h"
18#include "typedef.h"
19
20class EggNode;
21class EggGroupNode;
22class EggTable;
23class EggXfmSAnim;
24class EggSAnimData;
25class AnimGroup;
26class AnimBundle;
27class AnimBundleNode;
30
31/**
32 * Converts an EggTable hierarchy, beginning with a <Bundle> entry, into an
33 * AnimBundle hierarchy.
34 */
35class EXPCL_PANDA_EGG2PG AnimBundleMaker {
36public:
37 explicit AnimBundleMaker(EggTable *root);
38
39 AnimBundleNode *make_node();
40
41private:
42 AnimBundle *make_bundle();
43
44 void inspect_tree(EggNode *node);
45 void build_hierarchy(EggTable *egg_table, AnimGroup *parent);
46
48 create_s_channel(EggSAnimData *egg_anim, const std::string &name,
49 AnimGroup *parent);
51 create_xfm_channel(EggNode *egg_node, const std::string &name,
52 AnimGroup *parent);
54 create_xfm_channel(EggXfmSAnim *egg_anim, const std::string &name,
55 AnimGroup *parent);
56
57 PN_stdfloat _fps;
58 int _num_frames;
59 bool _ok_fps;
60 bool _ok_num_frames;
61
62 EggTable *_root;
63
64};
65
66#endif
Converts an EggTable hierarchy, beginning with a <Bundle> entry, into an AnimBundle hierarchy.
This is a node that contains a pointer to an AnimBundle.
This is the root of an AnimChannel hierarchy.
Definition animBundle.h:29
An animation channel that issues a matrix each frame, read from a table such as might have been read ...
An animation channel that issues a scalar each frame, read from a table such as might have been read ...
This is the base class for AnimChannel and AnimBundle.
Definition animGroup.h:33
A base class for nodes in the hierarchy that are not leaf nodes.
A base class for things that may be directly added into the egg hierarchy.
Definition eggNode.h:36
Corresponding to an entry, this stores a single column of numbers, for instance for a morph target,...
This corresponds to a.
Definition eggTable.h:27
This corresponds to an <Xfm$Anim_S$> entry, which is a collection of up to nine entries that specify...
Definition eggXfmSAnim.h:28
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.