![]() |
PeriDyno 1.2.1
|
#include <DistanceField3D.h>
Public Types | |
| typedef TDataType::Real | Real |
| typedef TDataType::Coord | Coord |
Public Member Functions | |
| DistanceField3D () | |
| DistanceField3D (std::string filename) | |
| ~DistanceField3D () | |
| Should not release data here, call release() explicitly. | |
| void | release () |
| Release m_distance Should be explicitly called before destruction to avoid GPU memory leak. | |
| void | translate (const Coord &t) |
| Translate the distance field with a displacement. | |
| void | scale (const Real s) |
| Scale the distance field. | |
| GPU_FUNC void | getDistance (const Coord &p, Real &d, Coord &normal) |
| Query the signed distance for p. | |
| DYN_FUNC uint | nx () |
| DYN_FUNC uint | ny () |
| DYN_FUNC uint | nz () |
| void | loadSDF (std::string filename, bool inverted=false) |
| load signed distance field from a file | |
| void | loadBox (Coord &lo, Coord &hi, bool inverted=false) |
| load signed distance field from a Box (lo, hi) | |
| void | loadCylinder (Coord ¢er, Real radius, Real height, int axis, bool inverted=false) |
| void | loadSphere (Coord ¢er, Real radius, bool inverted=false) |
| void | setSpace (const Coord p0, const Coord p1, Real h) |
| Coord | lowerBound () |
| Coord | upperBound () |
| void | assign (DistanceField3D< TDataType > &sdf) |
| DArray3D< Real > & | distances () |
| void | setDistance (CArray3D< Real > distance) |
| Real | getGridSpacing () |
| void | invertSDF () |
| Invert the signed distance field. | |
Private Member Functions | |
| GPU_FUNC Real | lerp (Real a, Real b, Real alpha) const |
Private Attributes | |
| Coord | mOrigin |
| Lower left corner. | |
| Real | mH |
| grid spacing | |
| bool | mInverted = false |
| DArray3D< Real > | mDistances |
| Storing the signed distance field as a 3D array. | |
Definition at line 22 of file DistanceField3D.h.
| typedef TDataType::Coord dyno::DistanceField3D< TDataType >::Coord |
Definition at line 25 of file DistanceField3D.h.
| typedef TDataType::Real dyno::DistanceField3D< TDataType >::Real |
Definition at line 24 of file DistanceField3D.h.
| dyno::DistanceField3D< TDataType >::DistanceField3D | ( | ) |

| dyno::DistanceField3D< TDataType >::DistanceField3D | ( | std::string | filename | ) |
| dyno::DistanceField3D< TDataType >::~DistanceField3D | ( | ) |
Should not release data here, call release() explicitly.
|
inline |
|
inline |
Definition at line 105 of file DistanceField3D.h.
| GPU_FUNC void dyno::DistanceField3D< TDataType >::getDistance | ( | const Coord & | p, |
| Real & | d, | ||
| Coord & | normal ) |
Query the signed distance for p.
| p | position |
| d | return the signed distance at position p |
| normal | return the normal at position p |
Definition at line 146 of file DistanceField3D.h.

|
inline |
Definition at line 111 of file DistanceField3D.h.
| void dyno::DistanceField3D< TDataType >::invertSDF | ( | ) |
Invert the signed distance field.
|
inlineprivate |
Definition at line 120 of file DistanceField3D.h.
| void dyno::DistanceField3D< TDataType >::loadBox | ( | Coord & | lo, |
| Coord & | hi, | ||
| bool | inverted = false ) |
load signed distance field from a Box (lo, hi)
| inverted | indicated whether the signed distance field should be positive in outside. default: +[—]+ |
| void dyno::DistanceField3D< TDataType >::loadCylinder | ( | Coord & | center, |
| Real | radius, | ||
| Real | height, | ||
| int | axis, | ||
| bool | inverted = false ) |
| void dyno::DistanceField3D< TDataType >::loadSDF | ( | std::string | filename, |
| bool | inverted = false ) |
load signed distance field from a file
| filename | |
| inverted | indicated whether the signed distance field should be inverted after initialization |
| void dyno::DistanceField3D< TDataType >::loadSphere | ( | Coord & | center, |
| Real | radius, | ||
| bool | inverted = false ) |
|
inline |
Definition at line 93 of file DistanceField3D.h.
|
inline |
Definition at line 65 of file DistanceField3D.h.
|
inline |
Definition at line 67 of file DistanceField3D.h.
|
inline |
Definition at line 69 of file DistanceField3D.h.
| void dyno::DistanceField3D< TDataType >::release | ( | ) |
Release m_distance Should be explicitly called before destruction to avoid GPU memory leak.
| void dyno::DistanceField3D< TDataType >::scale | ( | const Real | s | ) |
Scale the distance field.
| s | scaling factor |
|
inline |
| void dyno::DistanceField3D< TDataType >::setSpace | ( | const Coord | p0, |
| const Coord | p1, | ||
| Real | h ) |

| void dyno::DistanceField3D< TDataType >::translate | ( | const Coord & | t | ) |
Translate the distance field with a displacement.
| t | displacement |
|
inline |
Definition at line 95 of file DistanceField3D.h.
|
private |
Storing the signed distance field as a 3D array.
Definition at line 142 of file DistanceField3D.h.
|
private |
grid spacing
Definition at line 134 of file DistanceField3D.h.
|
private |
Definition at line 136 of file DistanceField3D.h.
|
private |
Lower left corner.
Definition at line 128 of file DistanceField3D.h.