|
World Builder
1.1.0-pre
A geodynamic initial conditions generator
|
#include <interface.h>


Public Member Functions | |
| Interface () | |
| virtual | ~Interface () |
| void | get_coordinates (const std::string &name, Parameters &prm, const CoordinateSystem coordinate_system) |
| virtual void | parse_entries (Parameters &prm)=0 |
| virtual void | properties (const Point< 3 > &position_in_cartesian_coordinates, const Objects::NaturalCoordinate &position_in_natural_coordinates, const double depth, const std::vector< std::array< unsigned int, 3 >> &properties, const double gravity, const std::vector< size_t > &entry_in_output, std::vector< double > &output) const =0 |
| std::string | get_name () const |
| virtual Objects::PlaneDistances | distance_to_feature_plane (const Point< 3 > &position_in_cartesian_coordinates, const Objects::NaturalCoordinate &position_in_natural_coordinates, const double depth) const |
Static Public Member Functions | |
| static void | declare_entries (Parameters &prm, const std::string &parent_name, const std::vector< std::string > &required_entries) |
| static void | registerType (const std::string &name, void(*)(Parameters &, const std::string &, const std::vector< std::string > &required_entries), void(*make_snippet)(Parameters &), ObjectFactory *factory) |
| static std::unique_ptr< Interface > | create (const std::string &name, WorldBuilder::World *world) |
Protected Attributes | |
| WorldBuilder::World * | world |
| std::string | name |
| size_t | tag_index |
| WorldBuilder::Utilities::InterpolationType | interpolation_type |
| std::size_t | original_number_of_coordinates |
| std::vector< Point< 2 > > | coordinates |
| WorldBuilder::Objects::BezierCurve | bezier_curve |
| std::string | temperature_submodule_name |
| std::string | composition_submodule_name |
Static Private Member Functions | |
| static std::map< std::string, ObjectFactory * > & | get_factory_map () |
| static std::map< std::string, void(*)(Parameters &, const std::string &, const std::vector< std::string > &required_entries)> & | get_declare_map () |
| static std::map< std::string, void(*)(Parameters &)> & | get_snippet_map () |
This class is an interface for the specific plate tectonic feature classes, such as continental plate, oceanic plate and subduction zone.
Definition at line 42 of file interface.h.
|
default |
constructor
|
virtualdefault |
Destructor
|
static |
A function to create a new type. This is part of the automatic registration of the object factory.
Definition at line 179 of file interface.cc.

|
static |
declare and read in the world builder file into the parameters class
Definition at line 67 of file interface.cc.


|
virtual |
Returns a PlaneDistances object that has the distance from and along a feature plane, calculated from the coordinates and the depth of the point.
Reimplemented in WorldBuilder::Features::SubductingPlate, and WorldBuilder::Features::Fault.
Definition at line 200 of file interface.cc.

| void WorldBuilder::Features::Interface::get_coordinates | ( | const std::string & | name, |
| Parameters & | prm, | ||
| const CoordinateSystem | coordinate_system | ||
| ) |
helper function to parse coordinates.
Definition at line 140 of file interface.cc.


|
inlinestaticprivate |
Definition at line 182 of file interface.h.
|
inlinestaticprivate |
Definition at line 174 of file interface.h.
|
inline |
|
inlinestaticprivate |
Definition at line 190 of file interface.h.
|
pure virtual |
declare and read in the world builder file into the parameters class
Implemented in WorldBuilder::Features::SubductingPlate, WorldBuilder::Features::Fault, WorldBuilder::Features::ContinentalPlate, WorldBuilder::Features::MantleLayer, WorldBuilder::Features::OceanicPlate, and WorldBuilder::Features::Plume.
|
pure virtual |
takes a set of properties and a position and return a new set of properties
Implemented in WorldBuilder::Features::SubductingPlate, WorldBuilder::Features::Fault, WorldBuilder::Features::ContinentalPlate, WorldBuilder::Features::MantleLayer, WorldBuilder::Features::OceanicPlate, and WorldBuilder::Features::Plume.
|
static |
A function to register a new type. This is part of the automatic registration of the object factory.
|
protected |
The x and y spline
Definition at line 159 of file interface.h.
|
protected |
The name of the composition submodule used by this feature.
Definition at line 170 of file interface.h.
|
protected |
The coordinates at the surface of the feature
Definition at line 154 of file interface.h.
|
protected |
The type of interpolation used to get the line position between the points.
Definition at line 143 of file interface.h.
|
protected |
The name of the feature type.
Definition at line 132 of file interface.h.
|
protected |
number of original coordinates, before adding more automatically.
Definition at line 149 of file interface.h.
|
protected |
The index of the tag for this feature. This corresponds to the index in the feature_tags variable which is store in the World.
Definition at line 138 of file interface.h.
|
protected |
The name of the temperature submodule used by this feature.
Definition at line 165 of file interface.h.
|
protected |
A pointer to the world class to retrieve variables.
Definition at line 127 of file interface.h.