HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
GU_Watershed Class Reference

#include <GU_Watershed.h>

Public Types

using HedgeInterface = GEO_DetachedHedgeInterface
 
using HedgeArray = UT_Array< GEO_Hedge >
 
using GetFunctor = std::function< fpreal(GA_Offset)>
 

Public Member Functions

 GU_Watershed (const GU_Detail *gdp, const GA_PrimitiveGroup *prims, const GetFunctor &point_fn, GetFunctor face_fn=nullptr, const HedgeInterface *hip=nullptr)
 
void simplify (fpreal tol)
 
const GA_OffsetArrayminima () const
 
int numMinima () const
 
const GA_OffsetArraymaxima () const
 
int numMaxima () const
 
const HedgeArraysaddles () const
 
int numSaddles () const
 
int saddleSign (int i) const
 
GEO_Hedge saddleHedge (int i) const
 
bool isSaddleCanceled (int i) const
 
void getPosSaddles (HedgeArray &saddles) const
 
void getNegSaddles (HedgeArray &saddles) const
 
void orientMinTree ()
 
void orientMaxTree ()
 
int faceMax (GA_Offset poly) const
 
int pointMin (GA_Offset pt) const
 
fpreal saddleFn (GEO_Hedge h) const
 
void dump ()
 
int faceMin (GA_Offset poly) const
 
int pointMax (GA_Offset pt) const
 
SYS_FORCE_INLINE GEO_Hedge pointMinHedge (GA_Offset pt) const
 
SYS_FORCE_INLINE GEO_Hedge faceMaxHedge (GA_Offset poly) const
 
GA_Offset pointDescentSucc (GA_Offset pt) const
 
GA_Offset faceAscentSucc (GA_Offset poly) const
 
bool isInMinTree (GEO_Hedge h) const
 
bool isInMaxTree (GEO_Hedge h) const
 
SYS_FORCE_INLINE bool isSaddle (GEO_Hedge h) const
 
int negSaddlePairedMin (GEO_Hedge h) const
 
int posSaddlePairedMax (GEO_Hedge h) const
 
fpreal posSaddlePersistence (GEO_Hedge h) const
 
fpreal negSaddlePersistence (GEO_Hedge h) const
 
bool isRidgeEdge (GEO_Hedge h) const
 
bool isValleyEdge (GEO_Hedge h) const
 
void pointDescentPath (GA_Offset pt, HedgeArray &path) const
 
void faceAscentDualPath (GA_Offset prim, HedgeArray &path) const
 
bool isMinCanceled (int i) const
 
bool isMaxCanceled (int i) const
 

Detailed Description

Definition at line 40 of file GU_Watershed.h.

Member Typedef Documentation

using GU_Watershed::GetFunctor = std::function<fpreal(GA_Offset)>

Definition at line 45 of file GU_Watershed.h.

Definition at line 44 of file GU_Watershed.h.

Constructor & Destructor Documentation

GU_Watershed::GU_Watershed ( const GU_Detail gdp,
const GA_PrimitiveGroup prims,
const GetFunctor point_fn,
GetFunctor  face_fn = nullptr,
const HedgeInterface hip = nullptr 
)

Member Function Documentation

void GU_Watershed::dump ( )
void GU_Watershed::faceAscentDualPath ( GA_Offset  prim,
HedgeArray path 
) const
GA_Offset GU_Watershed::faceAscentSucc ( GA_Offset  poly) const
inline

Definition at line 114 of file GU_Watershed.h.

int GU_Watershed::faceMax ( GA_Offset  poly) const
inline

Definition at line 78 of file GU_Watershed.h.

SYS_FORCE_INLINE GEO_Hedge GU_Watershed::faceMaxHedge ( GA_Offset  poly) const
inline

Definition at line 100 of file GU_Watershed.h.

int GU_Watershed::faceMin ( GA_Offset  poly) const
void GU_Watershed::getNegSaddles ( HedgeArray saddles) const
void GU_Watershed::getPosSaddles ( HedgeArray saddles) const
bool GU_Watershed::isInMaxTree ( GEO_Hedge  h) const
bool GU_Watershed::isInMinTree ( GEO_Hedge  h) const
bool GU_Watershed::isMaxCanceled ( int  i) const
inline

Definition at line 149 of file GU_Watershed.h.

bool GU_Watershed::isMinCanceled ( int  i) const
inline

Definition at line 146 of file GU_Watershed.h.

bool GU_Watershed::isRidgeEdge ( GEO_Hedge  h) const
SYS_FORCE_INLINE bool GU_Watershed::isSaddle ( GEO_Hedge  h) const
inline

Definition at line 126 of file GU_Watershed.h.

bool GU_Watershed::isSaddleCanceled ( int  i) const
inline

Definition at line 69 of file GU_Watershed.h.

bool GU_Watershed::isValleyEdge ( GEO_Hedge  h) const
const GA_OffsetArray& GU_Watershed::maxima ( ) const
inline

Definition at line 60 of file GU_Watershed.h.

const GA_OffsetArray& GU_Watershed::minima ( ) const
inline

Definition at line 56 of file GU_Watershed.h.

int GU_Watershed::negSaddlePairedMin ( GEO_Hedge  h) const
fpreal GU_Watershed::negSaddlePersistence ( GEO_Hedge  h) const
int GU_Watershed::numMaxima ( ) const
inline

Definition at line 61 of file GU_Watershed.h.

int GU_Watershed::numMinima ( ) const
inline

Definition at line 57 of file GU_Watershed.h.

int GU_Watershed::numSaddles ( ) const
inline

Definition at line 65 of file GU_Watershed.h.

void GU_Watershed::orientMaxTree ( )
void GU_Watershed::orientMinTree ( )
void GU_Watershed::pointDescentPath ( GA_Offset  pt,
HedgeArray path 
) const
GA_Offset GU_Watershed::pointDescentSucc ( GA_Offset  pt) const
inline

Definition at line 106 of file GU_Watershed.h.

int GU_Watershed::pointMax ( GA_Offset  pt) const
int GU_Watershed::pointMin ( GA_Offset  pt) const
inline

Definition at line 81 of file GU_Watershed.h.

SYS_FORCE_INLINE GEO_Hedge GU_Watershed::pointMinHedge ( GA_Offset  pt) const
inline

Definition at line 94 of file GU_Watershed.h.

int GU_Watershed::posSaddlePairedMax ( GEO_Hedge  h) const
fpreal GU_Watershed::posSaddlePersistence ( GEO_Hedge  h) const
fpreal GU_Watershed::saddleFn ( GEO_Hedge  h) const
inline

Definition at line 84 of file GU_Watershed.h.

GEO_Hedge GU_Watershed::saddleHedge ( int  i) const
inline

Definition at line 67 of file GU_Watershed.h.

const HedgeArray& GU_Watershed::saddles ( ) const
inline

Definition at line 63 of file GU_Watershed.h.

int GU_Watershed::saddleSign ( int  i) const
inline

Definition at line 66 of file GU_Watershed.h.

void GU_Watershed::simplify ( fpreal  tol)

The documentation for this class was generated from the following file: