|
MADNESS
version 0.9
|
A cylinder (3 dimensions) More...
#include <sdf_shape_3D.h>


Public Member Functions | |
| SDFCylinder (const double radius, const double length, const coord_3d &axpt, const coord_3d &axis) | |
| Constructor for cylinder. More... | |
| double | sdf (const coord_3d &pt) const |
| Computes the normal distance. More... | |
| coord_3d | grad_sdf (const coord_3d &pt) const |
Public Member Functions inherited from madness::SignedDFInterface< 3 > | |
| virtual double | sdf (const Vector< double, NDIM > &x) const =0 |
| Returns the signed distance from the surface,. More... | |
| virtual Vector< double, NDIM > | grad_sdf (const Vector< double, NDIM > &x) const =0 |
Returns the gradient of the signed distance from the surface (i.e., dsdf(x)/dx[i] ) More... | |
| virtual | ~SignedDFInterface () |
Protected Attributes | |
| double | radius |
| the radius of the cylinder More... | |
| double | a |
| half the length of the cylinder More... | |
| coord_3d | center |
| the central axial point of the cylinder (distance a from both ends) More... | |
| coord_3d | axis |
| the axial direction of the cylinder More... | |
A cylinder (3 dimensions)
|
inline |
Constructor for cylinder.
| radius | The radius of the cylinder |
| length | The length of the cylinder |
| axpt | The central axial point of the cylinder (equidistant from both ends) |
| axis | The axial direction of the cylinder |
Computes the gradient of the SDF.
| pt | Point at which to compute the gradient |
References MADNESS_EXCEPTION.
|
inline |
Computes the normal distance.
This SDF naively uses contours, and should be improved before serious usage.
| pt | Point at which to compute the distance from the surface |
References mpfr::fabs(), max, and sqrt().
|
protected |
half the length of the cylinder
|
protected |
the axial direction of the cylinder
|
protected |
the central axial point of the cylinder (distance a from both ends)
|
protected |
the radius of the cylinder
1.8.8