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...
|
| | AnnulusBzr (real inner_radius, real outer_radius) |
| | Constructor.
|
| |
| | AnnulusBzr (real inner_radius, real outer_radius, const Point< 2 > ¢er) |
| | Constructor.
|
| |
| | AnnulusBase (real inner_radius, real outer_radius, const Point< 2 > ¢er) |
| | 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.
|
| |
| | BezierTP (const TensorSizeTP< dim > &order) |
| | Constructor.
|
| |
| | BezierTP (const TensorSizeTP< dim > &order, const CoefsType &value) |
| | Constructs a constant value Bezier tensor product.
|
| |
| | BezierTP (const TensorSizeTP< dim > &order, const std::vector< CoefsType > &coefs) |
| | Constructor.
|
| |
| | BezierTP (const BezierTP< dim, range > &bezier) |
| | Copy constructor.
|
| |
| | BezierTP (const MonomialsTP< dim, range > &monomials) |
| | Constructor.
|
| |
| virtual Value< real > | operator() (const Point< dim > &point) const final |
| | Evaluator operator.
|
| |
| virtual Value< Interval< dim > > | operator() (const Point< dim, Interval< dim > > &point) const final |
| | Evaluator operator.
|
| |
| virtual Gradient< real > | grad (const Point< dim > &point) const final |
| | Gradient evaluator operator.
|
| |
| virtual Gradient< Interval< dim > > | grad (const Point< dim, Interval< dim > > &point) const final |
| | Gradient evaluator operator.
|
| |
| virtual Hessian< real > | hessian (const Point< dim > &point) const final |
| | Hessian evaluator operator.
|
| |
| const ::algoim::xarray< CoefsType, dim > & | get_xarray () const |
| | Gets a constant reference to the stored xarray view of the polynomial coefficients.
|
| |
| std::shared_ptr< BezierTP< dim - 1, range > > | extract_facet (const int local_facet_id) const |
| |
| std::shared_ptr< BezierTP< dim, range > > | raise_order (const TensorSizeTP< dim > &new_order) const |
| | Raises the order of the Bezier tensor product.
|
| |
| std::shared_ptr< BezierTP< dim, range > > | negate () const |
| | Creates a new Bezier tensor product (TP) object that is the negation of the current object.
|
| |
| void | rescale_domain (const BoundBox< dim > &new_domain) |
| | Recomputes (in-place) the Bezier coefficients for a new domain (that may not be [0, 1]).
|
| |
| FuncSign | sign () const |
| | Returns the sign of the function represented by the Bézier tensor-product using the properties of the control points convex hull.
|
| |
| std::shared_ptr< BezierTP< dim, range > > | operator* (const BezierTP< dim, range > &rhs) const |
| | Product of two Beziers.
|
| |
| std::shared_ptr< BezierTP< dim, range > > | operator+ (const BezierTP< dim, range > &rhs) const |
| | Addition of two Beziers.
|
| |
| std::shared_ptr< BezierTP< dim, range > > | operator- (const BezierTP< dim, range > &rhs) const |
| | Subtraction of two Beziers.
|
| |
| std::shared_ptr< BezierTP< sub_dim, range > > | compose (const BezierTP< sub_dim, dim > &rhs) const |
| | Composes the current Bezier with the given Bezier rhs.
|
| |
| | PolynomialTP (const TensorSizeTP< dim > &order) |
| | Constructor.
|
| |
| | PolynomialTP (const TensorSizeTP< dim > &order, const CoefsType &value) |
| | Constructs a constant value PolynomialTP object with the specified order.
|
| |
| | PolynomialTP (const TensorSizeTP< dim > &order, const std::vector< CoefsType > &coefs) |
| | Constructor.
|
| |
| std::size_t | get_num_coefs () const |
| | Get the number of coeficients.
|
| |
| const std::vector< CoefsType > & | get_coefs () const |
| | Gets the polynomial coefficients.
|
| |
| const TensorSizeTP< dim > & | get_order () const |
| | Gets the polynomial order along the parametric directions.
|
| |
| int | get_order (int dir) const |
| | Gets the polynomial order (degree + 1) along the direction dir.
|
| |
| const CoefsType & | get_coef (int index) const |
| | Retrieves the coefficients at the specified index.
|
| |
| CoefsType & | get_coef (int index) |
| | Retrieves the coefficients at the specified index.
|
| |
| const CoefsType & | get_coef (const TensorIndexTP< dim > &index) const |
| | Retrieves the coefficient associated with the given tensor index.
|
| |
| CoefsType & | get_coef (const TensorIndexTP< dim > &index) |
| | Retrieves the coefficient associated with the given tensor index.
|
| |
| int | get_degree (int dir) const |
| | Gets the polynomial degree (order - 1) along the direction dir.
|
| |
| void | transform_image (const BoundBox< range > &old_domain, const BoundBox< range > &new_domain) |
| | Transforms (in place) the coefficients of the polynomial from old_domain to new_domain.
|
| |
| void | coefs_linear_transform (const real scale, const CoefsType &shift) |
| | Applies a linear transformation to every coefficient.
|
| |
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.
|
| |
| DomainFunc & | operator= (const DomainFunc &)=default |
| | Default copy assignment operator.
|
| |
| DomainFunc & | operator= (DomainFunc &&)=default |
| | Default move assignment operator.
|
| |
| virtual | ~DomainFunc ()=default |
| | Default virtual destructor.
|
| |
|
| using | Parent |
| | Parent type.
|
| |
| using | CoefsType |
| | Coefs type.
|
| |
| using | Value |
| | Value type.
|
| |
| using | Gradient |
| | Gradient type.
|
| |
| using | Hessian |
| | Hessian type.
|
| |
| using | Interval |
| | Algoim's interval alias.
|
| |
| using | CoefsType = std::conditional_t<range == 1, real, Point<range>> |
| | Coefs type.
|
| |
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 Value< T > | casteljau (const Point< dim, T > &point, typename std::vector< CoefsType >::const_iterator &coefs, const Vector< int, dim > &order) |
| | Evaluates a Bezier polynomial using the Casteljau's algorithm.
|
| |
| static Vector< Value< T >, dim+1 > | casteljau_der (const Point< dim, T > &point, typename std::vector< CoefsType >::const_iterator &coefs, const Vector< int, dim > &order) |
| | Evaluates the gradient Bezier polynomial using the Casteljau's algorithm.
|
| |
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 Point< 2 > | get_default_center () |
| | Gets the default center of the cylinder. It is set to the center of the Cartesian coordinate system.
|
| |
| real | inner_radius_ |
| | Inner radius of the annulus.
|
| |
| real | outer_radius_ |
| | Outer radius of the annulus.
|
| |
| Point< 2 > | center_ |
| | Center of the annulus.
|
| |
| TensorSizeTP< dim > | order_ |
| | Order of the polynomial along each parametric direction.
|
| |
| std::vector< CoefsType > | coefs_ |
| |
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
- Bezier version.