diff options
Diffstat (limited to 'source/blender/collada/GeometryExporter.h')
-rw-r--r-- | source/blender/collada/GeometryExporter.h | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/source/blender/collada/GeometryExporter.h b/source/blender/collada/GeometryExporter.h index 7161bb751dd..3719072fe0c 100644 --- a/source/blender/collada/GeometryExporter.h +++ b/source/blender/collada/GeometryExporter.h @@ -39,8 +39,12 @@ #include "DNA_mesh_types.h" #include "DNA_object_types.h" #include "DNA_scene_types.h" +#include "DNA_key_types.h" #include "ExportSettings.h" +#include "collada_utils.h" + +#include "BKE_key.h" extern Object *bc_get_highest_selected_ancestor_or_self(Object *ob); @@ -68,8 +72,7 @@ public: void createLooseEdgeList(Object *ob, Mesh *me, - std::string& geom_id, - std::vector<Face>& norind); + std::string& geom_id); // powerful because it handles both cases when there is material and when there's not void createPolylist(short material_index, @@ -78,7 +81,7 @@ public: Object *ob, Mesh *me, std::string& geom_id, - std::vector<Face>& norind); + std::vector<BCPolygonNormalsIndices>& norind); // creates <source> for positions void createVertsSource(std::string geom_id, Mesh *me); @@ -89,19 +92,21 @@ public: //creates <source> for texcoords void createTexcoordsSource(std::string geom_id, Mesh *me); + void createTesselatedTexcoordsSource(std::string geom_id, Mesh *me); //creates <source> for normals void createNormalsSource(std::string geom_id, Mesh *me, std::vector<Normal>& nor); - void create_normals(std::vector<Normal> &nor, std::vector<Face> &ind, Mesh *me); + void create_normals(std::vector<Normal> &nor, std::vector<BCPolygonNormalsIndices> &ind, Mesh *me); std::string getIdBySemantics(std::string geom_id, COLLADASW::InputSemantic::Semantics type, std::string other_suffix = ""); COLLADASW::URI getUrlBySemantics(std::string geom_id, COLLADASW::InputSemantic::Semantics type, std::string other_suffix = ""); COLLADASW::URI makeUrl(std::string id); + + void export_key_mesh(Object *ob, Mesh *me, KeyBlock *kb); - /* int getTriCount(MFace *faces, int totface);*/ private: std::set<std::string> exportedGeometry; @@ -112,7 +117,7 @@ private: struct GeometryFunctor { // f should have - // void operator()(Object* ob) + // void operator()(Object *ob) template<class Functor> void forEachMeshObjectInExportSet(Scene *sce, Functor &f, LinkNode *export_set) { |