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

#include <well.h>

Inheritance diagram for RINGMesh::WellPart< DIMENSION >:
RINGMesh::WellEntity< DIMENSION >

Public Member Functions

 WellPart (const Well< DIMENSION > *well, index_t id)
 
void set_corner (index_t c, index_t id)
 
index_t corner (index_t c) const
 
void set_points (const std::vector< vecn< DIMENSION > > &points)
 
index_t nb_edges () const
 
index_t nb_vertices () const
 
double length () const
 
void set_id (index_t id)
 
index_t id () const
 
const vecn< DIMENSION > & vertex (index_t v) const
 
const vecn< DIMENSION > & edge_vertex (const ElementLocalVertex &well_edge_local_vertex) const
 
GEO::AttributesManager & vertex_attribute_manager () const
 
GEO::AttributesManager & edge_attribute_manager () const
 
const NNSearch< DIMENSION > & vertices_nn_search () const
 
- Public Member Functions inherited from RINGMesh::WellEntity< DIMENSION >
const Well< DIMENSION > & well () const
 

Private Attributes

index_t id_
 
std::array< index_t, 2 > corners_
 id in the corners_ vector the the well More...
 
std::unique_ptr< LineMesh< DIMENSION > > mesh_
 

Additional Inherited Members

- Protected Member Functions inherited from RINGMesh::WellEntity< DIMENSION >
 WellEntity (const Well< DIMENSION > *well)
 
virtual ~WellEntity ()=default
 
- Protected Attributes inherited from RINGMesh::WellEntity< DIMENSION >
const Well< DIMENSION > * well_
 Pointer to the Well owning this entity. More...
 

Detailed Description

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

Definition at line 128 of file well.h.

Constructor & Destructor Documentation

◆ WellPart()

template<index_t DIMENSION>
RINGMesh::WellPart< DIMENSION >::WellPart ( const Well< DIMENSION > *  well,
index_t  id 
)

Create a WellPart

Parameters
[in]wellthe associated well
[in]idthe position in the parts_ vector of the associated well

Definition at line 328 of file well.cpp.

Member Function Documentation

◆ corner()

template<index_t DIMENSION>
index_t RINGMesh::WellPart< DIMENSION >::corner ( index_t  c) const
inline

Gets the id of a corner

Parameters
[in]cthe corner id (0 or 1)
Returns
the corresponding id

Definition at line 153 of file well.h.

◆ edge_attribute_manager()

template<index_t DIMENSION>
GEO::AttributesManager & RINGMesh::WellPart< DIMENSION >::edge_attribute_manager ( ) const

Definition at line 411 of file well.cpp.

◆ edge_vertex()

template<index_t DIMENSION>
const vecn< DIMENSION > & RINGMesh::WellPart< DIMENSION >::edge_vertex ( const ElementLocalVertex well_edge_local_vertex) const

Definition at line 379 of file well.cpp.

◆ id()

template<index_t DIMENSION>
index_t RINGMesh::WellPart< DIMENSION >::id ( ) const
inline

Gets the id of the part

Definition at line 189 of file well.h.

◆ length()

template<index_t DIMENSION>
double RINGMesh::WellPart< DIMENSION >::length ( ) const

Gets the length of the part

Definition at line 393 of file well.cpp.

◆ nb_edges()

template<index_t DIMENSION>
index_t RINGMesh::WellPart< DIMENSION >::nb_edges ( ) const

Gets the number of edges

Definition at line 361 of file well.cpp.

◆ nb_vertices()

template<index_t DIMENSION>
index_t RINGMesh::WellPart< DIMENSION >::nb_vertices ( ) const

Definition at line 367 of file well.cpp.

◆ set_corner()

template<index_t DIMENSION>
void RINGMesh::WellPart< DIMENSION >::set_corner ( index_t  c,
index_t  id 
)
inline

Sets the corber id

Parameters
[in]cthe corner id (0 or 1)
[in]idthe corner id in the corners_ vector the the well

Definition at line 144 of file well.h.

◆ set_id()

template<index_t DIMENSION>
void RINGMesh::WellPart< DIMENSION >::set_id ( index_t  id)
inline

Sets the id of the part corresponding to the position in the parts_ vector of the well

Parameters
[in]idthe id to set

Definition at line 182 of file well.h.

◆ set_points()

template<index_t DIMENSION>
void RINGMesh::WellPart< DIMENSION >::set_points ( const std::vector< vecn< DIMENSION > > &  points)

Create the associated Mesh of the part

Parameters
[in]pointsthe points of the mesh
Precondition
the points should be oriented in the order of the well path

Definition at line 339 of file well.cpp.

◆ vertex()

template<index_t DIMENSION>
const vecn< DIMENSION > & RINGMesh::WellPart< DIMENSION >::vertex ( index_t  v) const

Definition at line 373 of file well.cpp.

◆ vertex_attribute_manager()

template<index_t DIMENSION>
GEO::AttributesManager & RINGMesh::WellPart< DIMENSION >::vertex_attribute_manager ( ) const

Definition at line 405 of file well.cpp.

◆ vertices_nn_search()

template<index_t DIMENSION>
const NNSearch< DIMENSION > & RINGMesh::WellPart< DIMENSION >::vertices_nn_search ( ) const

Definition at line 387 of file well.cpp.

Member Data Documentation

◆ corners_

template<index_t DIMENSION>
std::array< index_t, 2 > RINGMesh::WellPart< DIMENSION >::corners_
private

id in the corners_ vector the the well

Definition at line 207 of file well.h.

◆ id_

template<index_t DIMENSION>
index_t RINGMesh::WellPart< DIMENSION >::id_
private

id of the part corresponding to the position in the parts_ vector of the well

Definition at line 205 of file well.h.

◆ mesh_

template<index_t DIMENSION>
std::unique_ptr< LineMesh< DIMENSION > > RINGMesh::WellPart< DIMENSION >::mesh_
private

Definition at line 208 of file well.h.


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