libalmath  2.8.7.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
colladascenebuilder.h
Go to the documentation of this file.
1 /*
2  * Copyright 2015 Aldebaran. All rights reserved.
3  *
4  */
5 
6 #ifndef LIB_ALMATH_SCENEGRAPH_COLLADASCENEBUILDER_H
7 #define LIB_ALMATH_SCENEGRAPH_COLLADASCENEBUILDER_H
8 
9 #include <almath/api.h>
11 #include <iosfwd>
12 
13 namespace AL {
14 
15 // pimpl
16 class ColladaSceneBuilderP;
17 
18 // Build the scene in memory in the collada format then write it in
19 // a collada file.
20 //
21 // Note that this class will create a full collada file.
22 // Maybe a version which opens an existing collada file and
23 // adds nodes to it would be more useful.
24 // However, one should then care about id collisions.
25 class ALMATH_API ColladaSceneBuilder : public SceneBuilder {
26  public:
27  ColladaSceneBuilder(const Config &config = Config());
29 
30  void xAddMesh(const Mesh &mesh, const Eigen::Affine3f &tf);
31  ALMATH_API friend std::ostream &operator<<(std::ostream &os,
32  const ColladaSceneBuilder &builder);
34  ColladaSceneBuilder &operator=(const ColladaSceneBuilder &other);
35 
36  private:
37  ColladaSceneBuilderP *_p;
38 };
39 }
40 
41 #endif
std::ostream & operator<<(std::ostream &os, const Buffer &v)
Definition: gltf.h:332
Definition: mesh.h:89