Provided that you are using a TriMesh
class to store 3D geometry, we will show you how to save it in a file.
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
.
We will implement saving a 3D mesh data.
#include "cinder/ObjLoader.h" #include "cinder/Utilities.h"
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 ); } }
In Cinder we are using a TriMesh
class to store 3D geometry. Using TriMesh
we can store and manipulate geometry loaded from 3D model files or add each vertices with code.
Every time you hit the S key on the keyboard, a saving dialog pops up to ask you where to save binary data of the TriMesh
object. When you press the O key, the OBJ format file will be saved into your documents
folder. If you don't have to exchange data with other software, binary data saving and loading is usually faster.
3.138.204.186