14#ifndef XFILETOEGGCONVERTER_H
15#define XFILETOEGGCONVERTER_H
40class XFileToEggConverter :
public SomethingToEggConverter {
42 XFileToEggConverter();
43 XFileToEggConverter(
const XFileToEggConverter ©);
44 ~XFileToEggConverter();
46 virtual SomethingToEggConverter *
make_copy();
48 virtual std::string
get_name()
const;
64 std::string _char_name;
83 const std::string &joint_name, FrameData &table);
84 bool convert_animation_key(
XFileDataNode *obj,
const std::string &joint_name,
86 bool set_animation_frame(
const std::string &joint_name, FrameData &table,
87 int frame,
int key_type,
91 bool create_polygons();
92 bool create_hierarchy();
98 int _ticks_per_second;
99 int _total_tick_deltas;
102 typedef pvector<XFileMesh *> Meshes;
105 typedef pvector<XFileAnimationSet *> AnimationSets;
106 AnimationSets _animation_sets;
108 typedef pmap<std::string, EggGroup *> Joints;
An ordered list of data elements, formatted in memory for transmission over a socket or writing to a ...
A base class for nodes in the hierarchy that are not leaf nodes.
The main glue of the egg hierarchy, this corresponds to the <Group>, <Instance>, and <Joint> type nod...
This is a collection of materials by MRef name.
This is a collection of textures by TRef name.
Defines a texture map that may be applied to geometry.
The name of a file, such as a texture file or an Egg file.
TypeHandle is the identifier used to differentiate C++ class types.
This represents a tree of EggTables, corresponding to Animation entries in the X file.
This is an abstract base class for an XFileNode which is also an XFileDataObject.
The abstract base class for a number of different types of data elements that may be stored in the X ...
This represents an X file "material", which consists of a color, lighting, and/or texture specificati...
This is a collection of polygons; i.e.
virtual bool convert_file(const Filename &filename)
Handles the reading of the input file and converting it to egg.
virtual std::string get_extension() const
Returns the common extension of the file type this converter supports.
EggTexture * create_unique_texture(const EggTexture ©)
Returns an EggTexture pointer whose properties match that of the the given EggTexture,...
EggGroup * get_dart_node() const
Returns the root of the joint hierarchy, if _make_char is true, or NULL otherwise.
virtual std::string get_name() const
Returns the English name of the file type this converter supports.
void close()
Finalizes and closes the file previously opened via convert_file().
EggMaterial * create_unique_material(const EggMaterial ©)
Returns an EggMaterial pointer whose properties match that of the the given EggMaterial,...
virtual bool supports_compressed() const
Returns true if this file type can transparently load compressed files (with a .pz extension),...
virtual SomethingToEggConverter * make_copy()
Allocates and returns a new copy of the converter.
EggGroup * find_joint(const std::string &joint_name)
This is called by set_animation_frame, for the purposes of building the frame data for the animation–...
void strip_nodes(TypeHandle t)
Removes all groups of the given type.
This represents the complete contents of an X file (file.x) in memory.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.