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

#include <well.h>

Public Member Functions

 Well ()
 
 ~Well ()=default
 
void copy_corners_and_informations (Well< DIMENSION > &well) const
 
void get_part_edges (index_t part_id, std::vector< Edge< DIMENSION > > &edges) const
 
void get_region_edges (index_t part_id, std::vector< Edge< DIMENSION > > &edges) const
 
index_t create_corner (const vecn< DIMENSION > &vertex, bool is_on_surface, index_t id)
 
index_t find_corner (const vecn< DIMENSION > &vertex, double epsilon) const
 
const WellCorner< DIMENSION > & corner (index_t c) const
 
index_t create_part (index_t region)
 
const WellPart< DIMENSION > & part (index_t part_id) const
 
WellPart< DIMENSION > & part (index_t part_id)
 
index_t part_region_id (index_t part_id) const
 
index_t nb_corners () const
 
index_t nb_parts () const
 
index_t nb_edges () const
 
void set_name (const std::string &name)
 
const std::string & name () const
 

Private Member Functions

 ringmesh_disable_copy_and_move (Well)
 

Private Attributes

std::vector< std::unique_ptr< WellCorner< DIMENSION > > > corners_
 Vector of the corners of the well. More...
 
std::vector< std::unique_ptr< WellPart< DIMENSION > > > parts_
 Vector of the parts of the well. More...
 
std::vector< index_t > part_region_id_
 Vector of the region id of the parts. More...
 
std::string name_
 Name of the well. More...
 
index_t nb_edges_
 Number of edges in the well. More...
 

Detailed Description

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

Definition at line 244 of file well.h.

Constructor & Destructor Documentation

◆ Well()

template<index_t DIMENSION>
RINGMesh::Well< DIMENSION >::Well ( )

Definition at line 419 of file well.cpp.

◆ ~Well()

template<index_t DIMENSION>
RINGMesh::Well< DIMENSION >::~Well ( )
default

Member Function Documentation

◆ copy_corners_and_informations()

template<index_t DIMENSION>
void RINGMesh::Well< DIMENSION >::copy_corners_and_informations ( Well< DIMENSION > &  well) const

Copies information and resize the number of parts and corners

Parameters
[in,out]wellthe current well information will be copied into this one

Definition at line 438 of file well.cpp.

◆ corner()

template<index_t DIMENSION>
const WellCorner< DIMENSION >& RINGMesh::Well< DIMENSION >::corner ( index_t  c) const
inline

Gets a corner

Parameters
[in]cthe id of the corner

Definition at line 303 of file well.h.

◆ create_corner()

template<index_t DIMENSION>
index_t RINGMesh::Well< DIMENSION >::create_corner ( const vecn< DIMENSION > &  vertex,
bool  is_on_surface,
index_t  id 
)
inline

Creates a new corner

Parameters
[in]vertexthe geometric position of the corner
[in]corner_infothe corner_info_t corresponding to the corner to create
Returns
the id of the created corner

Definition at line 281 of file well.h.

◆ create_part()

template<index_t DIMENSION>
index_t RINGMesh::Well< DIMENSION >::create_part ( index_t  region)
inline

Creates a new part

Parameters
[in]regionthe region id corresponding to the new part
Returns
the id of the created part

Definition at line 314 of file well.h.

◆ find_corner()

template<index_t DIMENSION>
index_t RINGMesh::Well< DIMENSION >::find_corner ( const vecn< DIMENSION > &  vertex,
double  epsilon 
) const

Finds if a corner at a given geometric position exist

Parameters
[in]vertexthe geometric position to test
[in]epsilonthe numerical précision used to compare the vertices
Returns
the id of the corner or NO_ID if not found any corresponding to p

Definition at line 424 of file well.cpp.

◆ get_part_edges()

template<index_t DIMENSION>
void RINGMesh::Well< DIMENSION >::get_part_edges ( index_t  part_id,
std::vector< Edge< DIMENSION > > &  edges 
) const

Gets the edges of a part

Parameters
[in]part_idthe part id
[in,out]edgesthe edges of the part

Definition at line 478 of file well.cpp.

◆ get_region_edges()

template<index_t DIMENSION>
void RINGMesh::Well< DIMENSION >::get_region_edges ( index_t  part_id,
std::vector< Edge< DIMENSION > > &  edges 
) const

Gets all the edges of a corresponding region

Parameters
[in]regionthe region id
[in,out]edgesthe corresponding edges

Definition at line 490 of file well.cpp.

◆ name()

template<index_t DIMENSION>
const std::string& RINGMesh::Well< DIMENSION >::name ( ) const
inline

Gets the well name

Definition at line 379 of file well.h.

◆ nb_corners()

template<index_t DIMENSION>
index_t RINGMesh::Well< DIMENSION >::nb_corners ( ) const
inline

Gets the number of corners

Definition at line 353 of file well.h.

◆ nb_edges()

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

Gets the number of edges of the well

Definition at line 463 of file well.cpp.

◆ nb_parts()

template<index_t DIMENSION>
index_t RINGMesh::Well< DIMENSION >::nb_parts ( ) const
inline

Gets the number of parts

Definition at line 360 of file well.h.

◆ part() [1/2]

template<index_t DIMENSION>
const WellPart< DIMENSION >& RINGMesh::Well< DIMENSION >::part ( index_t  part_id) const
inline

Gets a part

Parameters
[in]part_idthe part id

Definition at line 325 of file well.h.

◆ part() [2/2]

template<index_t DIMENSION>
WellPart< DIMENSION >& RINGMesh::Well< DIMENSION >::part ( index_t  part_id)
inline

Gets a part

Parameters
[in]part_idthe part id

Definition at line 334 of file well.h.

◆ part_region_id()

template<index_t DIMENSION>
index_t RINGMesh::Well< DIMENSION >::part_region_id ( index_t  part_id) const
inline

Gets the region id of a part

Parameters
[in]part_idthe part id
Returns
the region id of the part

Definition at line 344 of file well.h.

◆ ringmesh_disable_copy_and_move()

template<index_t DIMENSION>
RINGMesh::Well< DIMENSION >::ringmesh_disable_copy_and_move ( Well< DIMENSION >  )
private

◆ set_name()

template<index_t DIMENSION>
void RINGMesh::Well< DIMENSION >::set_name ( const std::string &  name)
inline

Sets the well name

Parameters
[in]namethe name to set

Definition at line 372 of file well.h.

Member Data Documentation

◆ corners_

template<index_t DIMENSION>
std::vector< std::unique_ptr< WellCorner< DIMENSION > > > RINGMesh::Well< DIMENSION >::corners_
private

Vector of the corners of the well.

Definition at line 386 of file well.h.

◆ name_

template<index_t DIMENSION>
std::string RINGMesh::Well< DIMENSION >::name_
private

Name of the well.

Definition at line 392 of file well.h.

◆ nb_edges_

template<index_t DIMENSION>
index_t RINGMesh::Well< DIMENSION >::nb_edges_
private

Number of edges in the well.

Definition at line 394 of file well.h.

◆ part_region_id_

template<index_t DIMENSION>
std::vector< index_t > RINGMesh::Well< DIMENSION >::part_region_id_
private

Vector of the region id of the parts.

Definition at line 390 of file well.h.

◆ parts_

template<index_t DIMENSION>
std::vector< std::unique_ptr< WellPart< DIMENSION > > > RINGMesh::Well< DIMENSION >::parts_
private

Vector of the parts of the well.

Definition at line 388 of file well.h.


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