11 #ifndef BEMBEL_SRC_GEOMETRY_GEOMETRY_HPP_
12 #define BEMBEL_SRC_GEOMETRY_GEOMETRY_HPP_
49 geometry_ = std::make_shared<PatchVector>();
50 *geometry_ = *(other.geometry_);
61 geometry_ = std::make_shared<PatchVector>();
73 std::swap(geometry_, other.geometry_);
90 std::string file_suffix = filename.substr(filename.find(
'.') + 1);
93 if (file_suffix.compare(
"dat") == 0)
95 else if (file_suffix.compare(
"igs") == 0)
98 assert(!
"File type unknown!");
100 geometry_ = std::make_shared<PatchVector>();
143 std::shared_ptr<PatchVector> geometry_;
this class wraps a GeometryVector and provides some basic functionality, like reading Geometry files
void init_Geometry(const std::string &filename)
Initialize the geometry from a geometry given by a file.
Geometry(Geometry &&other)
Move constructor.
Geometry(const PatchVector &in)
Copy constructor.
Geometry(const std::string &filename)
Constructor.
const std::shared_ptr< PatchVector > get_geometry_ptr() const
Return const pointer to the geometry.
Geometry()
Default constructor.
int get_number_of_patches() const
Get number of patches.
PatchVector & get_geometry()
Return reference to the geometry.
const PatchVector & get_geometry() const
Return const reference to the geometry.
Geometry & operator=(Geometry other)
Copy assignment operator for the Geometry class.
std::shared_ptr< PatchVector > get_geometry_ptr()
Return pointer to the geometry.
Geometry(const Geometry &other)
Copy constructor.
std::vector< Bembel::Patch > PatchVector
typedef for PatchVector
std::vector< Patch > LoadGeometryFileIGS(const std::string &file_name) noexcept
loads geometry from IGES file. Note that the direction of the normals must be consistent.
std::vector< Patch > LoadGeometryFileDAT(const std::string &file_name) noexcept
loads geometry from file with GEOPDE-format. Note that the direction of the normals must be consisten...
Routines for the evalutation of pointwise errors.
std::vector< Patch > PatchShredder(const Patch &patch) noexcept
This function cuts a patch along internal knots, if any.