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

#include <mesh.h>

Inheritance diagram for RINGMesh::LineMesh< DIMENSION >:
RINGMesh::MeshBase< DIMENSION > RINGMesh::GeogramLineMesh< DIMENSION >

Public Member Functions

virtual index_t edge_vertex (const ElementLocalVertex &edge_local_vertex) const =0
 
virtual index_t nb_edges () const =0
 Gets the number of all the edges in the whole Mesh. More...
 
double edge_length (index_t edge_id) const
 Gets the length of the edge. More...
 
vecn< DIMENSION > edge_barycenter (index_t edge_id) const
 
const NNSearch< DIMENSION > & edge_nn_search () const
 return the NNSearch at edges More...
 
const LineAABBTree< DIMENSION > & edge_aabb () const
 Creates an AABB tree for a Mesh edges. More...
 
virtual GEO::AttributesManager & edge_attribute_manager () const =0
 
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
 

Static Public Member Functions

static std::unique_ptr< LineMesh< DIMENSION > > create_mesh (const MeshType type="")
 

Protected Member Functions

 LineMesh ()=default
 
- Protected Member Functions inherited from RINGMesh::MeshBase< DIMENSION >
 MeshBase ()=default
 

Protected Attributes

std::unique_ptr< NNSearch< DIMENSION > > edge_nn_search_ {}
 
std::unique_ptr< LineAABBTree< DIMENSION > > edge_aabb_ {}
 
- Protected Attributes inherited from RINGMesh::MeshBase< DIMENSION >
std::unique_ptr< NNSearch< DIMENSION > > vertex_nn_search_ {}
 

Friends

class LineMeshBuilder< DIMENSION >
 

Detailed Description

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

class for encapsulating line mesh (composed of edges)

Definition at line 240 of file mesh.h.

Constructor & Destructor Documentation

◆ LineMesh()

template<index_t DIMENSION>
RINGMesh::LineMesh< DIMENSION >::LineMesh ( )
protecteddefault

Member Function Documentation

◆ connected_components()

template<index_t DIMENSION>
std::tuple< index_t, std::vector< index_t > > RINGMesh::LineMesh< DIMENSION >::connected_components ( ) const
finalvirtual

Implements RINGMesh::MeshBase< DIMENSION >.

Definition at line 124 of file mesh.cpp.

◆ create_mesh()

template<index_t DIMENSION>
std::unique_ptr< LineMesh< DIMENSION > > RINGMesh::LineMesh< DIMENSION >::create_mesh ( const MeshType  type = "")
static

Definition at line 101 of file mesh.cpp.

◆ edge_aabb()

template<index_t DIMENSION>
const LineAABBTree< DIMENSION >& RINGMesh::LineMesh< DIMENSION >::edge_aabb ( ) const
inline

Creates an AABB tree for a Mesh edges.

Definition at line 306 of file mesh.h.

◆ edge_attribute_manager()

template<index_t DIMENSION>
virtual GEO::AttributesManager& RINGMesh::LineMesh< DIMENSION >::edge_attribute_manager ( ) const
pure virtual

◆ edge_barycenter()

template<index_t DIMENSION>
vecn< DIMENSION > RINGMesh::LineMesh< DIMENSION >::edge_barycenter ( index_t  edge_id) const
inline

Definition at line 274 of file mesh.h.

◆ edge_length()

template<index_t DIMENSION>
double RINGMesh::LineMesh< DIMENSION >::edge_length ( index_t  edge_id) const
inline

Gets the length of the edge.

Parameters
edge_id

Definition at line 265 of file mesh.h.

◆ edge_nn_search()

template<index_t DIMENSION>
const NNSearch< DIMENSION >& RINGMesh::LineMesh< DIMENSION >::edge_nn_search ( ) const
inline

return the NNSearch at edges

Warning
the NNSearch is destroyed when calling the Mesh::polygons_aabb() and Mesh::cells_aabb()

Definition at line 289 of file mesh.h.

◆ edge_vertex()

template<index_t DIMENSION>
virtual index_t RINGMesh::LineMesh< DIMENSION >::edge_vertex ( const ElementLocalVertex edge_local_vertex) const
pure virtual

◆ is_mesh_valid()

template<index_t DIMENSION>
bool RINGMesh::LineMesh< DIMENSION >::is_mesh_valid ( ) const
inlineoverridevirtual

Implements RINGMesh::MeshBase< DIMENSION >.

Definition at line 317 of file mesh.h.

◆ nb_edges()

template<index_t DIMENSION>
virtual index_t RINGMesh::LineMesh< DIMENSION >::nb_edges ( ) const
pure virtual

Gets the number of all the edges in the whole Mesh.

Implemented in RINGMesh::GeogramLineMesh< DIMENSION >.

Friends And Related Function Documentation

◆ LineMeshBuilder< DIMENSION >

template<index_t DIMENSION>
friend class LineMeshBuilder< DIMENSION >
friend

Definition at line 242 of file mesh.h.

Member Data Documentation

◆ edge_aabb_

template<index_t DIMENSION>
std::unique_ptr< LineAABBTree< DIMENSION > > RINGMesh::LineMesh< DIMENSION >::edge_aabb_ {}
mutableprotected

Definition at line 361 of file mesh.h.

◆ edge_nn_search_

template<index_t DIMENSION>
std::unique_ptr< NNSearch< DIMENSION > > RINGMesh::LineMesh< DIMENSION >::edge_nn_search_ {}
mutableprotected

Definition at line 360 of file mesh.h.


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