MeshCore Namespace Reference

The namespace of the Mesh Core library. More...

Namespaces

namespace  MeshIO
 
namespace  Ply
 
namespace  Triangulation
 

Classes

class  AbstractPolygonTriangulator
 
class  AbstractSmoothing
 Base class for smoothing algorithms. More...
 
class  AbstractSurfaceFit
 
class  Approximation
 Abstract base class for approximation of a geometry to a given set of points. More...
 
struct  Color_Less
 
class  ConstraintDelaunayTriangulator
 
struct  CurvatureInfo
 Curvature information. More...
 
class  CylinderFit
 Approximation of a cylinder into a given set of points. More...
 
class  CylinderSurfaceFit
 
class  DelaunayTriangulator
 
class  EarClippingTriangulator
 The EarClippingTriangulator embeds an efficient algorithm to triangulate polygons taken from http://www.flipcode.com/files/code/triangulate.cpp. More...
 
struct  Edge_Index
 
struct  Edge_Less
 
struct  EdgeCollapse
 
class  FacetCollector
 
class  FacetCurvature
 
class  FitPointCollector
 
class  FlatTriangulator
 
class  FunctionContainer
 Helper class for the quadric fit. More...
 
struct  Group
 
class  LaplaceSmoothing
 
struct  LMCylinderFunctor
 
struct  Material
 
class  Math
 
class  MeshAlgorithm
 The MeshAlgorithm class provides algorithms base on meshes. More...
 
class  MeshBuilder
 Class for creating the mesh structure by adding facets. More...
 
class  MeshCleanup
 
class  MeshCollector
 
class  MeshComponents
 The MeshComponents class searches for topologic independent segments of the given mesh structure. More...
 
class  MeshCurvature
 
class  MeshCurvatureCylindricalSegment
 
class  MeshCurvatureFreeformSegment
 
class  MeshCurvaturePlanarSegment
 
class  MeshCurvatureSphericalSegment
 
class  MeshCurvatureSurfaceSegment
 
class  MeshDefinitions
 Global defined tolerances used to compare points for equality. More...
 
class  MeshDistanceGenericSurfaceFitSegment
 
class  MeshDistancePlanarSegment
 
class  MeshDistanceSurfaceSegment
 
struct  MeshEdgeBuilder
 Helper class to build up list of edges. More...
 
class  MeshEigensystem
 The MeshEigensystem class actually does not try to check for or fix errors but it provides methods to calculate the mesh's local coordinate system with the center of gravity as origin. More...
 
class  MeshEvalBorderFacet
 The MeshEvalBorderFacet class removes facets whose all three vertices are part of a boundary. More...
 
class  MeshEvalCorruptedFacets
 The MeshEvalCorruptedFacets class searches for facets with several equal point indices. More...
 
class  MeshEvalDeformedFacets
 The MeshEvalDeformedFacets class searches for deformed facets. More...
 
class  MeshEvalDegeneratedFacets
 The MeshEvalDegeneratedFacets class searches for degenerated facets. More...
 
class  MeshEvalDentsOnSurface
 If an adjacent point (A) of a point (P) can be projected onto a triangle shared by (P) but not by (A) then we have a local dent. More...
 
class  MeshEvalDuplicateFacets
 The MeshEvalDuplicateFacets class searches for duplicated facets. More...
 
class  MeshEvalDuplicatePoints
 The MeshEvalDuplicatePoints class searches for duplicated points. More...
 
class  MeshEvalFoldOversOnSurface
 Considers two adjacent triangles with an angle higher than 120 deg of their normals as a fold-over. More...
 
class  MeshEvalFoldsOnBoundary
 Considers a boundary triangle with two open edges and an angle higher than 60 deg with its adjacent triangle as a boundary fold. More...
 
class  MeshEvalFoldsOnSurface
 If the angle between the adjacent triangles of a triangle is lower then 90 deg but the angles between both of these adjacent triangles is higher than 90 deg we have a fold. More...
 
class  MeshEvalInternalFacets
 The MeshEvalInternalFacets class identifies internal facets of a volume mesh. More...
 
class  MeshEvalInvalids
 The MeshEvalInvalids class searches for as 'Invalid' marked facets and points. More...
 
class  MeshEvalNaNPoints
 The MeshEvalNaNPoints class searches for points with a coordinate that is NaN. More...
 
class  MeshEvalNeighbourhood
 The MeshEvalNeighbourhood class checks if the neighbourhood among the facets is set correctly. More...
 
class  MeshEvalOrientation
 The MeshEvalOrientation class checks the mesh kernel for consistent facet normals. More...
 
class  MeshEvalPointManifolds
 The MeshEvalPointManifolds class checks for non-manifold points. More...
 
class  MeshEvalPointOnEdge
 The MeshEvalPointOnEdge class searches for points that lie on or close to an edge of a triangle. More...
 
class  MeshEvalRangeFacet
 The MeshEvalRangeFacet class checks whether a facet points to neighbour facets that are out of range. More...
 
class  MeshEvalRangePoint
 The MeshEvalRangePoint class searches for facets that has point indices out of range. More...
 
class  MeshEvalSelfIntersection
 The MeshEvalSelfIntersection class checks the mesh for self intersection. More...
 
class  MeshEvalSingleFacet
 The MeshEvalSingleFacet class checks a special case of non-manifold edges as follows. More...
 
class  MeshEvalSolid
 The MeshEvalSolid class checks if the mesh represents a solid. More...
 
class  MeshEvalTopology
 The MeshEvalTopology class checks for topologic correctness, i.e that the mesh must not contain non-manifolds. More...
 
class  MeshEvaluation
 The MeshEvaluation class checks the mesh kernel for correctness with respect to a certain criterion, such as manifoldness, self-intersections, etc. More...
 
class  MeshFaceIterator
 
class  MeshFacet
 The MeshFacet class represent a triangle facet in the mesh data.structure. More...
 
struct  MeshFacet_Less
 
class  MeshFacetArray
 Stores all facets of the mesh data-structure. More...
 
class  MeshFacetGrid
 Special grid class that stores facet indices of the mesh object in its grids. More...
 
class  MeshFacetIterator
 The MeshFacetIterator allows to iterate over the facets that hold the topology of the mesh and provides access to their geometric information. More...
 
class  MeshFacetModifier
 MeshFacetModifier is a helper class that allows to modify the facet array of a mesh kernel but with limited access. More...
 
class  MeshFacetVisitor
 Abstract base class for facet visitors. More...
 
class  MeshFastBuilder
 Class for creating the mesh structure by adding facets. More...
 
class  MeshFastFacetIterator
 
class  MeshFixCaps
 The MeshFixCaps class tries to fix degenerations by swapping the common edge of a cap and its neighbour. More...
 
class  MeshFixCorruptedFacets
 The MeshFixCorruptedFacets class fixes corrupted facets by removing them from the mesh structure. More...
 
class  MeshFixDeformedFacets
 The MeshFixDeformedFacets class tries to fix deformed facets by swapping the common edge with one of their neighbours. More...
 
class  MeshFixDegeneratedFacets
 The MeshFixDegeneratedFacets class tries to fix degenerations by removing the concerning facets. More...
 
class  MeshFixDentsOnSurface
 
class  MeshFixDuplicateFacets
 The MeshFixDuplicateFacets class removes duplicated facets from the mesh structure. More...
 
class  MeshFixDuplicatePoints
 The MeshFixDuplicatePoints class merges duplicated points. More...
 
class  MeshFixFoldsOnBoundary
 
class  MeshFixInvalids
 The MeshFixInvalids class deletes all elements that are marked as 'Invalid'. More...
 
class  MeshFixMergeFacets
 The MeshFixMergeFacets class removes vertexes which have three adjacent vertexes and is referenced by three facets. More...
 
class  MeshFixNaNPoints
 The MeshFixNaNPoints class removes all points with a coordinate that is NaN. More...
 
class  MeshFixNeighbourhood
 The MeshFixNeighbourhood class fixes the neighbourhood of the facets. More...
 
class  MeshFixOrientation
 The MeshFixOrientation class harmonizes the facet normals of the passed mesh kernel. More...
 
class  MeshFixPointOnEdge
 The MeshFixPointOnEdge class removes points that lie on or close to an edge of a triangle. More...
 
class  MeshFixRangeFacet
 The MeshFixRangeFacet class fixes facets with invalid neighbour indices. More...
 
class  MeshFixRangePoint
 The MeshFixRangePoint class fixes the facets with point indices out of range. More...
 
class  MeshFixSelfIntersection
 The MeshFixSelfIntersection class tries to fix self-intersections. More...
 
class  MeshFixSingleFacet
 The MeshFixSingleFacet class tries to fix a special case of non-manifolds. More...
 
class  MeshFixTopology
 The MeshFixTopology class tries to fix a few cases of non-manifolds. More...
 
class  MeshGeomEdge
 The MeshGeomEdge class is geometric counterpart to MeshEdge that holds the geometric data points of an edge. More...
 
class  MeshGeomFacet
 The MeshGeomFacet class is geometric counterpart to MeshFacet that holds the geometric data points of a triangle. More...
 
class  MeshGrid
 The MeshGrid allows to divide a global mesh object into smaller regions of elements (e.g. More...
 
class  MeshGridIterator
 The MeshGridIterator class provides an interface to walk through all grid elements of a mesh grid. More...
 
struct  MeshHelpBuilderEdge
 Helper class for edges. More...
 
class  MeshHelpEdge
 Helper class providing an operator for comparison of two edges. More...
 
struct  MeshHelpPoint
 Helper class for points. More...
 
class  MeshIndexEdge
 Structure that holds the facet index with the two corner point indices of the facet's orientation this edge is attached to. More...
 
class  MeshInfo
 Determines information about the mesh data structure. More...
 
class  MeshInput
 The MeshInput class is able to read a mesh object from an input stream in various formats. More...
 
class  MeshIntersection
 
class  MeshIsFlag
 Binary function to query the flags for use with generic STL functions. More...
 
class  MeshIsNotFlag
 Binary function to query the flags for use with generic STL functions. More...
 
class  MeshKDTree
 
class  MeshKernel
 The MeshKernel class is the basic class that holds the data points, the edges and the facets describing a mesh object. More...
 
class  MeshNearestIndexToPlane
 
class  MeshOrientationCollector
 This class searches for inconsistent orientation of neighboured facets. More...
 
class  MeshOrientationVisitor
 This class searches for nonuniform orientation of neighboured facets. More...
 
class  MeshOutput
 The MeshOutput class is able to write a mesh object to an output stream on various formats. More...
 
class  MeshPlaneVisitor
 The MeshPlaneVisitor collects all facets the are co-planar to the plane defined by the start triangle. More...
 
class  MeshPoint
 The MeshPoint class represents a point in the mesh data structure. More...
 
class  MeshPointArray
 Stores all data points of the mesh structure. More...
 
struct  MeshPointBuilder
 Helper class for list of points. More...
 
class  MeshPointFacetAdjacency
 
class  MeshPointGrid
 Special grid class that stores point indices of the mesh object in its grids. More...
 
class  MeshPointIterator
 The MeshPointIterator allows to iterate over the vertices of the mesh and provides access to their geometric information. More...
 
class  MeshPointModifier
 MeshPointModifier is a helper class that allows to modify the point array of a mesh kernel but with limited access. More...
 
class  MeshPointVisitor
 Abstract base class for point visitors. More...
 
class  MeshProjection
 
class  MeshRefEdgeToFacets
 The MeshRefEdgeToFacets builds up a structure to have access to all facets of an edge. More...
 
class  MeshRefFacetToFacets
 The MeshRefFacetToFacets builds up a structure to have access to all facets sharing at least one same point. More...
 
class  MeshRefNormalToPoints
 The MeshRefNormalToPoints builds up a structure to have access to the normal of a vertex. More...
 
class  MeshRefPointToFacets
 The MeshRefPointToFacets builds up a structure to have access to all facets indexing a point. More...
 
class  MeshRefPointToPoints
 The MeshRefPointToPoints builds up a structure to have access to all neighbour points
of a point. More...
 
class  MeshRemoveNeedles
 The MeshRemoveNeedles class tries to fix degenerations by removing needles. More...
 
class  MeshResetFlag
 Binary function to reset the flags for use with generic STL functions. More...
 
class  MeshSameOrientationCollector
 
class  MeshSearchNeighbourFacetsVisitor
 Special mesh visitor that searches for facets within a given search radius. More...
 
class  MeshSearchNeighbours
 The MeshSearchNeighbours class provides methods to get all points in the neighbourhood of a given facet. More...
 
class  MeshSegmentAlgorithm
 
class  MeshSetFlag
 Binary function to set the flags for use with generic STL functions. More...
 
class  MeshSimplify
 
class  MeshSurfaceSegment
 
class  MeshSurfaceVisitor
 
class  MeshTopFacetVisitor
 The MeshTopFacetVisitor just collects the indices of all visited facets. More...
 
class  MeshTopoAlgorithm
 The MeshTopoAlgorithm class provides several algorithms to manipulate a mesh. More...
 
class  MeshTrimByPlane
 Trim the the facets in 3D with a plane. More...
 
class  MeshTrimming
 Checks the facets in 2D and then trim them in 3D. More...
 
class  MeshValidation
 The MeshValidation class tries to make a mesh kernel valid with respect to a certain criterion, such as manifoldness, self-intersections, etc. More...
 
class  MeshVertexIterator
 
struct  NODE
 
class  PlaneFit
 Approximation of a plane into a given set of points. More...
 
class  PlaneFitSmoothing
 
class  PlaneSurfaceFit
 
class  PointCollector
 
class  PolynomialFit
 
struct  QUAD
 
class  QuadraticFit
 Approximation of a quadratic surface into a given set of points. More...
 
class  QuasiDelaunayTriangulator
 
class  SetOperations
 The MeshAlgorithm class provides algorithms base on meshes. More...
 
class  SphereFit
 Approximation of a sphere into a given set of points. More...
 
class  SphereSurfaceFit
 
class  SurfaceFit
 This is an 2.5D approach which first determines the bestfit plane of the point set (P_i = (x,y,z), i=1,...,n) to get a parametrisation of the points afterwards. More...
 
class  TaubinSmoothing
 
struct  TRIA
 
class  TriangulationVerifier
 
class  TriangulationVerifierV2
 
struct  Vertex_EqualTo
 
struct  Vertex_Less
 
struct  VertexCollapse
 

Typedefs

using ElementIndex = unsigned long
 
typedef MeshFacetArray::_TConstIterator FaceIterator
 
using FacetIndex = ElementIndex
 
typedef Math< double > Mathd
 
typedef Math< float > Mathf
 
typedef std::pair< PointIndex, PointIndexMeshEdge
 MeshEdge just a pair of two point indices. More...
 
typedef std::vector< FacetIndexMeshSegment
 
typedef std::shared_ptr< MeshSurfaceSegmentMeshSurfaceSegmentPtr
 
using PointIndex = ElementIndex
 
typedef std::vector< MeshFacetTMeshFacetArray
 
typedef std::vector< MeshPointTMeshPointArray
 
typedef MeshPointArray::_TConstIterator VertexIterator
 

Functions

std::string & ltrim (std::string &str)
 
int numDigits (int number)
 
template<class Iter , class Pred >
static void parallel_sort (Iter begin, Iter end, Pred comp, int threads)
 

Variables

const ElementIndex ELEMENT_INDEX_MAX = ULONG_MAX
 
const FacetIndex FACET_INDEX_MAX = ULONG_MAX
 
const PointIndex POINT_INDEX_MAX = ULONG_MAX
 

Detailed Description

The namespace of the Mesh Core library.

Typedef Documentation

◆ ElementIndex

using MeshCore::ElementIndex = typedef unsigned long

◆ FaceIterator

typedef MeshFacetArray::_TConstIterator MeshCore::FaceIterator

◆ FacetIndex

◆ Mathd

typedef Math<double> MeshCore::Mathd

◆ Mathf

typedef Math<float> MeshCore::Mathf

◆ MeshEdge

MeshEdge just a pair of two point indices.

◆ MeshSegment

typedef std::vector<FacetIndex> MeshCore::MeshSegment

◆ MeshSurfaceSegmentPtr

◆ PointIndex

◆ TMeshFacetArray

typedef std::vector<MeshFacet> MeshCore::TMeshFacetArray

◆ TMeshPointArray

typedef std::vector<MeshPoint> MeshCore::TMeshPointArray

◆ VertexIterator

typedef MeshPointArray::_TConstIterator MeshCore::VertexIterator

Function Documentation

◆ ltrim()

std::string & MeshCore::ltrim ( std::string &  str)

◆ numDigits()

int MeshCore::numDigits ( int  number)

◆ parallel_sort()

template<class Iter , class Pred >
static void MeshCore::parallel_sort ( Iter  begin,
Iter  end,
Pred  comp,
int  threads 
)
static

Variable Documentation

◆ ELEMENT_INDEX_MAX

const ElementIndex MeshCore::ELEMENT_INDEX_MAX = ULONG_MAX

◆ FACET_INDEX_MAX

const FacetIndex MeshCore::FACET_INDEX_MAX = ULONG_MAX

Referenced by MeshCore::MeshKernel::AddFacets(), MeshCore::MeshAlgorithm::CheckBorderFacets(), MeshCore::MeshTopoAlgorithm::CollapseEdge(), MeshCore::MeshTopoAlgorithm::CollapseFacet(), MeshCore::MeshTopoAlgorithm::CollapseVertex(), MeshCore::MeshAlgorithm::CountBorderEdges(), MeshCore::MeshKernel::CountEdges(), MeshCore::MeshTopoAlgorithm::DelaunayFlip(), MeshCore::MeshKernel::DeleteFacet(), Mesh::Edge::Edge(), MeshCore::MeshFacetArray::Erase(), MeshCore::MeshEvalFoldsOnSurface::Evaluate(), MeshCore::MeshEvalFoldsOnBoundary::Evaluate(), MeshCore::MeshEvalFoldOversOnSurface::Evaluate(), MeshCore::MeshEvalRangeFacet::Evaluate(), MeshCore::MeshEvalOrientation::Evaluate(), MeshCore::MeshEvalNeighbourhood::Evaluate(), Mesh::SegmentByMesh::execute(), Mesh::Facet::Facet(), MeshCore::MeshSegmentAlgorithm::FindSegments(), MeshCore::MeshRemoveNeedles::Fixup(), MeshCore::MeshFixCaps::Fixup(), MeshCore::MeshFixDeformedFacets::Fixup(), MeshGui::SoFCMeshObjectBoundary::generatePrimitives(), MeshCore::MeshAlgorithm::GetBorderPoints(), Mesh::Facet::getEdge(), MeshCore::MeshKernel::GetEdges(), MeshCore::MeshAlgorithm::GetFacetBorder(), MeshCore::MeshAlgorithm::GetFacetBorders(), MeshCore::MeshAlgorithm::GetFacetsBorders(), MeshCore::MeshEvalRangeFacet::GetIndices(), MeshCore::MeshEvalOrientation::GetIndices(), MeshCore::MeshEvalNeighbourhood::GetIndices(), MeshCore::MeshFacetIterator::GetNeighbours(), MeshGui::SoFCMeshObjectBoundary::getPrimitiveCount(), MeshCore::MeshFacet::HasNeighbour(), MeshCore::MeshTopoAlgorithm::InsertVertex(), MeshCore::MeshTopoAlgorithm::InsertVertexAndSwapEdge(), Mesh::Facet::isBound(), MeshCore::MeshAlgorithm::NearestPointFromPoint(), MeshCore::MeshTopoAlgorithm::OptimizeTopology(), MeshPart::CurveProjectorShape::projectCurve(), MeshCore::MeshKernel::Read(), MeshCore::MeshRefEdgeToFacets::Rebuild(), MeshCore::MeshKernel::RebuildNeighbours(), MeshCore::MeshTopoAlgorithm::RemoveCorruptedFacet(), MeshCore::MeshTopoAlgorithm::RemoveDegeneratedFacet(), MeshCore::MeshKernel::RemoveInvalids(), MeshCore::MeshComponents::SearchForComponents(), MeshCore::MeshPointFacetAdjacency::SetFacetNeighbourhood(), MeshCore::MeshFacetIterator::SetToNeighbour(), MeshGui::ViewProviderIndexedFaceSet::showOpenEdges(), MeshGui::ViewProviderMeshFaceSet::showOpenEdges(), MeshCore::MeshTopoAlgorithm::SnapVertex(), MeshCore::MeshAlgorithm::SplitBoundaryLoops(), MeshCore::MeshTopoAlgorithm::SplitEdge(), Mesh::MeshObject::splitEdges(), MeshCore::MeshTopoAlgorithm::SplitOpenEdge(), MeshCore::MeshTopoAlgorithm::SwapEdge(), MeshCore::MeshTopoAlgorithm::SwapEdgeBenefit(), and MeshCore::MeshKernel::VisitNeighbourFacets().

◆ POINT_INDEX_MAX