From a5f46ed452084bb6ae3e9864af0bfc0fb9c8c8bf Mon Sep 17 00:00:00 2001 From: cignoni Date: Thu, 28 Nov 2013 23:39:02 +0000 Subject: [PATCH] Added sample for cylinder clipping --- .../trimesh_cylclip/trimesh_cylclip.cpp | 45 +++++++++++++++++++ .../trimesh_cylclip/trimesh_cylclip.pro | 5 +++ 2 files changed, 50 insertions(+) create mode 100644 apps/sample/trimesh_cylclip/trimesh_cylclip.cpp create mode 100644 apps/sample/trimesh_cylclip/trimesh_cylclip.pro diff --git a/apps/sample/trimesh_cylclip/trimesh_cylclip.cpp b/apps/sample/trimesh_cylclip/trimesh_cylclip.cpp new file mode 100644 index 00000000..6101592c --- /dev/null +++ b/apps/sample/trimesh_cylclip/trimesh_cylclip.cpp @@ -0,0 +1,45 @@ +#include +#include +#include +#include +#include +#include +#include + +using namespace vcg; +using namespace std; + +class MyEdge; +class MyFace; +class MyVertex; +struct MyUsedTypes : public UsedTypes< Use ::AsVertexType, + Use ::AsEdgeType, + Use ::AsFaceType >{}; + +class MyVertex : public Vertex{}; +class MyFace : public Face {}; +class MyEdge : public Edge{}; +class MyMesh : public tri::TriMesh< vector, vector , vector > {}; + +int main() +{ + MyMesh m; + tri::Hexahedron(m); + tri::UpdateBounding::Box(m); + tri::UpdateTopology::FaceFace(m); //for FFAdj + tri::UpdateNormal::PerVertexNormalized(m); + tri::UpdateFlags::Clear(m); + + Point3f origin(0.8f,-0.4,0); + Point3f end= origin+Point3f(0,1,0); + float radius = 0.5f; + MyMesh cm; + tri::OrientedCylinder(cm,origin,end,radius,64,4); + tri::io::ExporterPLY::Save(cm,"cyl.ply"); + + tri::CylinderClipping::Apply(m,origin,end,radius); + tri::CylinderClipping::Apply(m,origin,end,radius/2.0f); + + tri::io::ExporterPLY::Save(m,"cube.ply"); + return 0; +} diff --git a/apps/sample/trimesh_cylclip/trimesh_cylclip.pro b/apps/sample/trimesh_cylclip/trimesh_cylclip.pro new file mode 100644 index 00000000..f4d46b74 --- /dev/null +++ b/apps/sample/trimesh_cylclip/trimesh_cylclip.pro @@ -0,0 +1,5 @@ +include(../common.pri) +SOURCES += trimesh_cylclip.cpp ../../../wrap/ply/plylib.cpp + +HEADERS += \ + cylinder_clip.h