World Builder  1.1.0-pre
A geodynamic initial conditions generator
invalid.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2018-2024 by the authors of the World Builder code.
3 
4  This file is part of the World Builder.
5 
6  This program is free software: you can redistribute it and/or modify
7  it under the terms of the GNU Lesser General Public License as published
8  by the Free Software Foundation, either version 2 of the License, or
9  (at your option) any later version.
10 
11  This program is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU Lesser General Public License for more details.
15 
16  You should have received a copy of the GNU Lesser General Public License
17  along with this program. If not, see <https://www.gnu.org/licenses/>.
18 */
19 
20 #ifndef WORLD_BUILDER_COORDINATE_SYSTEMS_INVALID_H
21 #define WORLD_BUILDER_COORDINATE_SYSTEMS_INVALID_H
22 
24 #include "world_builder/nan.h"
25 
26 
27 namespace WorldBuilder
28 {
29 
30  namespace CoordinateSystems
31  {
37  class Invalid final : public Interface
38  {
39  public:
44 
48  ~Invalid() override final;
49 
53  static
54  void declare_entries(Parameters &prm, const std::string &parent_name = "");
55 
59  void parse_entries(Parameters &prm) override final;
60 
61 
65  CoordinateSystem natural_coordinate_system() const override final;
66 
72  DepthMethod depth_method() const override final;
73 
81  std::array<double,3> cartesian_to_natural_coordinates(const std::array<double,3> &position) const override final;
82 
88  std::array<double,3> natural_to_cartesian_coordinates(const std::array<double,3> &position) const override final;
89 
90 
95  double distance_between_points_at_same_depth(const Point<3> &point_1, const Point<3> &point_2) const override final;
96 
101  virtual
102  double max_model_depth() const override final;
103 
104  private:
105 
106  };
107  } // namespace CoordinateSystems
108 } // namespace WorldBuilder
109 
110 #endif
double distance_between_points_at_same_depth(const Point< 3 > &point_1, const Point< 3 > &point_2) const override final
Definition: invalid.cc:70
DepthMethod depth_method() const override final
Definition: invalid.cc:49
Invalid(WorldBuilder::World *world)
Definition: invalid.cc:28
static void declare_entries(Parameters &prm, const std::string &parent_name="")
std::array< double, 3 > natural_to_cartesian_coordinates(const std::array< double, 3 > &position) const override final
Definition: invalid.cc:63
CoordinateSystem natural_coordinate_system() const override final
Definition: invalid.cc:42
void parse_entries(Parameters &prm) override final
Definition: invalid.cc:37
std::array< double, 3 > cartesian_to_natural_coordinates(const std::array< double, 3 > &position) const override final
Definition: invalid.cc:56
virtual double max_model_depth() const override final
Definition: invalid.cc:77