minor changes

This commit is contained in:
Paolo Cignoni 2004-03-18 16:00:10 +00:00
parent b3252d15b3
commit ad431fccd3
5 changed files with 34 additions and 14 deletions

View File

@ -9,6 +9,7 @@
#include<vcg/simplex/vertex/with/cn.h>
#include<vcg/simplex/face/with/fn.h>
#include<vcg/simplex/face/with/fafc.h>
#include<vcg/simplex/face/pos.h>
#include<vcg/complex/trimesh/base.h>
#include<vcg/complex/trimesh/platonic.h>
#include<vcg/complex/trimesh/update/flag.h>
@ -17,6 +18,7 @@
#include<vcg/complex/trimesh/update/color.h>
#include<wrap/io_trimesh/export_stl.h>
#include<wrap/io_trimesh/import_ply.h>
#include<wrap/io_trimesh/import_stl.h>
#include<wrap/io_trimesh/export_ply.h>
using namespace vcg;
@ -42,28 +44,39 @@ int main(int argc, char *argv[])
printf("Sizeof(FaceFN<VertexNf>) = %i \n",sizeof(FaceFN<VertexNf>));
//printf("Sizeof(FaceFA<VertexCNd>) = %i \n",sizeof(FaceFA<VertexCNd>));
//typedef tri::TriMesh< vector<VertexNf>, vector< FaceFN<VertexNf> > > MyMesh;
//MyMesh tm;
//tri::Tetrahedron(tm);
typedef tri::TriMesh< vector<VertexNf>, vector< FaceFN<VertexNf> > > MyMesh;
MyMesh tm;
tri::Tetrahedron(tm);
tri::io::ExporterPLY<MyMesh>::Save(tm,"Tetrabin.ply");
tri::Octahedron(tm);
tri::io::ExporterPLY<MyMesh>::Save(tm,"Octbin.ply");
tri::Icosahedron(tm);
tri::io::ExporterPLY<MyMesh>::Save(tm,"Icobin.ply");
//tri::io::ExporterSTL<MyMesh>::Save(tm,"Tetra.stl",false);
//tri::io::ExporterPLY<MyMesh>::Save(tm,"Tetraascii.ply",false);
//tri::io::ExporterPLY<MyMesh>::Save(tm,"Tetrabin.ply");
//tri::io::ExporterSTL<MyMesh>::Save(tm,"armawarp.stl",false);
//tri::UpdateNormals<MyMesh>::PerVertexNormalized(tm);
//tri::UpdateNormals<MyMesh>::PerFaceNormalized(tm);
//tri::UpdateNormals<MyMesh>::PerVertex(tm);
//tri::UpdateNormals<MyMesh>::PerFace(tm);
tri::io::ImporterPLY<MyMeshAdj>::Open(ta,"bigtest.ply");
/*tri::io::ImporterPLY<MyMeshAdj>::Open(ta,"bigtest.ply");
printf("Loaded Mesh Has %i vn %i fn\n",ta.vn,ta.fn);
tri::UpdateTopology<MyMeshAdj>::FaceFace(ta);
tri::UpdateFlags<MyMeshAdj>::FaceBorderFromFF(ta);
tri::UpdateColor<MyMeshAdj>::FaceBF(ta);
tri::io::PlyInfo pi;
pi.mask=tri::io::PLYMask::PM_FACECOLOR;
tri::io::ExporterPLY<MyMeshAdj>::Save(ta,"color.ply",true, pi);
tri::io::ExporterPLY<MyMeshAdj>::Save(ta,"color.ply",true, pi);*/
face::Pos<MyMeshAdj::FaceType> fp;
tri::io::ImporterSTL<MyMeshAdj>::Open(ta,"knotbin.stl");
tri::io::ExporterPLY<MyMeshAdj>::Save(ta,"knotbin.ply");
tri::io::ImporterSTL<MyMeshAdj>::Open(ta,"knotasc.stl");
tri::io::ExporterPLY<MyMeshAdj>::Save(ta,"knotasc.ply");
return 0;
}

View File

@ -1 +1 @@
/** Main namespace */ namespace vcg {} /** Everything about meshes lie in this namespace */ namespace vcg::tri {} /** Wrapper for symbols and structs defind in the old ply library */ namespace vcg::ply {} /** For all the functions and classes used to read and write meshes */ {}
/** Main namespace It contain all the other namespaces and */ namespace vcg {} /** Everything about meshes lie in this namespace */ namespace vcg::tri {} /** Global algorithms and classes working on generic faces are defined in this namespace. Typical example are the topological surgery functions (like vcg::face::Detach and vcg::face::IsBorder) and the class vcg::face::Pos for defining \e positions over a mesh. Note that for sake of brevity the main face class is defined outside this namespace. */ namespace vcg::face {} /** Wrapper for symbols and structs defind in the old ply library */ namespace vcg::ply {} /** For all the functions and classes used to read and write meshes */ Wrapper for symbols and structs defind in the old ply library /** For all the generic math functions and classes. */ namespace vcg::math {}

View File

@ -123,6 +123,8 @@ Construct to build an object from different a integral type.</P>
</pre>
<H2 >Comment and documenting</H2>
<P>All the classes, algorithms and functions <B>MUST</B> be documented using Doxygen. Please add a short intro before each class explaining design choices and for non trivial classes give some short usage example. For complex classes try to group similar members under categories. Non trivial algorithms should refer the paper/book where they are explained.</P>
<P>All the classes, algorithms and functions <B>MUST</B> be documented using Doxygen. Please add a short intro before each class explaining design choices and for non trivial classes give some short usage example. For complex classes try to group similar members under categories. Non trivial algorithms should refer the paper/book where they are explained.</p>
<P> Namespaces and files should be also documented trying to explain how the file/namespace partitioning works.
</P>
</BODY>
</HTML>

View File

@ -24,6 +24,9 @@
History
$Log: not supported by cvs2svn $
Revision 1.4 2004/03/10 00:57:44 cignoni
minor changes
Revision 1.3 2004/03/07 21:54:56 cignoni
some more reflection functions
@ -47,6 +50,8 @@ People should subclass his vertex class from these one...
namespace vcg {
namespace tri {
/** \addtogroup trimesh */
/*@{*/
/** Class Mesh.
This is class for definition of a mesh.
@ -238,7 +243,7 @@ ScalarType Volume()
}; // end class Mesh
/*@}*/
} // end namespace
} // end namespace

View File

@ -23,7 +23,7 @@
/****************************************************************************
History
$LOG$
$Log: not supported by cvs2svn $
****************************************************************************/
@ -62,7 +62,7 @@ inline bool IsBorder(FaceType const & f, const int j )
}
/// This function counts the boreders of the face
/// Count border edges of the face
template <class FaceType>
inline int BorderCount(FaceType const & f)
{
@ -78,7 +78,7 @@ inline int BorderCount(FaceType const & f)
}
/// This function counts the number of incident faces in a complex edge
/// Counts the number of incident faces in a complex edge
template <class FaceType>
inline int ComplexSize(FaceType const & f, const int e)
{