|
| SignedDistanceField () |
|
template<typename triangulationType , typename triangulationType2 > |
int | execute (float *const outputScalars, triangulationType *const triangulation, triangulationType2 *const boundingTriangulation, int *const edgeCrossing, int *const isInterior) const |
|
int | preconditionTriangulation (AbstractTriangulation *triangulation) const |
|
| Debug () |
|
| ~Debug () override |
|
virtual int | setDebugLevel (const int &debugLevel) |
|
int | setWrapper (const Wrapper *wrapper) override |
|
int | printMsg (const std::string &msg, const debug::Priority &priority=debug::Priority::INFO, const debug::LineMode &lineMode=debug::LineMode::NEW, std::ostream &stream=std::cout) const |
|
int | printMsg (const std::vector< std::string > &msgs, const debug::Priority &priority=debug::Priority::INFO, const debug::LineMode &lineMode=debug::LineMode::NEW, std::ostream &stream=std::cout) const |
|
int | printErr (const std::string &msg, const debug::LineMode &lineMode=debug::LineMode::NEW, std::ostream &stream=std::cerr) const |
|
int | printWrn (const std::string &msg, const debug::LineMode &lineMode=debug::LineMode::NEW, std::ostream &stream=std::cerr) const |
|
int | printMsg (const std::string &msg, const double &progress, const double &time, const int &threads, const double &memory, const debug::LineMode &lineMode=debug::LineMode::NEW, const debug::Priority &priority=debug::Priority::PERFORMANCE, std::ostream &stream=std::cout) const |
|
int | printMsg (const std::string &msg, const double &progress, const double &time, const debug::LineMode &lineMode=debug::LineMode::NEW, const debug::Priority &priority=debug::Priority::PERFORMANCE, std::ostream &stream=std::cout) const |
|
int | printMsg (const std::string &msg, const double &progress, const double &time, const int &threads, const debug::LineMode &lineMode=debug::LineMode::NEW, const debug::Priority &priority=debug::Priority::PERFORMANCE, std::ostream &stream=std::cout) const |
|
int | printMsg (const std::string &msg, const double &progress, const debug::LineMode &lineMode=debug::LineMode::NEW, const debug::Priority &priority=debug::Priority::PERFORMANCE, std::ostream &stream=std::cout) const |
|
int | printMsg (const std::string &msg, const double &progress, const debug::Priority &priority, const debug::LineMode &lineMode=debug::LineMode::NEW, std::ostream &stream=std::cout) const |
|
int | printMsg (const std::vector< std::vector< std::string > > &rows, const debug::Priority &priority=debug::Priority::INFO, const bool hasHeader=true, const debug::LineMode &lineMode=debug::LineMode::NEW, std::ostream &stream=std::cout) const |
|
int | printMsg (const debug::Separator &separator, const debug::LineMode &lineMode=debug::LineMode::NEW, const debug::Priority &priority=debug::Priority::INFO, std::ostream &stream=std::cout) const |
|
int | printMsg (const debug::Separator &separator, const debug::Priority &priority, const debug::LineMode &lineMode=debug::LineMode::NEW, std::ostream &stream=std::cout) const |
|
int | printMsg (const std::string &msg, const debug::Separator &separator, const debug::LineMode &lineMode=debug::LineMode::NEW, const debug::Priority &priority=debug::Priority::INFO, std::ostream &stream=std::cout) const |
|
void | setDebugMsgPrefix (const std::string &prefix) |
|
| BaseClass () |
|
virtual | ~BaseClass ()=default |
|
int | getThreadNumber () const |
|
virtual int | setThreadNumber (const int threadNumber) |
|
|
template<typename triangulationType > |
void | findOutsideVertices (const SimplexId vertexId, triangulationType *const boundingTriangulation, const std::vector< bool > &vertexIntersection, int *const isInterior) const |
|
int | getNeighbor (unsigned int vertexId, unsigned int dim, int dir) const |
|
template<typename dataType > |
void | fastMarching (std::vector< bool > &vertexIntersection, dataType *const distances, int *const isInterior) const |
|
template<typename dataType > |
void | fastMarchingIterativeNode (std::vector< VertexMarchingType > &vertexType, dataType *const distances, int *const isInterior) const |
|
template<typename dataType > |
void | fastMarchingIterativeBand (std::vector< VertexMarchingType > &vertexType, dataType *const distances, int *const isInterior) const |
|
template<typename dataType > |
dataType | fastMarchingUpdatePoint (unsigned int vertexId, dataType *const distances, int *const isInterior, std::vector< VertexMarchingType > &vertexType) const |
|
template<typename dataType > |
dataType | fastMarchingUpdatePointOrderTwo (unsigned int vertexId, dataType *const distances, int *const isInterior, std::vector< VertexMarchingType > &vertexType) const |
|
template<typename dataType > |
dataType | fastMarchingUpdatePointOrderOne (unsigned int vertexId, dataType *const distances, int *const isInterior, std::vector< VertexMarchingType > &vertexType) const |
|
template<typename dataType > |
bool | fastMarchingSolveQuadratic (unsigned int vertexId, dataType a, dataType b, dataType c, int *const isInterior, dataType &out) const |
|
int | printMsgInternal (const std::string &msg, const std::string &right, const std::string &filler, const debug::Priority &priority=debug::Priority::INFO, const debug::LineMode &lineMode=debug::LineMode::NEW, std::ostream &stream=std::cout) const |
|
int | printMsgInternal (const std::string &msg, const debug::Priority &priority, const debug::LineMode &lineMode, std::ostream &stream=std::cout) const |
|
int | welcomeMsg (std::ostream &stream) |
|
This filter computes a signed distance field given a surface in input.
- Author
- Julien Tierny julie.nosp@m.n.ti.nosp@m.erny@.nosp@m.lip6.nosp@m..fr
-
Mohamed Amine Kissi moham.nosp@m.ed.k.nosp@m.issi@.nosp@m.lip6.nosp@m..fr
-
Mathieu Pont mathi.nosp@m.eu.p.nosp@m.ont@l.nosp@m.ip6..nosp@m.fr
- Date
- August 2023
It implements three backends (accelerated with a BVH data structure):
- The exact backend
- The fast marching backend, this method simulates a "wave" that move starting from the input surface and solve the eikonal equation vertex by vertex to approximate the signed distance field. It corresponds to the the following reference:
J.A. Sethian. A Fast Marching Level Set Method for Monotonically Advancing Fronts, Proc. Natl. Acad. Sci., 93, 4, pp.1591–1595, 1996
- The fast marching band backend, a variant of the fast marching for which all the vertices being not yet updated and nearest the input surface are updated (instead of just one in the fast marching backend). It results in a faster method (due to parallelism) but is a rougher approximation.
Online examples:
Definition at line 52 of file SignedDistanceField.h.