24 #include <flw/flf/loaders/modelloader/ModelLoaderTraits.h> 25 #include <flw/cmn/Material.h> 26 #include <flw/cmn/Empty.h> 27 #include <flw/flf/loaders/modelloader/AnimatorDefault.h> 35 class VertexBufferBasic;
42 struct PhysicsMeshBuffer;
44 template <
class Traits>
47 static typename C::NodeType getNodeType(
bool);
51 using NodeType = decltype(getNodeType<Traits>(0));
54 static typename C::SceneType getSceneType(
bool);
58 using SceneType = decltype(getSceneType<Traits>(0));
61 static typename C::ShapeType getShapeType(
bool);
65 using ShapeType = decltype(getShapeType<Traits>(0));
68 static typename C::MaterialType getMaterialType(
bool);
72 using MaterialType = decltype(getMaterialType<Traits>(0));
75 static typename C::TextureType getTextureType(
bool);
79 using TextureType = decltype(getTextureType<Traits>(0));
82 static typename C::String getString(
bool);
86 using String = decltype(getString<Traits>(0));
89 static typename C::Animator getAnimator(
bool);
93 using Animator = decltype(getAnimator<Traits>(0));
96 const ShapeType* shape;
98 const std::string diffuse;
99 const std::string normal;
100 const std::string specular;
103 static constexpr
int COUNT_BONES_DEFINED = Traits::COUNT_BONES_DEFINED;
104 static constexpr
int COUNT_BONES_USED = Traits::COUNT_BONES_USED;
105 static constexpr
int FLAG_ANIMATION_OFF = Traits::FLAG_ANIMATION_OFF;
108 static const Material getMaterial(
const MaterialType& material);
109 static ::flw::flc::IndexBuffer* getIndexBuffer(
const ShapeType* shape);
110 static ::flw::flc::VertexBufferBasic* getVertexBuffer(
const ShapeType *shape, Animator *a);
111 static void setTransformation (
const NodeType* node,
Entity* entity);
112 static std::vector<MeshCreationInfo> getMeshes(
const NodeType* node,
const SceneType& scene);
113 static std::vector<NodeType*> getChildren(
const NodeType*);
114 static NodeType* getRootNode(
const SceneType&);
115 static Animator* getAnimator(
const SceneType&);
Per mesh material info.
Definition: Material.h:32
Definition: TModelLoader.h:45
Definition: AnimatorDefault.h:35
Base for all Scene nodes.
Definition: Entity.h:48
Empty class for various purposes.
Definition: Empty.h:30
Physical mesh data.
Definition: PhysicsMeshBuffer.h:33
Definition: TModelLoader.h:95