Volume Cartographer 2.27.0
Public Types | Private Member Functions | Private Attributes | List of all members
volcart::meshing::OrderedPointSetMesher Class Reference

Generate an ordered mesh from an OrderedPointSet. More...

#include <vc/meshing/OrderedPointSetMesher.hpp>

Collaboration diagram for volcart::meshing::OrderedPointSetMesher:
[legend]

Public Types

using PointSet = OrderedPointSet< cv::Vec3d >
 

Public Member Functions

 OrderedPointSetMesher ()=default
 Default Constructor.
 
 OrderedPointSetMesher (PointSet points)
 Construct with OrderedPointSet to be converted. More...
 
void setPointSet (const PointSet &points)
 Set the input OrderedPointSet. More...
 
void setComputeTriangulation (bool b)
 Set whether to compute a triangulation from point ordering. More...
 
ITKMesh::Pointer getOutputMesh () const
 Get the generated mesh. More...
 
ITKMesh::Pointer compute ()
 Compute the mesh triangulation.
 

Private Member Functions

void add_cell_ (std::size_t a, std::size_t b, std::size_t c)
 Add a face to the output mesh. More...
 

Private Attributes

PointSet input_
 
ITKMesh::Pointer output_
 
bool generateTriangles_ {true}
 

Detailed Description

Generate an ordered mesh from an OrderedPointSet.

Create a mesh from an OrderedPointSet, using the ordering information to generate a triangulation of the vertices. Triangulation relies upon the ordering information inherent to the OrderedPointSet and is independent of the actual 3D position of vertices.

Vertices are grouped into "squares" according to their position within the ordering matrix. These squares are then subdivided into two triangles and added to the output mesh.

Vertex normals are computed using CalculateNormals.

See also
common/types/OrderedPointSet.h examples/src/OrderedPointSetMesherExample.cpp meshing/test/OrderedPointSetMesherTest.cpp

Definition at line 34 of file OrderedPointSetMesher.hpp.

Member Typedef Documentation

◆ PointSet

Point set convenience alias

Definition at line 38 of file OrderedPointSetMesher.hpp.

Constructor & Destructor Documentation

◆ OrderedPointSetMesher()

volcart::meshing::OrderedPointSetMesher::OrderedPointSetMesher ( PointSet  points)
inlineexplicit

Construct with OrderedPointSet to be converted.

Definition at line 45 of file OrderedPointSetMesher.hpp.

Member Function Documentation

◆ add_cell_()

void volcart::meshing::OrderedPointSetMesher::add_cell_ ( std::size_t  a,
std::size_t  b,
std::size_t  c 
)
private

Add a face to the output mesh.

Parameters
aID for the first vertex in the face
bID for the second vertex in the face
cID for the third vertex in the face

◆ getOutputMesh()

ITKMesh::Pointer volcart::meshing::OrderedPointSetMesher::getOutputMesh ( ) const
inline

Get the generated mesh.

Definition at line 65 of file OrderedPointSetMesher.hpp.

◆ setComputeTriangulation()

void volcart::meshing::OrderedPointSetMesher::setComputeTriangulation ( bool  b)
inline

Set whether to compute a triangulation from point ordering.

When enabled, use point ordering to generate a triangulation. Otherwise, the resulting mesh is only filled with vertices.

Default: Enabled

Definition at line 62 of file OrderedPointSetMesher.hpp.

◆ setPointSet()

void volcart::meshing::OrderedPointSetMesher::setPointSet ( const PointSet points)
inline

Set the input OrderedPointSet.

Definition at line 52 of file OrderedPointSetMesher.hpp.

Member Data Documentation

◆ generateTriangles_

bool volcart::meshing::OrderedPointSetMesher::generateTriangles_ {true}
private

Definition at line 79 of file OrderedPointSetMesher.hpp.

◆ input_

PointSet volcart::meshing::OrderedPointSetMesher::input_
private

Definition at line 76 of file OrderedPointSetMesher.hpp.

◆ output_

ITKMesh::Pointer volcart::meshing::OrderedPointSetMesher::output_
private

Definition at line 77 of file OrderedPointSetMesher.hpp.


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