MADNESS 0.10.1
|
#include <sdf_shape_3D.h>
Public Member Functions | |
SDFBox (const coord_3d &length, const coord_3d ¢er) | |
Constructor for box. | |
coord_3d | grad_sdf (const coord_3d &pt) const |
double | sdf (const coord_3d &pt) const |
Computes the normal distance. | |
Public Member Functions inherited from madness::SignedDFInterface< 3 > | |
virtual | ~SignedDFInterface () |
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] ) | |
virtual double | sdf (const Vector< double, NDIM > &x) const=0 |
Returns the signed distance from the surface,. | |
Protected Attributes | |
const coord_3d | center |
the center of the box | |
const coord_3d | lengths |
Half the length of each side of the box. | |
A box (3 dimensions)
Constructor for box.
length | The lengths of the box |
center | The center of the box |
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. If far from the corners, the SDF is easy (similar to a plane), and is essentially what's implemented.
pt | Point at which to compute the distance from the surface |
|
protected |
Half the length of each side of the box.
Referenced by sdf().