|
| PlaneBzr () |
| Constructs a new plane function. The line (levelset) is the line x=0.
|
|
| PlaneBzr (const Point< dim > &origin, const Point< dim > &normal) |
| Constructs a new plane function. The line is defined by an origin and a normal vector.
|
|
| PlaneBase (const Point< dim > &origin, const Point< dim > &normal) |
| Constructs a new plane function. The line is defined by an origin and a normal vector.
|
|
const Point< dim > & | origin () const |
| Gets the origin of the plane.
|
|
const Point< dim > & | normal () const |
| Gets the normal of the plane.
|
|
| 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< dim > | get_default_origin () |
| Gets the default origin of the plane. It is set to the origin of the Cartesian coordinate system.
|
|
static Point< dim > | get_default_normal () |
| Gets the default normal vector of the plane. It is set to the x-axis.
|
|
Point< dim > | origin_ |
| Origin of the (levelset) line.
|
|
Point< dim > | normal_ |
| Normal to the (levelset) line.
|
|
TensorSizeTP< dim > | order_ |
| Order of the polynomial along each parametric direction.
|
|
std::vector< CoefsType > | coefs_ |
|
template<int dim>
class qugar::impl::funcs::PlaneBzr< dim >
Plane function.
This is a linear function whose value is zero at a line, and grows linearly (positively or negatively) as you move away from the line.
- Template Parameters
-
- Note
- Bezier version.