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

Interval creator class. More...

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

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

Public Member Functions

 IntervalCreator ()
 Default constructor.
 
 IntervalCreator (const T &x0min, const T &x0max, const T &x1min, const T &x1max)
 Bounds constructor.
 
template<typename Spline >
requires SplineType<Spline>
auto & next (Spline &obj) const
 Transforms a spline into the next randomly generated interval.
 
void pretty_print (std::ostream &os) const noexcept override
 Returns a string representation of the IntervalCreator object.
 

Private Attributes

x0max_
 
x0min_
 Bounds of the two endpoint sampling ranges.
 
x1max_
 
x1min_
 

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::IntervalCreator< T >

Interval creator class.

This geometry creator generates a sequence of intervals in the specified bounds [xmin, xmax].

Template Parameters
TScalar type used for interval coordinates and bounds.

Constructor & Destructor Documentation

◆ IntervalCreator() [1/2]

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

Default constructor.

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

◆ IntervalCreator() [2/2]

template<typename T >
iganet::IntervalCreator< T >::IntervalCreator ( const T &  x0min,
const T &  x0max,
const T &  x1min,
const T &  x1max 
)
inline

Bounds constructor.

Parameters
x0minLower bound of the first endpoint's sampling range.
x0maxUpper bound of the first endpoint's sampling range.
x1minLower bound of the second endpoint's sampling range.
x1maxUpper bound of the second endpoint's sampling range.

Member Function Documentation

◆ next()

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

Transforms a spline into the next randomly generated interval.

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

◆ pretty_print()

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

Returns a string representation of the IntervalCreator object.

Parameters
osStream that receives the representation.

Implements iganet::CreatorCore< T >.

Member Data Documentation

◆ x0max_

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

◆ x0min_

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

Bounds of the two endpoint sampling ranges.

◆ x1max_

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

◆ x1min_

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

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