First checkin for OpenMesh 2.0

git-svn-id: http://www.openmesh.org/svnrepo/OpenMesh/trunk@2 fdac6126-5c0c-442c-9429-916003d36597
This commit is contained in:
Jan Möbius
2009-02-06 13:37:46 +00:00
parent c3321ebdd9
commit 97f515985d
417 changed files with 76182 additions and 0 deletions

50
Doc/Examples/adasub.cc Normal file
View File

@@ -0,0 +1,50 @@
#include <iostream>
#include <algorithm>
#include <iterator>
#include <OpenMesh/Core/IO/MeshIO.hh>
#include <OpenMesh/Core/Mesh/TriMesh_ArrayKernelT.hh>
#include <OpenMesh/Tools/Subdivider/Adaptive/CompositeT.hh>
// ----------------------------------------
using OpenMesh::Subdivider::Adaptive;
// ---------------------------------------- necessary types
OpenMesh::TriMesh_ArrayKernelT< CompositeTraits > MyMesh;
CompositeT< MyMesh > Subdivider;
// ---------------------------------------- setup a subdivider
int main(int argc, char **argv)
{
MyMesh mesh; // create mesh and fill it
if (!OpenMesh::IO::read_mesh(mesh, argv[1]))
return 1; // error reading mesh
Subdivider subdivider(mesh); // bind subdivider to mesh
// -------------------- add some rules
// anonymous registration
subdivider.add< Tvv3<MyMesh>::Handle >();
subdivider.add< VF<MyMesh>::Handle >();
subdivider.add< FF<MyMesh>::Handle >();
// 'named' registration
FVc<MyMesh>::Handle hFVc;
subdivider.add( hFVc );
// print pre-computed coefficients to std::cout...
std::copy(subdivider.rule( hFVc ).coeffs().begin(),
subdivider.rule( hFVc ).coeffs().end(),
std::ostream_iterator<double>(std::cout, ", "));
// prepare subdivider and the traits
if (!subdivider.initialize())
return 1; // error initializing subdivider
MyMesh::FaceHandle fh; // select a face
subdivider.refine(fh);
}