IgANet
IGAnets - Isogeometric Analysis Networks
Loading...
Searching...
No Matches
iganet::CuboidCreator< T > Class Template Reference

Cuboid creator class. More...

#include </home/runner/work/iganet/iganet/include/iganet/geometry/creator.hpp>

Inheritance diagram for iganet::CuboidCreator< T >:
iganet::CreatorCore< T > iganet::utils::FullQualifiedName

Public Member Functions

 CuboidCreator ()
 Default constructor.
 
 CuboidCreator (const T &x0min, const T &x0max, const T &x1min, const T &x1max, const T &y0min, const T &y0max, const T &y1min, const T &y1max, const T &z0min, const T &z0max, const T &z1min, const T &z1max)
 Bounds constructor.
 
template<typename Spline >
requires SplineType<Spline>
auto & next (Spline &obj) const
 Transforms a spline into the next randomly generated cuboid.
 
void pretty_print (std::ostream &os) const noexcept override
 Returns a string representation of the RectangleCreator object.
 

Private Attributes

x0max_
 
x0min_
 Bounds of the x-, y-, and z-coordinate sampling ranges.
 
x1max_
 
x1min_
 
y0max_
 
y0min_
 
y1max_
 
y1min_
 
z0max_
 
z0min_
 
z1max_
 
z1min_
 

Additional Inherited Members

- Protected Member Functions inherited from iganet::utils::FullQualifiedName
virtual ~FullQualifiedName ()=default
 
virtual const std::string & name () const noexcept
 Returns the full qualified name of the object.
 
- Protected Attributes inherited from iganet::utils::FullQualifiedName
at::optional< std::string > name_
 String storing the full qualified name of the object.
 

Detailed Description

template<typename T>
class iganet::CuboidCreator< T >

Cuboid creator class.

This geometry creator generates a sequence of cuboids in the specified bounds [xmin, xmax] x [ymin, ymax] x [zmin, zmax].

Template Parameters
TScalar type used for cuboid coordinates and bounds.

Constructor & Destructor Documentation

◆ CuboidCreator() [1/2]

template<typename T >
iganet::CuboidCreator< T >::CuboidCreator ( )
inline

Default constructor.

Initializes each coordinate's two endpoint sampling ranges to [0.0, 0.1] and [0.9, 1.0], respectively, and seeds the random-number generator.

◆ CuboidCreator() [2/2]

template<typename T >
iganet::CuboidCreator< T >::CuboidCreator ( const T &  x0min,
const T &  x0max,
const T &  x1min,
const T &  x1max,
const T &  y0min,
const T &  y0max,
const T &  y1min,
const T &  y1max,
const T &  z0min,
const T &  z0max,
const T &  z1min,
const T &  z1max 
)
inline

Bounds constructor.

Parameters
x0minLower bound of the first x-coordinate sampling range.
x0maxUpper bound of the first x-coordinate sampling range.
x1minLower bound of the second x-coordinate sampling range.
x1maxUpper bound of the second x-coordinate sampling range.
y0minLower bound of the first y-coordinate sampling range.
y0maxUpper bound of the first y-coordinate sampling range.
y1minLower bound of the second y-coordinate sampling range.
y1maxUpper bound of the second y-coordinate sampling range.
z0minLower bound of the first z-coordinate sampling range.
z0maxUpper bound of the first z-coordinate sampling range.
z1minLower bound of the second z-coordinate sampling range.
z1maxUpper bound of the second z-coordinate sampling range.

Member Function Documentation

◆ next()

template<typename T >
template<typename Spline >
requires SplineType<Spline>
auto & iganet::CuboidCreator< T >::next ( Spline &  obj) const
inline

Transforms a spline into the next randomly generated cuboid.

Template Parameters
SplineThree-dimensional spline type to transform.
Parameters
objSpline object modified in place.
Returns
A reference to obj after applying the cuboid transformation.
Note
Spline must have both parametric and geometric dimension three.

◆ pretty_print()

template<typename T >
void iganet::CuboidCreator< T >::pretty_print ( std::ostream &  os) const
inlineoverridevirtualnoexcept

Returns a string representation of the RectangleCreator object.

Note
For this class, the represented object is a CuboidCreator object.
Parameters
osStream that receives the representation.

Implements iganet::CreatorCore< T >.

Member Data Documentation

◆ x0max_

template<typename T >
T iganet::CuboidCreator< T >::x0max_
private

◆ x0min_

template<typename T >
T iganet::CuboidCreator< T >::x0min_
private

Bounds of the x-, y-, and z-coordinate sampling ranges.

◆ x1max_

template<typename T >
T iganet::CuboidCreator< T >::x1max_
private

◆ x1min_

template<typename T >
T iganet::CuboidCreator< T >::x1min_
private

◆ y0max_

template<typename T >
T iganet::CuboidCreator< T >::y0max_
private

◆ y0min_

template<typename T >
T iganet::CuboidCreator< T >::y0min_
private

◆ y1max_

template<typename T >
T iganet::CuboidCreator< T >::y1max_
private

◆ y1min_

template<typename T >
T iganet::CuboidCreator< T >::y1min_
private

◆ z0max_

template<typename T >
T iganet::CuboidCreator< T >::z0max_
private

◆ z0min_

template<typename T >
T iganet::CuboidCreator< T >::z0min_
private

◆ z1max_

template<typename T >
T iganet::CuboidCreator< T >::z1max_
private

◆ z1min_

template<typename T >
T iganet::CuboidCreator< T >::z1min_
private

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