|
EBGeometry
Compact, header-only C++ library for fast evaluation of signed distance functions
|
Signed distance field for an infinitely long cylinder. More...
#include <EBGeometry_AnalyticDistanceFunctions.hpp>
Public Member Functions | |
| InfiniteCylinderSDF ()=default | |
| Default constructor. Constructs an infinite cylinder of radius 1 centered at the origin with its axis along y (axis index 1). | |
| InfiniteCylinderSDF (const Vec3T< T > &a_center, const T &a_radius, const size_t a_axis) noexcept | |
| Full constructor. | |
| InfiniteCylinderSDF (const InfiniteCylinderSDF &)=default | |
| Copy constructor. | |
| InfiniteCylinderSDF (InfiniteCylinderSDF &&)=default | |
| Move constructor. | |
| InfiniteCylinderSDF & | operator= (const InfiniteCylinderSDF &)=default |
| Copy assignment. | |
| InfiniteCylinderSDF & | operator= (InfiniteCylinderSDF &&)=default |
| Move assignment. | |
| T | signedDistance (const Vec3T< T > &a_point) const noexcept |
| Signed distance function for the infinite cylinder. | |
| BoundingVolumes::AABBT< T > | computeBoundingVolume () const noexcept |
| The shape's axis-aligned bounding box. | |
| const Vec3T< T > & | getCenter () const noexcept |
| Get the point on the axis. | |
| const T & | getRadius () const noexcept |
| Get the radius. | |
| const size_t & | getAxis () const noexcept |
| Get the coordinate axis the cylinder runs along. | |
Static Public Attributes | |
| static constexpr DistanceQuality | distanceQuality = DistanceQuality::Exact |
| How far signedDistance() can be trusted as a distance: the Euclidean distance to the surface. | |
Protected Attributes | |
| Vec3T< T > | m_center = Vec3T<T>::zeros() |
| Center point on the cylinder axis. | |
| T | m_radius = T(1) |
| Cylinder radius. | |
| size_t | m_axis = 1U |
| Coordinate axis index (0 = x, 1 = y, 2 = z). | |
Signed distance field for an infinitely long cylinder.
The cylinder is infinite in one coordinate direction (selected by m_axis: 0 = x, 1 = y, 2 = z) and has a circular cross-section of radius m_radius centered at m_center in the plane perpendicular to that axis. The SDF is the radial distance from the axis minus the radius: negative inside the cylinder and positive outside. By default the cylinder has radius 1, passes through the origin, and extends along y.
| T | Floating-point precision. |
|
inlinenoexcept |
Full constructor.
| [in] | a_center | Center point on the cylinder axis. |
| [in] | a_radius | Cylinder radius. |
| [in] | a_axis | Coordinate axis index (0 = x, 1 = y, 2 = z). |
|
inlinenoexcept |
The shape's axis-aligned bounding box.
The center plus and minus the radius across the axis, and unbounded along it.
|
inlinenoexcept |
Get the coordinate axis the cylinder runs along.
|
inlinenoexcept |
Get the point on the axis.
|
inlinenoexcept |
Get the radius.
|
default |
Copy assignment.
|
default |
Move assignment.
|
inlinenoexcept |
Signed distance function for the infinite cylinder.
| [in] | a_point | Position. |