30std::shared_ptr<util::geometry::GeomObject>
d_geom_p;
58 d_geom_p = std::make_shared<util::geometry::NullGeomObject>(
80 std::vector<double> ¶ms,
81 std::pair<std::vector<std::string>, std::vector<std::string>> &complexInfo,
82 std::shared_ptr<util::geometry::GeomObject> &geom,
92std::string
printStr(
int nt = 0,
int lvl = 0)
const {
95 std::ostringstream oss;
96 oss << tabS <<
"------- GeomData --------" << std::endl
98 oss << tabS <<
"Type = " <<
d_geomName << std::endl;
99 oss << tabS <<
"Parameters = ["
103 oss << tabS <<
"Vec type for complex geometry = ["
107 oss << tabS <<
"Vec flag for complex geometry = ["
112 oss <<
d_geom_p->printStr(nt + 1, lvl);
123void print(
int nt = 0,
int lvl = 0)
const {
150std::pair<util::Point, util::Point>
d_box;
220 std::vector<std::string> vec_type);
232 std::vector<std::string> vec_type);
246 const std::vector<double> ¶ms,
247 const std::vector<std::string> &vec_type,
248 const std::vector<std::string> &vec_flag,
249 std::shared_ptr<util::geometry::GeomObject> &obj,
251 bool perform_check =
true);
254 const std::vector<double> ¶ms,
255 const std::vector<std::string> &vec_type,
256 const std::vector<std::string> &vec_flag,
257 std::shared_ptr<util::geometry::GeomObject> &obj,
259 bool perform_check =
true);
264 bool perform_check =
true);
Collection of methods and data related to geometry.
bool isNumberOfParamForComplexGeometryValid(size_t n, std::string geom_type, std::vector< std::string > vec_type)
Ascertain if number of parameters are correct for the given geometry.
bool isNumberOfParamForGeometryValid(size_t n, std::string geom_type)
Ascertain if number of parameters are correct for the given geometry.
std::vector< size_t > getNumParamsRequired(std::string geom_type)
Get num params required for creation of object.
bool checkParamForGeometry(size_t n, std::string geom_type)
Check parameter data for validity.
const std::vector< std::string > acceptable_geometries
List of acceptable geometries for particles in PeriDEM.
void createGeomObjectOld(const std::string &type, const std::vector< double > ¶ms, const std::vector< std::string > &vec_type, const std::vector< std::string > &vec_flag, std::shared_ptr< util::geometry::GeomObject > &obj, const size_t &dim, bool perform_check=true)
Create geometrical object from the given data.
const std::vector< std::string > & getAcceptableGeometries()
Returns list of acceptable geometries for PeriDEM simulation.
bool checkParamForComplexGeometry(size_t n, std::string geom_type, std::vector< std::string > vec_type)
Check parameter data for validity.
void createGeomObject(const std::string &geom_type, const std::vector< double > ¶ms, const std::vector< std::string > &vec_type, const std::vector< std::string > &vec_flag, std::shared_ptr< util::geometry::GeomObject > &obj, const size_t &dim, bool perform_check=true)
std::string getTabS(int nt)
Returns tab spaces of given size.
std::string printStr(const T &msg, int nt=print_default_tab)
Returns formatted string for output.
Collection of methods useful in simulation.
bool isGreater(const double &a, const double &b)
Returns true if a > b.
bool isLess(const double &a, const double &b)
Returns true if a < b.
A structure to represent 3d vectors.
double d_y
the y coordinate
double d_z
the z coordinate
double length() const
Computes the Euclidean length of the vector.
double d_x
the x coordinate
Defines simple rectangle domain.
bool isNear(const util::Point &x, const double &tol) const
std::vector< size_t > d_nodes
std::pair< util::Point, util::Point > d_box
bool isNear(const BoxPartition &box, const double &tol) const
void addNode(const size_t &i)
Input data for geometrical objects.
void copyGeometry(GeomData &z, size_t dim)
Copies the geometry details.
std::string printStr(int nt=0, int lvl=0) const
Returns the string containing printable information about the object.
std::shared_ptr< util::geometry::GeomObject > d_geom_p
Zone geometry.
GeomData(const GeomData &z)
Constructor.
std::pair< std::vector< std::string >, std::vector< std::string > > d_geomComplexInfo
Zone geometry info if it is a complex type.
std::string d_geomName
Zone type.
void createNullGeomObject(std::string description="")
Creates NullGeomObject.
std::vector< double > d_geomParams
Zone parameters.
void print(int nt=0, int lvl=0) const
Prints the information about the object.