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_);
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.
const std::shared_ptr< PatchVector > get_geometry_ptr() const
Return const pointer to the geometry.
Geometry(Geometry &&other)
Move constructor.
Geometry(const PatchVector &in)
Copy constructor.
Geometry & operator=(Geometry other)
Copy assignment operator for the Geometry class.
Geometry(const std::string &filename)
Constructor.
std::shared_ptr< PatchVector > get_geometry_ptr()
Return 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.
Geometry(const Geometry &other)
Copy constructor.
const PatchVector & get_geometry() const
Return const reference to the geometry.
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.
constexpr int getFunctionSpaceOutputDimension()
std::vector< Patch > PatchShredder(const Patch &patch) noexcept
This function cuts a patch along internal knots, if any.