46 :
name_( std::move( name ) ),
rock_( std::move( rock ) )
52 const Interface3D& interface_base,
53 const Interface3D& interface_top,
61 interface_top_( &interface_top ),
62 interface_base_( &interface_base ),
64 relation_top_( relation_top ),
65 relation_base_( relation_base ),
66 min_thick_( min_thick ),
67 max_thick_( max_thick )
76 index_t index = get_index( above.
get_name() );
79 units_.insert( units_.begin() + index + 1, ptr_add );
85 units_.insert( units_.begin(), ptr_add );
92 units_.push_back( ptr_add );
97 index_t index = get_index( unit.
get_name() );
99 units_.erase( units_.begin() + index );
105 index_t index = get_index( unit.
get_name() );
107 return units_[index - 1];
113 index_t index = get_index( unit.
get_name() );
115 return units_[index + 1];
119 const std::string& name )
const 121 index_t index = get_index( name );
123 return units_[index];
131 sum += unit->get_min_thick();
141 sum += unit->get_max_thick();
148 for(
auto i :
range( units_.size() ) )
Manages the RockFeature, which contains a RockType and more informations.
void insert_top_unit(const StratigraphicUnit &to_add)
Declarations of a stratigraphic column, stratigraphic unit, rock features and so on.
const StratigraphicUnit * get_unit(const index_t index) const
void ringmesh_unused(const T &)
const StratigraphicUnit * get_unit_below(const StratigraphicUnit &unit) const
void remove_unit(const StratigraphicUnit &unit)
StratigraphicUnit()
Constructor of StratigraphicUnit.
virtual const std::string & get_name() const
const StratigraphicUnit * get_unit_above(const StratigraphicUnit &unit) const
double get_column_min_thick() const
Representing Stratigraphic Units Each Unit has a name, two delimiting interfaces with two correspondi...
index_t get_index(const std::string &unit_name) const
#define ringmesh_assert(x)
double get_column_max_thick() const
void insert_base_unit(const StratigraphicUnit &to_add)
UnsubdividedStratigraphicUnit(std::string name, const Interface3D &interface_base, const Interface3D &interface_top, const Layer3D &layer, RELATION relation_top, RELATION relation_base, RockFeature rock, double min_thick, double max_thick)
Classes to build GeoModel from various inputs.
void insert_unit_below(const StratigraphicUnit &above, const StratigraphicUnit &unit_to_add)
#define ringmesh_assert_not_reached