From 732a1437bcb02d3de02447522fb35e49e4cbfc97 Mon Sep 17 00:00:00 2001 From: ganovelli Date: Sat, 6 Nov 2010 16:09:32 +0000 Subject: [PATCH] added --- .../sample/trimesh_optional/mesh_definition.h | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 apps/sample/trimesh_optional/mesh_definition.h diff --git a/apps/sample/trimesh_optional/mesh_definition.h b/apps/sample/trimesh_optional/mesh_definition.h new file mode 100644 index 00000000..2529198c --- /dev/null +++ b/apps/sample/trimesh_optional/mesh_definition.h @@ -0,0 +1,43 @@ +#ifndef _MESH_DEF_ +#define _MESH_DEF_ + +#include +#include +#include + +#include +#include + +#include +#include +#include + + +class CFace; +class CFaceOcf; +class CFaceOcc; +class CVertex; +class CVertexOcf; +class CVertexOcc; + +struct MyUsedTypes: public vcg::UsedTypes::AsVertexType,vcg::Use::AsFaceType>{}; +struct MyUsedTypesOcf: public vcg::UsedTypes::AsVertexType,vcg::Use::AsFaceType>{}; +struct MyUsedTypesOcc: public vcg::UsedTypes::AsVertexType,vcg::Use::AsFaceType>{}; + +// Optional stuff has two suffixes: +// OCF Optional Component Fast +// OCC Optional Component Compact + +class CVertex : public vcg::Vertex< MyUsedTypes, vcg::vertex::Coord3f, vcg::vertex::BitFlags,vcg::vertex::Normal3f >{}; +class CVertexOcf : public vcg::Vertex< MyUsedTypesOcf,vcg::vertex::Coord3f, vcg::vertex::BitFlags,vcg::vertex::Normal3f,vcg::vertex::Radiusf >{}; +class CVertexOcc : public vcg::Vertex< MyUsedTypesOcc,vcg::vertex::Coord3f, vcg::vertex::BitFlags,vcg::vertex::Normal3f >{}; + +class CFace : public vcg::Face< MyUsedTypes, vcg::face::FFAdj, vcg::face::VertexRef, vcg::face::BitFlags, vcg::face::Normal3f > {}; +class CFaceOcf : public vcg::Face< MyUsedTypesOcf, vcg::face::InfoOcf, vcg::face::FFAdjOcf, vcg::face::VertexRef, vcg::face::BitFlags, vcg::face::Normal3fOcf > {}; +class CFaceOcc : public vcg::Face< MyUsedTypesOcc, vcg::face::FFAdjOcc, vcg::face::VertexRef, vcg::face::BitFlags, vcg::face::Normal3fOcc > {}; + +class CMesh : public vcg::tri::TriMesh< std::vector, std::vector > {}; +class CMeshOcf : public vcg::tri::TriMesh< std::vector, vcg::face::vector_ocf > {}; +class CMeshOcc : public vcg::tri::TriMesh< vcg::vector_occ, vcg::vector_occ > {}; + +#endif