82 : name_( std::move( name ) ), type_( type )
176 rock_ = rock_feature;
184 virtual bool is_conformable_base()
const = 0;
185 virtual bool is_conformable_top()
const = 0;
186 virtual RELATION get_relation_base()
const = 0;
187 virtual RELATION get_relation_top()
const = 0;
188 virtual const Interface3D& get_interface_base()
const = 0;
189 virtual const Interface3D& get_interface_top()
const = 0;
190 virtual double get_min_thick()
const = 0;
191 virtual double get_max_thick()
const = 0;
208 const Interface3D& interface_base,
209 const Interface3D& interface_top,
210 const Layer3D& layer,
229 return relation_base_;
234 return relation_top_;
239 return *interface_base_;
244 return *interface_top_;
272 const std::vector< const StratigraphicUnit* >& sub_units )
280 return ( units_.back()->is_conformable_base() );
285 return ( units_.front()->is_conformable_top() );
290 return units_.back()->get_relation_base();
295 return units_.front()->get_relation_top();
300 return units_.back()->get_interface_base();
305 return units_.front()->get_interface_top();
310 double sum_min_thick = 0.;
311 for(
auto unit : units_ )
313 sum_min_thick += unit->get_min_thick();
315 return sum_min_thick;
320 double sum_max_thick = 0.;
321 for(
auto unit : units_ )
323 sum_max_thick += unit->get_max_thick();
325 return sum_max_thick;
329 std::vector< const StratigraphicUnit* > units_{};
355 const std::vector< const StratigraphicUnit* >& units,
357 : name_( std::move( name ) ), units_( units ), type_( type )
403 return units_.front();
411 return units_.back();
433 return units_[index];
463 return ( units_.back()->is_conformable_base() );
472 return ( units_.front()->is_conformable_top() );
482 return ( units_.back()->get_relation_base() );
491 return ( units_.front()->get_relation_top() );
501 return ( units_.back()->get_interface_base() );
510 return ( units_.front()->get_interface_top() );
516 double get_column_min_thick()
const;
520 double get_column_max_thick()
const;
535 index_t get_index(
const std::string& unit_name )
const;
539 std::vector< const StratigraphicUnit* > units_{};
#define ringmesh_disable_copy_and_move(Class)
const StratigraphicUnit * get_base_unit() const
RELATION get_relation_base()
get_relation_base for the Stratigraphic Column
const Interface3D & get_interface_top() const final
RELATION get_relation_top()
get_relation_top for the Stratigraphic Column
RockFeature(std::string name)
Simple constructor of RockFeature.
bool is_conformable_top() const final
double get_min_thick() const final
SubdividedStratigraphicUnit(std::string name, RockFeature rock, const std::vector< const StratigraphicUnit * > &sub_units)
double get_min_thick() const final
Manages the RockFeature, which contains a RockType and more informations.
const std::vector< const StratigraphicUnit *> & get_all_units() const
const StratigraphicUnit * get_unit(const index_t index) const
StratigraphicColumn(std::string name, const std::vector< const StratigraphicUnit * > &units, STRATIGRAPHIC_PARADIGM type)
Complete constructor of StratigraphicColumn.
bool is_conformable_top() const final
RELATION get_relation_top() const final
void set_name(const std::string &name)
const Interface3D & get_interface_base() const final
const Interface3D & get_interface_top() const
get_interface_top for the Stratigraphic Column
bool is_conformable_base() const final
virtual const std::string & get_name() const
bool is_conformable_base() const final
const Interface3D & get_interface_base() const final
const Interface3D * interface_base_
const Interface3D * interface_top_
Representing Stratigraphic Units Each Unit has a name, two delimiting interfaces with two correspondi...
RELATION get_relation_base() const final
const std::string & get_name() const
void set_rock_feature(const RockFeature &rock_feature)
A stratigraphic column is composed of several stratigraphic units.
RockFeature(std::string name, ROCKTYPE type)
Complete constructor of a RockFeature.
const ROCKTYPE & get_rock_type() const
const RockFeature & get_rock_feature() const
RELATION get_relation_base() const final
void set_rock_type(ROCKTYPE type)
double get_max_thick() const final
bool is_conformable_base() const
is_conformable_base for the Stratigraphic Column
const std::string & get_name() const
bool is_conformable_top() const
is_conformable_top for the Stratigraphic Column
double get_max_thick() const final
Classes to build GeoModel from various inputs.
RELATION get_relation_top() const final
STRATIGRAPHIC_PARADIGM get_paradigm() const
FORWARD_DECLARATION_DIMENSION_CLASS(GeoModelMeshEntityAccess)
const StratigraphicUnit * get_top_unit() const
const Interface3D & get_interface_top() const final
const Interface3D & get_interface_base() const
get_interface_base for the Stratigraphic Column
StratigraphicColumn(std::string name, const STRATIGRAPHIC_PARADIGM type)
Simple Constructor of StratigraphicColumn.