RINGMesh  Version 5.0.0
A programming library for geological model meshes
RINGMesh::GeogramSurfaceMesh< DIMENSION > Class Template Reference

#include <geogram_mesh.h>

Inheritance diagram for RINGMesh::GeogramSurfaceMesh< DIMENSION >:
RINGMesh::SurfaceMesh< DIMENSION > RINGMesh::SurfaceMeshBase< DIMENSION > RINGMesh::MeshBase< DIMENSION >

Public Member Functions

index_t polygon_vertex (const ElementLocalVertex &polygon_local_vertex) const override
 Gets the vertex index by polygon index and local vertex index. More...
 
index_t nb_polygons () const override
 Gets the number of all polygons in the whole Mesh. More...
 
index_t nb_polygon_vertices (index_t polygon_id) const override
 Gets the number of vertices in the polygon. More...
 
index_t polygon_adjacent (const PolygonLocalEdge &polygon_local_edge) const override
 Gets an adjacent polygon index by polygon index and local edge index. More...
 
GEO::AttributesManager & polygon_attribute_manager () const override
 
bool polygons_are_simplicies () const override
 Tests whether all the polygons are triangles. when all the polygons are triangles, storage and access is optimized. More...
 
- Public Member Functions inherited from RINGMesh::SurfaceMeshBase< DIMENSION >
ElementLocalVertex next_polygon_vertex (const ElementLocalVertex &polygon_local_vertex) const
 Gets the next vertex index in the polygon vertex. More...
 
PolygonLocalEdge next_on_border (const PolygonLocalEdge &polygon_local_edge) const
 Get the next edge on the border. More...
 
ElementLocalVertex prev_polygon_vertex (const ElementLocalVertex &polygon_local_vertex) const
 Gets the previous vertex index in the polygon. More...
 
PolygonLocalEdge prev_on_border (const PolygonLocalEdge &polygon_local_edge) const
 Get the previous edge on the border. More...
 
index_t vertex_index_in_polygon (index_t polygon_index, index_t vertex_id) const
 Get the vertex index in a polygon. More...
 
index_t closest_vertex_in_polygon (index_t polygon_index, const vecn< DIMENSION > &query_point) const
 Compute closest vertex in a polygon to a point. More...
 
index_t polygon_from_vertex_ids (index_t in0, index_t in1) const
 Get the first polygon of the surface that has an edge linking the two vertices (ids in the surface) More...
 
std::vector< index_t > polygons_around_vertex (index_t vertex_id, bool border_only, index_t first_polygon) const
 Determines the polygons around a vertex. More...
 
bool is_triangle (index_t polygon_id) const
 
PolygonType polygone_type (index_t polygon_id) const
 
bool is_edge_on_border (const PolygonLocalEdge &polygon_local_edge) const
 
bool is_polygon_on_border (index_t polygon_index) const
 
double polygon_edge_length (const PolygonLocalEdge &polygon_local_edge) const
 Gets the length of the edge starting at a given vertex. More...
 
vecn< DIMENSION > polygon_edge_barycenter (const PolygonLocalEdge &polygon_local_edge) const
 Gets the barycenter of the edge starting at a given vertex. More...
 
index_t polygon_edge_vertex (const PolygonLocalEdge &polygon_local_edge, index_t vertex_id) const
 Gets the vertex index on the polygon edge. More...
 
vecn< DIMENSION > polygon_barycenter (index_t polygon_id) const
 
virtual double polygon_area (index_t polygon_id) const =0
 
const NNSearch< DIMENSION > & polygon_nn_search () const
 return the NNSearch at polygons More...
 
const SurfaceAABBTree< DIMENSION > & polygon_aabb () const
 Creates an AABB tree for a Mesh polygons. More...
 
bool is_mesh_valid () const override
 
std::tuple< index_t, std::vector< index_t > > connected_components () const final
 
- Public Member Functions inherited from RINGMesh::MeshBase< DIMENSION >
virtual ~MeshBase ()=default
 
virtual void save_mesh (const std::string &filename) const =0
 
virtual void print_mesh_bounded_attributes () const =0
 
virtual const vecn< DIMENSION > & vertex (index_t v_id) const =0
 Gets a point. More...
 
virtual index_t nb_vertices () const =0
 
virtual GEO::AttributesManager & vertex_attribute_manager () const =0
 
const NNSearch< DIMENSION > & vertex_nn_search () const
 return the NNSearch at vertices More...
 
virtual MeshType type_name () const =0
 
virtual std::string default_extension () const =0
 

Private Member Functions

 COMMON_GEOGRAM_MESH_IMPLEMENTATION (GeogramSurfaceMesh)
 

Additional Inherited Members

- Static Public Member Functions inherited from RINGMesh::SurfaceMeshBase< DIMENSION >
static std::unique_ptr< SurfaceMesh< DIMENSION > > create_mesh (const MeshType type="")
 
- Protected Member Functions inherited from RINGMesh::SurfaceMeshBase< DIMENSION >
 SurfaceMeshBase ()=default
 
- Protected Member Functions inherited from RINGMesh::MeshBase< DIMENSION >
 MeshBase ()=default
 
- Protected Attributes inherited from RINGMesh::SurfaceMeshBase< DIMENSION >
std::unique_ptr< NNSearch< DIMENSION > > nn_search_ {}
 
std::unique_ptr< SurfaceAABBTree< DIMENSION > > polygon_aabb_ {}
 
- Protected Attributes inherited from RINGMesh::MeshBase< DIMENSION >
std::unique_ptr< NNSearch< DIMENSION > > vertex_nn_search_ {}
 

Detailed Description

template<index_t DIMENSION>
class RINGMesh::GeogramSurfaceMesh< DIMENSION >

Definition at line 155 of file geogram_mesh.h.

Member Function Documentation

◆ COMMON_GEOGRAM_MESH_IMPLEMENTATION()

template<index_t DIMENSION>
RINGMesh::GeogramSurfaceMesh< DIMENSION >::COMMON_GEOGRAM_MESH_IMPLEMENTATION ( GeogramSurfaceMesh< DIMENSION >  )
private

◆ nb_polygon_vertices()

template<index_t DIMENSION>
index_t RINGMesh::GeogramSurfaceMesh< DIMENSION >::nb_polygon_vertices ( index_t  polygon_id) const
inlineoverridevirtual

Gets the number of vertices in the polygon.

Parameters
polygon_id.
[in]polygon_idpolygon index

Implements RINGMesh::SurfaceMeshBase< DIMENSION >.

Definition at line 172 of file geogram_mesh.h.

◆ nb_polygons()

template<index_t DIMENSION>
index_t RINGMesh::GeogramSurfaceMesh< DIMENSION >::nb_polygons ( ) const
inlineoverridevirtual

Gets the number of all polygons in the whole Mesh.

Implements RINGMesh::SurfaceMeshBase< DIMENSION >.

Definition at line 167 of file geogram_mesh.h.

◆ polygon_adjacent()

template<index_t DIMENSION>
index_t RINGMesh::GeogramSurfaceMesh< DIMENSION >::polygon_adjacent ( const PolygonLocalEdge polygon_local_edge) const
inlineoverridevirtual

Gets an adjacent polygon index by polygon index and local edge index.

Parameters
[in]polygon_idthe polygon index.
[in]edge_idthe local edge index in
polygon_id.
Returns
the global polygon index adjacent to the
Parameters
edge_idof the polygon
polygon_id.
edge_id< number of edge of the polygon
polygon_id.

Implements RINGMesh::SurfaceMeshBase< DIMENSION >.

Definition at line 177 of file geogram_mesh.h.

◆ polygon_attribute_manager()

template<index_t DIMENSION>
GEO::AttributesManager& RINGMesh::GeogramSurfaceMesh< DIMENSION >::polygon_attribute_manager ( ) const
inlineoverridevirtual

Implements RINGMesh::SurfaceMeshBase< DIMENSION >.

Definition at line 184 of file geogram_mesh.h.

◆ polygon_vertex()

template<index_t DIMENSION>
index_t RINGMesh::GeogramSurfaceMesh< DIMENSION >::polygon_vertex ( const ElementLocalVertex polygon_local_vertex) const
inlineoverridevirtual

Gets the vertex index by polygon index and local vertex index.

Parameters
[in]polygon_local_vertexthe polygon index and the local edge index in the polygon.

Implements RINGMesh::SurfaceMeshBase< DIMENSION >.

Definition at line 160 of file geogram_mesh.h.

◆ polygons_are_simplicies()

template<index_t DIMENSION>
bool RINGMesh::GeogramSurfaceMesh< DIMENSION >::polygons_are_simplicies ( ) const
inlineoverridevirtual

Tests whether all the polygons are triangles. when all the polygons are triangles, storage and access is optimized.

Returns
True if all polygons are triangles and False otherwise.

Implements RINGMesh::SurfaceMeshBase< DIMENSION >.

Definition at line 189 of file geogram_mesh.h.


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