32 void create_world(
void **ptr_ptr_world,
const char *world_builder_file,
33 const bool *has_output_dir_,
const char *output_dir_,
34 const unsigned long random_number_seed)
36 bool has_output_dir =
false;
38 if (has_output_dir_ !=
nullptr)
40 has_output_dir = *has_output_dir_;
43 std::string output_dir;
44 if (output_dir_ !=
nullptr)
46 output_dir = *output_dir_;
51 output_dir, random_number_seed);
53 *ptr_ptr_world =
reinterpret_cast<void *
>(a);
57 const unsigned int n_properties)
61 std::vector<std::array<unsigned int, 3>> properties(n_properties);
62 for (
size_t i = 0; i < n_properties; ++i)
64 properties[i][0] = properties_[i][0];
65 properties[i][1] = properties_[i][1];
66 properties[i][2] = properties_[i][2];
72 const double depth,
const unsigned int properties_[][3],
73 const unsigned int n_properties,
double values[])
77 const std::array<double, 2> position = {{x, z}};
78 std::vector<std::array<unsigned int, 3>> properties(n_properties);
79 for (
size_t i = 0; i < n_properties; ++i)
81 properties[i][0] = properties_[i][0];
82 properties[i][1] = properties_[i][1];
83 properties[i][2] = properties_[i][2];
85 std::vector<double> returned_values = a->
properties(position, depth, properties);
86 for (
unsigned i = 0; i < returned_values.size(); ++i)
88 values[i] = returned_values[i];
97 const unsigned int properties_[][3],
98 const unsigned int n_properties,
102 const std::array<double,3> position = {{x,y,z}};
103 std::vector<std::array<unsigned int,3>> properties(n_properties);
104 for (
size_t i = 0; i < n_properties; ++i)
106 properties[i][0] = properties_[i][0];
107 properties[i][1] = properties_[i][1];
108 properties[i][2] = properties_[i][2];
110 std::vector<double> returned_values = a->
properties(position, depth, properties);
111 for (
unsigned i = 0; i < returned_values.size(); ++i)
113 values[i] = returned_values[i];
126 const std::array<double, 2> position = {{x, z}};
135 double depth,
double *temperature)
139 const std::array<double, 3> position = {{x, y, z}};
148 unsigned int composition_number,
double *composition)
152 const std::array<double, 2> position = {{x, z}};
153 *composition = a->
composition(position, depth, composition_number);
161 double depth,
unsigned int composition_number,
166 const std::array<double, 3> position = {{x, y, z}};
167 *composition = a->
composition(position, depth, composition_number);
void temperature_3d(void *ptr_ptr_world, double x, double y, double z, double depth, double *temperature)
double composition(const std::array< double, 2 > &point, const double depth, const unsigned int composition_number) const
void temperature_2d(void *ptr_ptr_world, double x, double z, double depth, double *temperature)
void properties_3d(void *ptr_ptr_world, const double x, const double y, const double z, const double depth, const unsigned int properties_[][3], const unsigned int n_properties, double values[])
This function returns 3D properties.
std::vector< double > properties(const std::array< double, 2 > &point, const double depth, const std::vector< std::array< unsigned int, 3 >> &properties) const
void composition_2d(void *ptr_ptr_world, double x, double z, double depth, unsigned int composition_number, double *composition)
unsigned int properties_output_size(const std::vector< std::array< unsigned int, 3 >> &properties) const
double temperature(const std::array< double, 2 > &point, const double depth) const
void properties_2d(void *ptr_ptr_world, const double x, const double z, const double depth, const unsigned int properties_[][3], const unsigned int n_properties, double values[])
This function returns 2D properties.
void release_world(void *ptr_ptr_world)
void composition_3d(void *ptr_ptr_world, double x, double y, double z, double depth, unsigned int composition_number, double *composition)
unsigned int properties_output_size(void *ptr_ptr_world, const unsigned int properties_[][3], const unsigned int n_properties)
void create_world(void **ptr_ptr_world, const char *world_builder_file, const bool *has_output_dir_, const char *output_dir_, const unsigned long random_number_seed)