26 namespace CoordinateSystems
40 "A Cartesian coordinate system. Coordinates are (x,y,z) and extend infinitely in all directions.");
80 "Can not convert non-Cartesian points through the Cartesian coordinate system.");
82 "Can not convert non-Cartesian points through the Cartesian coordinate system.");
84 const Point<3> difference = point_1-point_2;
87 return point_at_depth.
norm();
94 return std::numeric_limits<double>::infinity();
#define WB_REGISTER_COORDINATE_SYSTEM(classname, name)
std::array< double, 3 > natural_to_cartesian_coordinates(const std::array< double, 3 > &position) const override final
WorldBuilder::World * world
DepthMethod depth_method() const override final
static void declare_entries(Parameters &prm, const std::string &parent_name="")
void parse_entries(Parameters &prm) override final
CoordinateSystem get_coordinate_system() const
Cartesian(WorldBuilder::World *world)
CoordinateSystem natural_coordinate_system() const override final
#define WBAssert(condition, message)
virtual double max_model_depth() const override final
double distance_between_points_at_same_depth(const Point< 3 > &point_1, const Point< 3 > &point_2) const override final
~Cartesian() override final
void declare_entry(const std::string &name, const Types::Interface &type, const std::string &documentation)
std::array< double, 3 > cartesian_to_natural_coordinates(const std::array< double, 3 > &position) const override final