20 #ifndef _world_builder_utilities_h 21 #define _world_builder_utilities_h 25 #include <boost/property_tree/json_parser.hpp> 31 using boost::property_tree::ptree;
36 namespace CoordinateSystems
49 const Point<2> &point);
58 const Point<2> &point_);
71 const ::WorldBuilder::CoordinateSystems::Interface &coordinate_system);
77 const ::WorldBuilder::CoordinateSystems::Interface &coordinate_system);
83 const std::array<double,3> &get_coordinates();
89 const std::array<double,2> get_surface_coordinates()
const;
95 double get_depth_coordinate()
const;
107 std::array<double,3> coordinates;
134 const double semi_major_axis_a,
135 const double eccentricity);
143 const double semi_major_axis_a,
144 const double eccentricity);
185 boost::optional<std::string>
187 const std::string &path,
188 const std::string &key,
189 const bool required =
true,
190 const std::string &path_separator =
".");
198 boost::optional<std::string>
200 const std::string &path,
201 const std::string &key,
202 const bool required =
true,
203 const std::string &path_separator =
".");
212 std::string
indent(
int level);
218 std::stringstream
print_tree (
const ptree &pt,
int level);
boost::optional< std::string > get_from_ptree(const ptree &tree, const std::string &path, const std::string &key, const bool required, const std::string &path_separator)
std::array< double, 3 > cartesian_to_spherical_coordinates(const Point< 3 > &position)
Point< 3 > ellipsoidal_to_cartesian_coordinates(const std::array< double, 3 > &phi_theta_d, const double semi_major_axis_a, const double eccentricity)
std::stringstream print_tree(const ptree &pt, int level)
std::array< double, 3 > cartesian_to_ellipsoidal_coordinates(const Point< 3 > &position, const double semi_major_axis_a, const double eccentricity)
Point< 3 > spherical_to_cartesian_coordinates(const std::array< double, 3 > &scoord)
double string_to_unsigned_int(const std::string &string)
const std::array< double, dim > convert_point_to_array(const Point< dim > &point_)
std::string indent(int level)
boost::optional< std::string > get_from_ptree_abs(const ptree &tree, const std::string &path, const std::string &key, const bool required, const std::string &path_separator)
double string_to_double(const std::string &string)
bool polygon_contains_point(const std::vector< Point< 2 > > &point_list, const Point< 2 > &point)
double string_to_int(const std::string &string)
CoordinateSystem string_to_coordinate_system(const std::string &coordinate_system)
double signed_distance_to_polygon(const std::vector< Point< 2 > > &point_list, const Point< 2 > &point)