![]() |
aimsdata
5.0.5
Neuroimaging data handling
|
Cut meshes by a plane. More...
#include <aims/mesh/cutmesh.h>
Public Member Functions | |
CutMesh (const AimsSurfaceTriangle &insurf, const Point4df &plane) | |
CutMesh (const std::vector< const AimsSurfaceTriangle *> &insurf, const Point4df &plane) | |
virtual | ~CutMesh () |
void | cut (bool buildborderline=true, bool meshplane=false, bool checkplane=true) |
Perform calculations. More... | |
void | cutBorder (int timestep=0) |
build border line mesh only More... | |
std::vector< carto::rc_ptr< AimsSurfaceTriangle > > | cutMeshes () const |
get output More... | |
carto::rc_ptr< AimsTimeSurface< 2, Void > > | borderLine () const |
get output More... | |
carto::rc_ptr< AimsSurfaceTriangle > | planeMesh () const |
get output More... | |
Protected Member Functions | |
virtual void | initializeOutputTextures () |
virtual void | addTexturePoint (int, uint) |
this callback is called to handle textures: add tex corresponding to a vertex in the given mesh More... | |
virtual void | addTextureInterpolPoint (int, uint, float, uint, float) |
this callback is called to handle textures: add tex corresponding to an interpolation between two vertices in the given mesh More... | |
Protected Attributes | |
std::vector< const AimsSurfaceTriangle * > | _insurf |
std::vector< carto::rc_ptr< AimsSurfaceTriangle > > | _insurfrc |
Point4df | _plane |
std::vector< carto::rc_ptr< AimsSurfaceTriangle > > | _cut |
carto::rc_ptr< AimsTimeSurface< 2, Void > > | _borderline |
carto::rc_ptr< AimsSurfaceTriangle > | _planemesh |
Cut meshes by a plane.
The output of the operation is one cut mesh per input mesh, and possibly a border polygon mesh, and a plane intersection mesh.
The plane mesh is not always correct, it is now preferred to use GLU's tesselation algorithm.
To use it:
initialize using a constructor and/or set input parameters (see also the CutTexturedMesh subclasses to handle textured meshes) call cut() or cutBorder(), these are the methods actually doing things get outputs using cutMeshes(), borderLine(), planeMesh() and CutTexturedMesh::cutTextures()
aims::CutMesh::CutMesh | ( | const AimsSurfaceTriangle & | insurf, |
const Point4df & | plane | ||
) |
aims::CutMesh::CutMesh | ( | const std::vector< const AimsSurfaceTriangle *> & | insurf, |
const Point4df & | plane | ||
) |
|
virtual |
|
inlineprotectedvirtual |
this callback is called to handle textures: add tex corresponding to an interpolation between two vertices in the given mesh
Reimplemented in aims::CutTexturedMesh< T >.
Definition at line 90 of file cutmesh.h.
Referenced by aims::CutTexturedMesh< T >::cutTextures().
|
inlineprotectedvirtual |
this callback is called to handle textures: add tex corresponding to a vertex in the given mesh
Reimplemented in aims::CutTexturedMesh< T >.
Definition at line 87 of file cutmesh.h.
Referenced by aims::CutTexturedMesh< T >::cutTextures().
|
inline |
void aims::CutMesh::cut | ( | bool | buildborderline = true , |
bool | meshplane = false , |
||
bool | checkplane = true |
||
) |
Perform calculations.
void aims::CutMesh::cutBorder | ( | int | timestep = 0 | ) |
build border line mesh only
|
inline |
|
inlineprotectedvirtual |
Reimplemented in aims::CutTexturedMesh< T >.
Definition at line 84 of file cutmesh.h.
Referenced by aims::CutTexturedMesh< T >::cutTextures().
|
inline |
|
protected |
Definition at line 99 of file cutmesh.h.
Referenced by borderLine().
|
protected |
Definition at line 98 of file cutmesh.h.
Referenced by cutMeshes().
|
protected |
Definition at line 94 of file cutmesh.h.
Referenced by aims::CutTexturedMesh< T >::initializeOutputTextures().
|
protected |
|
protected |
Definition at line 100 of file cutmesh.h.
Referenced by planeMesh().