VCG Libraryでポリゴンファイルを保存する方法。
#include <wrap/io_trimesh/export_ply.h> #include <wrap/io_trimesh/export_obj.h> #include <wrap/io_trimesh/export_stl.h>
class MyVertex : public vcg::Vertex< MyUsedTypes, vcg::vertex::Coord3f, vcg::vertex::Color4b, vcg::vertex::Normal3f, vcg::vertex::Qualityf, vcg::vertex::BitFlags, vcg::vertex::Mark > { }; class MyFace : public vcg::Face < MyUsedTypes, vcg::face::VertexRef, vcg::face::Color4b, // FACECOLORを保存するならこれを指定しておく vcg::face::Normal3f, vcg::face::Mark, vcg::face::BitFlags > { }; class MyEdge : public vcg::Edge< MyUsedTypes, vcg::edge::VertexRef, vcg::edge::BitFlags > { }; class MyMesh : public vcg::tri::TriMesh< std::vector<MyVertex>, std::vector<MyFace>, std::vector<MyEdge> > { };
//メッシュを保存する vcg::tri::io::PlyInfo pi; pi.mask = vcg::tri::io::Mask::IOM_FACECOLOR | //色情報の出力を指定 vcg::tri::io::Mask::IOM_VERTNORMAL; vcg::tri::io::ExporterPLY<MyMesh>::Save( mesh, "result.ply", true, pi ); vcg::tri::io::ExporterOBJ<MyMesh>::Save( mesh, "result.obj", vcg::tri::io::Mask::IOM_FACECOLOR //これを入れるとmtlファイルも出力される ); vcg::tri::io::ExporterSTL<MyMesh>::Save( mesh, "result.stl", true //バイナリ形式ならtrue );
VCG LibraryのBall Pivotingでメッシュ生成
VCG Library ターゲットの周辺のオブジェクトを取得