Saving mesh data
Provided that you are using a TriMesh
class to store 3D geometry, we will show you how to save it in a file.
Getting ready
We are assuming that you are using a 3D model stored in TriMesh
object. Sample application loading 3D geometry can be found in Cinder samples
directory in the folder: OBJLoaderDemo
.
How to do it…
We will implement saving a 3D mesh data.
Include necessary headers:
#include "cinder/ObjLoader.h" #include "cinder/Utilities.h"
Implement your
keyDown
method as follows:if( event.getChar() == 's' ) { fs::path path = getSaveFilePath(getDocumentsDirectory() / fs::path("mesh.trimesh") ); if( ! path.empty() ) { mMesh.write( writeFile( path ) ); } } else if( event.getChar() == 'o' ) { fs::path path = getSaveFilePath(getDocumentsDirectory() / fs::path("mesh.obj") ); if( ! path.empty() ) { ObjLoader::write( writeFile( path ), mMesh ); } }
How it works…
In Cinder we are using a TriMesh
class to store 3D geometry. Using TriMesh
we can store and manipulate...