Bembel
Bembel::Geometry Class Reference

this class wraps a GeometryVector and provides some basic functionality, like reading Geometry files More...

#include <Geometry.hpp>

Detailed Description

this class wraps a GeometryVector and provides some basic functionality, like reading Geometry files

Definition at line 20 of file Geometry.hpp.

Public Member Functions

 Geometry ()
 Default constructor.
 
 Geometry (const std::string &filename)
 Constructor. More...
 
 Geometry (Geometry &&other)
 Move constructor.
 
 Geometry (const Geometry &other)
 Copy constructor. More...
 
 Geometry (const PatchVector &in)
 Copy constructor. More...
 
Geometryoperator= (Geometry other)
 Copy assignment operator for the Geometry class. More...
 
void init_Geometry (const std::string &filename)
 Initialize the geometry from a geometry given by a file. More...
 
const PatchVectorget_geometry () const
 Return const reference to the geometry. More...
 
PatchVectorget_geometry ()
 Return reference to the geometry. More...
 
const std::shared_ptr< PatchVectorget_geometry_ptr () const
 Return const pointer to the geometry. More...
 
std::shared_ptr< PatchVectorget_geometry_ptr ()
 Return pointer to the geometry. More...
 
int get_number_of_patches () const
 Get number of patches. More...
 

Constructor & Destructor Documentation

◆ Geometry() [1/3]

Bembel::Geometry::Geometry ( const std::string &  filename)
inlineexplicit

Constructor.

This constructor initializes a geometry specified in a given file. We can handle .dat and .igs at the moment.

Parameters
filenameFile name of the .dat or .igs file.

Definition at line 37 of file Geometry.hpp.

◆ Geometry() [2/3]

Bembel::Geometry::Geometry ( const Geometry other)
inline

Copy constructor.

Though we are using a shared pointer, we are creating an actual copy here. might be useful if we want to modify the geometry object.

Definition at line 48 of file Geometry.hpp.

◆ Geometry() [3/3]

Bembel::Geometry::Geometry ( const PatchVector in)
inlineexplicit

Copy constructor.

Though we are using a shared pointer, we are creating an actual copy here. might be useful if we want to modify the geometry object.

Parameters
inGeometry provided as PatchVector.

Definition at line 60 of file Geometry.hpp.

Member Function Documentation

◆ get_geometry() [1/2]

PatchVector& Bembel::Geometry::get_geometry ( )
inline

Return reference to the geometry.

Returns
Reference to the PatchVector.

Definition at line 117 of file Geometry.hpp.

◆ get_geometry() [2/2]

const PatchVector& Bembel::Geometry::get_geometry ( ) const
inline

Return const reference to the geometry.

Returns
Const reference to the PatchVector.

Definition at line 111 of file Geometry.hpp.

◆ get_geometry_ptr() [1/2]

std::shared_ptr<PatchVector> Bembel::Geometry::get_geometry_ptr ( )
inline

Return pointer to the geometry.

Returns
Shared pointer to the PatchVector.

Definition at line 131 of file Geometry.hpp.

◆ get_geometry_ptr() [2/2]

const std::shared_ptr<PatchVector> Bembel::Geometry::get_geometry_ptr ( ) const
inline

Return const pointer to the geometry.

Returns
Const shared pointer to the PatchVector.

Definition at line 123 of file Geometry.hpp.

◆ get_number_of_patches()

int Bembel::Geometry::get_number_of_patches ( ) const
inline

Get number of patches.

Returns
Number of patches.

Definition at line 138 of file Geometry.hpp.

◆ init_Geometry()

void Bembel::Geometry::init_Geometry ( const std::string &  filename)
inline

Initialize the geometry from a geometry given by a file.

Note that the Shredder is required. The order of ansatz functions allows to be chosen higher than the smoothness of the NÙRBS mappings. Thus, we need to shredder the geometry mappings to have Bezier patches. You can achieve the higher regularity by changing coefficients in the projector.

Parameters
filenameFilename of a .dat or .igs file.

Definition at line 89 of file Geometry.hpp.

◆ operator=()

Geometry& Bembel::Geometry::operator= ( Geometry  other)
inline

Copy assignment operator for the Geometry class.

This copy assignment operator is explicitly deleted to prevent copying of Geometry objects.

Returns
A reference to the updated Geometry object.

Definition at line 72 of file Geometry.hpp.


The documentation for this class was generated from the following file: