aimsdata  5.0.5
Neuroimaging data handling
aims::CutMesh Class Reference

Cut meshes by a plane. More...

#include <aims/mesh/cutmesh.h>

Inheritance diagram for aims::CutMesh:
Collaboration diagram for aims::CutMesh:

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< AimsSurfaceTriangleplaneMesh () 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
 

Detailed Description

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()

Definition at line 59 of file cutmesh.h.

Constructor & Destructor Documentation

◆ CutMesh() [1/2]

aims::CutMesh::CutMesh ( const AimsSurfaceTriangle insurf,
const Point4df plane 
)

◆ CutMesh() [2/2]

aims::CutMesh::CutMesh ( const std::vector< const AimsSurfaceTriangle *> &  insurf,
const Point4df plane 
)

◆ ~CutMesh()

virtual aims::CutMesh::~CutMesh ( )
virtual

Member Function Documentation

◆ addTextureInterpolPoint()

virtual void aims::CutMesh::addTextureInterpolPoint ( int  ,
uint  ,
float  ,
uint  ,
float   
)
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().

◆ addTexturePoint()

virtual void aims::CutMesh::addTexturePoint ( int  ,
uint   
)
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().

◆ borderLine()

carto::rc_ptr<AimsTimeSurface<2, Void> > aims::CutMesh::borderLine ( ) const
inline

get output

Definition at line 77 of file cutmesh.h.

References _borderline.

◆ cut()

void aims::CutMesh::cut ( bool  buildborderline = true,
bool  meshplane = false,
bool  checkplane = true 
)

Perform calculations.

◆ cutBorder()

void aims::CutMesh::cutBorder ( int  timestep = 0)

build border line mesh only

◆ cutMeshes()

std::vector<carto::rc_ptr<AimsSurfaceTriangle> > aims::CutMesh::cutMeshes ( ) const
inline

get output

Definition at line 74 of file cutmesh.h.

References _cut.

◆ initializeOutputTextures()

virtual void aims::CutMesh::initializeOutputTextures ( )
inlineprotectedvirtual

Reimplemented in aims::CutTexturedMesh< T >.

Definition at line 84 of file cutmesh.h.

Referenced by aims::CutTexturedMesh< T >::cutTextures().

◆ planeMesh()

carto::rc_ptr<AimsSurfaceTriangle> aims::CutMesh::planeMesh ( ) const
inline

get output

Definition at line 80 of file cutmesh.h.

References _planemesh.

Member Data Documentation

◆ _borderline

carto::rc_ptr<AimsTimeSurface<2, Void> > aims::CutMesh::_borderline
protected

Definition at line 99 of file cutmesh.h.

Referenced by borderLine().

◆ _cut

std::vector<carto::rc_ptr<AimsSurfaceTriangle> > aims::CutMesh::_cut
protected

Definition at line 98 of file cutmesh.h.

Referenced by cutMeshes().

◆ _insurf

std::vector<const AimsSurfaceTriangle *> aims::CutMesh::_insurf
protected

Definition at line 94 of file cutmesh.h.

Referenced by aims::CutTexturedMesh< T >::initializeOutputTextures().

◆ _insurfrc

std::vector<carto::rc_ptr<AimsSurfaceTriangle> > aims::CutMesh::_insurfrc
protected

Definition at line 95 of file cutmesh.h.

◆ _plane

Point4df aims::CutMesh::_plane
protected

Definition at line 96 of file cutmesh.h.

◆ _planemesh

carto::rc_ptr<AimsSurfaceTriangle> aims::CutMesh::_planemesh
protected

Definition at line 100 of file cutmesh.h.

Referenced by planeMesh().


The documentation for this class was generated from the following file: