14#ifndef DAETOEGGCONVERTER_H
15#define DAETOEGGCONVERTER_H
27#include <FCDocument/FCDocument.h>
28#include <FCDocument/FCDTransform.h>
29#include <FCDocument/FCDEntityInstance.h>
30#include <FCDocument/FCDControllerInstance.h>
31#include <FCDocument/FCDGeometryMesh.h>
32#include <FCDocument/FCDGeometrySpline.h>
33#include <FCDocument/FCDMaterial.h>
34#include <FMath/FMMatrix44.h>
44class DAEToEggConverter :
public SomethingToEggConverter {
47 DAEToEggConverter(
const DAEToEggConverter ©);
50 virtual SomethingToEggConverter *
make_copy();
52 virtual std::string
get_name()
const;
58 bool _invert_transparency;
61 std::string _unit_name;
64 FCDocument* _document;
65 FUErrorSimpleHandler* _error_handler;
66 DaeCharacter::JointMap _joints;
68 typedef pvector<PT(DaeCharacter)> Characters;
69 Characters _characters;
72 void process_node(
EggGroupNode *parent,
const FCDSceneNode* node,
bool forced =
false);
73 void process_instance(
EggGroup *parent,
const FCDEntityInstance* instance);
74 void process_mesh(
EggGroup *parent,
const FCDGeometryMesh* mesh,
75 DaeMaterials *materials, DaeCharacter *character =
nullptr);
76 void process_spline(
EggGroup *parent,
const std::string group_name, FCDGeometrySpline* geometry_spline);
77 void process_spline(
EggGroup *parent,
const FCDSpline* spline);
78 void process_controller(
EggGroup *parent,
const FCDControllerInstance* instance);
79 void process_extra(
EggGroup *group,
const FCDExtra* extra);
81 static LMatrix4d convert_matrix(
const FMMatrix44& matrix);
82 void apply_transform(
EggGroup *to,
const FCDTransform* from);
84 friend class DaeCharacter;
virtual SomethingToEggConverter * make_copy()
Allocates and returns a new copy of the converter.
virtual std::string get_name() const
Returns the English name of the file type this converter supports.
virtual bool convert_file(const Filename &filename)
Handles the reading of the input file and converting it to egg.
virtual DistanceUnit get_input_units()
This may be called after convert_file() has been called and returned true, indicating a successful co...
virtual std::string get_extension() const
Returns the common extension of the file type this converter supports.
This class is seperated from the converter file because otherwise it would get too big and needlessly...
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 corresponds to a a <Bundle> entry.
The name of a file, such as a texture file or an Egg file.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
DistanceUnit
This enumerated type lists all the kinds of units we're likely to come across in model conversion pro...
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.