11#ifndef QUGAR_IMPL_PRIMITIVE_FUNCS_LIB_HPP
12#define QUGAR_IMPL_PRIMITIVE_FUNCS_LIB_HPP
223 [[nodiscard]]
static std::shared_ptr<MonomialsTP<3, 1>>
440 [[nodiscard]]
static std::shared_ptr<MonomialsTP<2, 1>>
574 [[nodiscard]]
static std::shared_ptr<MonomialsTP<3, 1>>
Declaration of tensor-product Bezier class.
BezierTP(const TensorSizeTP< dim > &order)
A class representing a reference system in a given dimension.
Definition ref_system.hpp:35
real outer_radius() const
Gets the outer radius of the annulus.
real inner_radius_
Inner radius of the annulus.
Definition primitive_funcs_lib.hpp:396
real outer_radius_
Outer radius of the annulus.
Definition primitive_funcs_lib.hpp:399
static Point< 2 > get_default_center()
Gets the default center of the cylinder. It is set to the center of the Cartesian coordinate system.
const Point< 2 > & center() const
Gets the center of the annulus.
Point< 2 > center_
Center of the annulus.
Definition primitive_funcs_lib.hpp:402
real inner_radius() const
Gets the inner radius of the annulus.
AnnulusBase(real inner_radius, real outer_radius, const Point< 2 > ¢er)
Constructor.
AnnulusBzr(real inner_radius, real outer_radius, const Point< 2 > ¢er)
Constructor.
AnnulusBzr(real inner_radius, real outer_radius)
Constructor.
static std::shared_ptr< MonomialsTP< 2, 1 > > create_monomials(real inner_radius, real outer_radius, const Point< 2 > ¢er)
Creates a polynomial representation based on monomials for the given radii and center.
Annulus(real inner_radius, real outer_radius)
Constructor.
Annulus(real inner_radius, real outer_radius, const Point< 2 > ¢er)
Constructor.
declare_impl_func_virtual_interface_2D
Definition primitive_funcs_lib.hpp:470
real value_
Constant value.
Definition primitive_funcs_lib.hpp:649
real value() const
Gets the constant value.
static constexpr real default_value
Definition primitive_funcs_lib.hpp:636
ConstantBase(real value)
Constructor.
ConstantBzr()
Default constructor. Sets constant value to 0.5.
ConstantBzr(real value)
Constructor.
Constant()
Default constructor. Sets constant value to 0.5.
declare_impl_func_virtual_interface
Definition primitive_funcs_lib.hpp:687
Constant(real value)
Constructor.
static Point< 3 > get_default_axis()
Gets the default axis of the cylinder. It is set to the z-axis of the Cartesian coordinate system.
const Point< 3 > & axis() const
Gets the axis of the cylinder.
real radius() const
Gets the radius of the cylinder.
CylinderBase(real radius, const Point< 3 > &origin, const Point< 3 > &axis)
Constructor.
Point< 3 > origin_
Origin of the cylinder.
Definition primitive_funcs_lib.hpp:178
const Point< 3 > & origin() const
Gets the origin of the cylinder.
real radius_
Radius of the cylinder.
Definition primitive_funcs_lib.hpp:175
static Point< 3 > get_default_origin()
Gets the default origin of the cylinder. It is set to the origin of the Cartesian coordinate system.
Point< 3 > axis_
Axis of the axis.
Definition primitive_funcs_lib.hpp:181
CylinderBzr(real radius, const Point< 3 > &origin)
Constructor.
static std::shared_ptr< MonomialsTP< 3, 1 > > create_monomials(real radius, const Point< 3 > &origin, const Point< 3 > &axis)
Creates a polynomial representation based on monomials for the given center, radius,...
CylinderBzr(real radius)
Constructor.
CylinderBzr(real radius, const Point< 3 > &origin, const Point< 3 > &axis)
Constructor.
Cylinder(real radius)
Constructor.
static const int dim
Definition primitive_funcs_lib.hpp:242
declare_impl_func_virtual_interface
Definition primitive_funcs_lib.hpp:264
Cylinder(real radius, const Point< 3 > &origin, const Point< 3 > &axis)
Constructor.
Cylinder(real radius, const Point< 3 > &origin)
Constructor.
RefSystem< dim > system_
Ellipsoid's reference system.
Definition primitive_funcs_lib.hpp:297
const Point< dim > & semi_axes() const
Gets the semi-axes of the ellipsoid.
EllipsoidBase(const Point< dim > &semi_axes, const RefSystem< dim > &system)
Constructs an Ellipsoid object with specified semi-axes and reference system.
static RefSystem< dim > get_default_system()
Gets the default reference system of the ellipsoid.
Point< dim > semi_axes_
Ellipsoid's semi-axes.
Definition primitive_funcs_lib.hpp:294
const RefSystem< dim > & ref_system() const
Gets the reference system of the ellipsoid.
EllipsoidBzr(const Point< dim > &semi_axes, const RefSystem< dim > &system)
Constructs an Ellipsoid object with specified semi-axes and reference system.
EllipsoidBzr(const Point< dim > &semi_axes)
Constructor.
static std::shared_ptr< MonomialsTP< dim, 1 > > create_monomials(const Point< dim > &semi_axes, const RefSystem< dim > &system)
Creates a polynomial representation based on monomials for the given semi-axes and reference system.
Ellipsoid(const Point< dim > &semi_axes)
Constructor.
Ellipsoid(const Point< dim > &semi_axes, const RefSystem< dim > &system)
Constructs an Ellipsoid object with specified semi-axes and reference system.
declare_impl_func_virtual_interface
Definition primitive_funcs_lib.hpp:365
static Point< dim > get_default_origin()
Gets the default origin of the plane. It is set to the origin of the Cartesian coordinate system.
Point< dim > origin_
Origin of the (levelset) line.
Definition primitive_funcs_lib.hpp:712
const Point< dim > & normal() const
Gets the normal of the plane.
const Point< dim > & origin() const
Gets the origin of the plane.
static Point< dim > get_default_normal()
Gets the default normal vector of the plane. It is set to the x-axis.
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.
Point< dim > normal_
Normal to the (levelset) line.
Definition primitive_funcs_lib.hpp:715
static std::shared_ptr< MonomialsTP< dim, 1 > > create_monomials(const Point< dim > &origin, const Point< dim > &normal)
Creates a polynomial representation based on monomials for the given origin a normal.
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.
Plane(const Point< dim > &origin, const Point< dim > &normal)
Constructs a new plane function. The line is defined by an origin and a normal vector.
declare_impl_func_virtual_interface
Definition primitive_funcs_lib.hpp:775
Plane()
Constructs a new plane function. The line (levelset) is the line x=0.
Point< dim > center_
Center of the sphere.
Definition primitive_funcs_lib.hpp:66
SphereBase(real radius, const Point< dim > ¢er)
Constructs a Sphere object with a specified center and radius.
real radius() const
Gets the radius of the sphere.
static Point< dim > get_default_center()
Gets the default center of the sphere. It is set to the origin of the Cartesian coordinate system.
real radius_
Radius of the sphere.
Definition primitive_funcs_lib.hpp:63
const Point< dim > & center() const
Gets the center of the sphere.
static std::shared_ptr< MonomialsTP< dim, 1 > > create_monomials(real radius, const Point< dim > ¢er)
Creates a polynomial representation based on monomials for the given center and radius.
SphereBzr(real radius)
Constructs a Sphere with the given radius and centered at the origin.
SphereBzr(real radius, const Point< dim > ¢er)
Constructs a Sphere object with a specified center and radius.
declare_impl_func_virtual_interface
Definition primitive_funcs_lib.hpp:96
Sphere(real radius, const Point< dim > ¢er)
Constructs a Sphere object with a specified center and radius.
Sphere(real radius)
Constructs a Sphere with the given radius and centered at the origin.
real major_radius() const
Gets the major radius of the torus.
const Point< 3 > & center() const
Gets the center of the plane.
TorusBase(real major_radius, real minor_radius, const Point< 3 > ¢er, const Point< 3 > &axis)
Constructor.
Point< 3 > axis_
Axis of the torus.
Definition primitive_funcs_lib.hpp:517
static Point< 3 > get_default_center()
Gets the default center of the torus. It is set to the center of the Cartesian coordinate system.
real minor_radius() const
Gets the minor radius of the torus.
const Point< 3 > & axis() const
Gets the axis of the plane.
static Point< 3 > get_default_axis()
Gets the default axis of the torus. It is set to the z-axis of the Cartesian coordinate system.
real major_radius_
Major radius of the torus.
Definition primitive_funcs_lib.hpp:508
real minor_radius_
Minor radius of the torus.
Definition primitive_funcs_lib.hpp:511
Point< 3 > center_
Center of the torus.
Definition primitive_funcs_lib.hpp:514
TorusBzr(real major_radius, real minor_radius)
Constructor.
static std::shared_ptr< MonomialsTP< 3, 1 > > create_monomials(real major_radius, real minor_radius, const Point< 3 > ¢er, const Point< 3 > &axis)
Creates a polynomial representation based on monomials for the given radii, center,...
TorusBzr(real major_radius, real minor_radius, const Point< 3 > ¢er, const Point< 3 > &axis)
Constructor.
TorusBzr(real major_radius, real minor_radius, const Point< 3 > ¢er)
Constructor.
Torus(real major_radius, real minor_radius, const Point< 3 > ¢er, const Point< 3 > &axis)
Constructor.
declare_impl_func_virtual_interface_3D
Definition primitive_funcs_lib.hpp:616
Torus(real major_radius, real minor_radius)
Constructor.
Point< 3, T > compute_P_x_0(const Point< 3, T > &point) const
Computes the normal component of the a vector respect to the origin.
Torus(real major_radius, real minor_radius, const Point< 3 > ¢er)
Constructor.
Declaration of a few implicit functions template class ready to be consumed by Algoim.
Declaration of macros to ease the definition/implementation of implicit functions.
Declaration of tensor-product monomials class.
Definition impl_funcs_lib.hpp:36
ScalarFunc< dim > ImplicitFunc
Alias for implicit functions.
Definition domain_function.hpp:114
constexpr real half
Real one over two value.
Definition numbers.hpp:40
double real
Definition types.hpp:18
Vector< T, dim > Point
Class representing a dim-dimensional Point.
Definition point.hpp:34
Declaration of constant values.
Definition and implementation of Point class.
Declaration of reference system class.