Loading [MathJax]/extensions/tex2jax.js
QUGaR 0.0.4
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Concepts
qugar::impl::funcs::Annulus Class Reference

2D annulus function. The function is defined by the annulus center and outer and inner radii. The function presents a negative sign inside the annulus (between both boundaries), and positive outside. More...

#include <primitive_funcs_lib.hpp>

Inheritance diagram for qugar::impl::funcs::Annulus:
[legend]
Collaboration diagram for qugar::impl::funcs::Annulus:
[legend]

Public Member Functions

 Annulus (real inner_radius, real outer_radius)
 Constructor.
 
 Annulus (real inner_radius, real outer_radius, const Point< 2 > &center)
 Constructor.
 
- Public Member Functions inherited from qugar::impl::funcs::AnnulusBase
 AnnulusBase (real inner_radius, real outer_radius, const Point< 2 > &center)
 Constructor.
 
const Point< 2 > & center () const
 Gets the center of the annulus.
 
real inner_radius () const
 Gets the inner radius of the annulus.
 
real outer_radius () const
 Gets the outer radius of the annulus.
 
- Public Member Functions inherited from qugar::impl::DomainFunc< dim, range >
 DomainFunc ()=default
 Default constructor.
 
 DomainFunc (const DomainFunc &)=default
 Default copy constructor.
 
 DomainFunc (DomainFunc &&)=default
 Default move constructor.
 
DomainFuncoperator= (const DomainFunc &)=default
 Default copy assignment operator.
 
DomainFuncoperator= (DomainFunc &&)=default
 Default move assignment operator.
 
virtual ~DomainFunc ()=default
 Default virtual destructor.
 
virtual Value< realoperator() (const Point< dim > &point) const =0
 Evaluator operator.
 
virtual Value< Interval< dim > > operator() (const Point< dim, Interval< dim > > &point) const =0
 Evaluator operator.
 
virtual Gradient< realgrad (const Point< dim > &point) const =0
 Gradient evaluator operator.
 
virtual Gradient< Interval< dim > > grad (const Point< dim, Interval< dim > > &point) const =0
 Gradient evaluator operator.
 
virtual Hessian< realhessian (const Point< dim > &point) const =0
 Hessian evaluator operator.
 

Public Attributes

 declare_impl_func_virtual_interface_2D
 

Additional Inherited Members

- Public Types inherited from qugar::impl::DomainFunc< dim, range >
template<int N>
using Interval = ::algoim::Interval<N>
 Algoim's interval alias.
 
template<typename T >
using Value = std::conditional_t<range == 1, T, Vector<T, range>>
 Value type.
 
template<typename T >
using Gradient = Vector<Value<T>, dim>
 Gradient type.
 
template<typename T >
using Hessian = Vector<Value<T>, num_hessian>
 Hessian (symmetric type).
 
- Static Public Attributes inherited from qugar::impl::DomainFunc< dim, range >
static const int num_hessian = dim * (dim + 1) / 2
 Number of Hessian (symmetric) components.
 
- Static Protected Member Functions inherited from qugar::impl::funcs::AnnulusBase
static Point< 2 > get_default_center ()
 Gets the default center of the cylinder. It is set to the center of the Cartesian coordinate system.
 
- Protected Attributes inherited from qugar::impl::funcs::AnnulusBase
real inner_radius_
 Inner radius of the annulus.
 
real outer_radius_
 Outer radius of the annulus.
 
Point< 2 > center_
 Center of the annulus.
 

Detailed Description

2D annulus function. The function is defined by the annulus center and outer and inner radii. The function presents a negative sign inside the annulus (between both boundaries), and positive outside.

Note
non-Bezier version.

Constructor & Destructor Documentation

◆ Annulus() [1/2]

qugar::impl::funcs::Annulus::Annulus ( real inner_radius,
real outer_radius )

Constructor.

Center is set to (0,0).

Parameters
inner_radiusInner radius of the annulus.
outer_radiusOuter radius of the annulus.

◆ Annulus() [2/2]

qugar::impl::funcs::Annulus::Annulus ( real inner_radius,
real outer_radius,
const Point< 2 > & center )

Constructor.

Parameters
inner_radiusInner radius of the annulus.
outer_radiusOuter radius of the annulus.
centerAnnulus' center.

Member Data Documentation

◆ declare_impl_func_virtual_interface_2D

qugar::impl::funcs::Annulus::declare_impl_func_virtual_interface_2D

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