QUGaR 0.1.3
Loading...
Searching...
No Matches
qugar::impl::funcs::Cylinder Class Reference

Infinite cylinder. More...

#include <primitive_funcs_lib.hpp>

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

Public Member Functions

 Cylinder (real radius)
 Constructor.
 Cylinder (real radius, const Point< 3 > &origin)
 Constructor.
 Cylinder (real radius, const Point< 3 > &origin, const Point< 3 > &axis)
 Constructor.
Public Member Functions inherited from qugar::impl::funcs::CylinderBase
 CylinderBase (real radius, const Point< 3 > &origin, const Point< 3 > &axis)
 Constructor.
real radius () const
 Gets the radius of the cylinder.
const Point< 3 > & origin () const
 Gets the origin of the cylinder.
const Point< 3 > & axis () const
 Gets the axis of the cylinder.
Public Member Functions inherited from qugar::impl::DomainFunc< dim, 1 >
 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

Static Public Attributes

static const int dim = 3
Static Public Attributes inherited from qugar::impl::DomainFunc< dim, 1 >
static const int num_hessian
 Number of Hessian (symmetric) components.

Additional Inherited Members

Public Types inherited from qugar::impl::DomainFunc< dim, 1 >
using Interval
 Algoim's interval alias.
using Value
 Value type.
using Gradient
 Gradient type.
using Hessian
 Hessian (symmetric type).
Static Protected Member Functions inherited from qugar::impl::funcs::CylinderBase
static Point< 3 > get_default_origin ()
 Gets the default origin of the cylinder. It is set to the origin of the Cartesian coordinate system.
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.
Protected Attributes inherited from qugar::impl::funcs::CylinderBase
real radius_
 Radius of the cylinder.
Point< 3 > origin_
 Origin of the cylinder.
Point< 3 > axis_
 Axis of the axis.

Detailed Description

Infinite cylinder.

The cylinder is defined by its radius, origin, and axis.

The function presents a negative sign around the cylinder's axis, and positive far away. At a radius distance from the cylinder's axis, the function vanishes.

Note
Non-Bezier version.

Constructor & Destructor Documentation

◆ Cylinder() [1/3]

qugar::impl::funcs::Cylinder::Cylinder ( real radius)
explicit

Constructor.

Cylinder along z-axis.

Parameters
radiusCylinder's radius.
Here is the call graph for this function:

◆ Cylinder() [2/3]

qugar::impl::funcs::Cylinder::Cylinder ( real radius,
const Point< 3 > & origin )

Constructor.

Cylinder with vertical axis at the given origin.

Parameters
radiusCylinder's radius.
originCylinder's origin.
Here is the call graph for this function:

◆ Cylinder() [3/3]

qugar::impl::funcs::Cylinder::Cylinder ( real radius,
const Point< 3 > & origin,
const Point< 3 > & axis )

Constructor.

Parameters
radiusCylinder's radius.
originCylinder's origin.
axisCylinder's axis.
Here is the call graph for this function:

Member Data Documentation

◆ declare_impl_func_virtual_interface

qugar::impl::funcs::Cylinder::declare_impl_func_virtual_interface

◆ dim

const int qugar::impl::funcs::Cylinder::dim = 3
static

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