HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
GU_PathFinder< T > Class Template Reference

#include <GU_PathFinder.h>

Classes

class  PathEdge
 

Public Types

using CostType = T
 

Public Member Functions

 GU_PathFinder (const GEO_DetachedHedgeInterface *dhip, const GA_Attribute *uv_attrib=nullptr)
 
void setStartHedge (GEO_Hedge sh, bool and_equiv=true)
 
void setEndHedge (GEO_Hedge eh, bool and_equiv=true)
 
void setStartSHedge (GEO_SHedge ssh, bool and_reverse=false)
 
void setEndSHedge (GEO_SHedge ssh, bool and_reverse=false)
 
void setStartPoint (GA_Offset pt)
 
void setEndPoint (GA_Offset pt)
 
void setStartVertex (GA_Offset vtx)
 
void setEndVertex (GA_Offset vtx)
 
void setStartPrimitive (GA_Offset prim)
 
void setEndPrimitive (GA_Offset prim)
 
void clearStartSHedges ()
 
void addStartSHedge (GEO_SHedge sh, bool and_reverse=false)
 
void clearEndSHedges ()
 
void addEndSHedge (GEO_SHedge sh, bool and_reverse=false)
 
T findPath (GU_SHedgeArray &path, GU_EdgeSuccessor::Mask succ_type)
 
T findDualPath (GU_SHedgeArray &path, GU_EdgeSuccessor::Mask succ_type)
 
void avoidPoints (GA_PointGroup *grp)
 
void avoidEdges (GA_EdgeGroup *grp)
 
void avoidPrimitives (GA_PrimitiveGroup *grp)
 
void avoidVertices (GA_VertexGroup *grp)
 
void reset (bool heap_only=false)
 
const GU_SHedgeArraygetStartSHedges () const
 
SYS_FORCE_INLINE TgetBestCost (GEO_SHedge sh)
 
void simplifyPath (GU_SHedgeArray &path)
 
void simplifyDualPath (GU_SHedgeArray &path)
 
bool extendPath (GU_SHedgeArray &path, bool trim_crossing=true)
 
bool extendDualPath (GU_SHedgeArray &path, bool trim_crossing=true, bool is_for_prim_loo=false)
 
bool isStartOnBoundary ()
 
bool isEndOnBoundary ()
 

Detailed Description

template<class T = gu_ShortestPathCost>
class GU_PathFinder< T >

Definition at line 74 of file GU_PathFinder.h.

Member Typedef Documentation

template<class T = gu_ShortestPathCost>
using GU_PathFinder< T >::CostType = T

Definition at line 105 of file GU_PathFinder.h.

Constructor & Destructor Documentation

template<class T = gu_ShortestPathCost>
GU_PathFinder< T >::GU_PathFinder ( const GEO_DetachedHedgeInterface dhip,
const GA_Attribute uv_attrib = nullptr 
)
explicit

Member Function Documentation

template<class T = gu_ShortestPathCost>
void GU_PathFinder< T >::addEndSHedge ( GEO_SHedge  sh,
bool  and_reverse = false 
)
template<class T = gu_ShortestPathCost>
void GU_PathFinder< T >::addStartSHedge ( GEO_SHedge  sh,
bool  and_reverse = false 
)
template<class T = gu_ShortestPathCost>
void GU_PathFinder< T >::avoidEdges ( GA_EdgeGroup grp)
inline

Definition at line 189 of file GU_PathFinder.h.

template<class T = gu_ShortestPathCost>
void GU_PathFinder< T >::avoidPoints ( GA_PointGroup grp)
inline

Definition at line 185 of file GU_PathFinder.h.

template<class T = gu_ShortestPathCost>
void GU_PathFinder< T >::avoidPrimitives ( GA_PrimitiveGroup grp)
inline

Definition at line 193 of file GU_PathFinder.h.

template<class T = gu_ShortestPathCost>
void GU_PathFinder< T >::avoidVertices ( GA_VertexGroup grp)
inline

Definition at line 197 of file GU_PathFinder.h.

template<class T = gu_ShortestPathCost>
void GU_PathFinder< T >::clearEndSHedges ( )
template<class T = gu_ShortestPathCost>
void GU_PathFinder< T >::clearStartSHedges ( )
template<class T = gu_ShortestPathCost>
bool GU_PathFinder< T >::extendDualPath ( GU_SHedgeArray path,
bool  trim_crossing = true,
bool  is_for_prim_loo = false 
)
template<class T = gu_ShortestPathCost>
bool GU_PathFinder< T >::extendPath ( GU_SHedgeArray path,
bool  trim_crossing = true 
)
template<class T = gu_ShortestPathCost>
T GU_PathFinder< T >::findDualPath ( GU_SHedgeArray path,
GU_EdgeSuccessor::Mask  succ_type 
)
template<class T = gu_ShortestPathCost>
T GU_PathFinder< T >::findPath ( GU_SHedgeArray path,
GU_EdgeSuccessor::Mask  succ_type 
)
template<class T >
T & GU_PathFinder< T >::getBestCost ( GEO_SHedge  sh)

Definition at line 637 of file GU_PathFinder.h.

template<class T = gu_ShortestPathCost>
const GU_SHedgeArray& GU_PathFinder< T >::getStartSHedges ( ) const
inline

Definition at line 206 of file GU_PathFinder.h.

template<class T = gu_ShortestPathCost>
bool GU_PathFinder< T >::isEndOnBoundary ( )
inline

Definition at line 232 of file GU_PathFinder.h.

template<class T = gu_ShortestPathCost>
bool GU_PathFinder< T >::isStartOnBoundary ( )
inline

Definition at line 231 of file GU_PathFinder.h.

template<class T = gu_ShortestPathCost>
void GU_PathFinder< T >::reset ( bool  heap_only = false)
template<class T = gu_ShortestPathCost>
void GU_PathFinder< T >::setEndHedge ( GEO_Hedge  eh,
bool  and_equiv = true 
)
template<class T = gu_ShortestPathCost>
void GU_PathFinder< T >::setEndPoint ( GA_Offset  pt)
template<class T = gu_ShortestPathCost>
void GU_PathFinder< T >::setEndPrimitive ( GA_Offset  prim)
template<class T = gu_ShortestPathCost>
void GU_PathFinder< T >::setEndSHedge ( GEO_SHedge  ssh,
bool  and_reverse = false 
)
template<class T = gu_ShortestPathCost>
void GU_PathFinder< T >::setEndVertex ( GA_Offset  vtx)
template<class T = gu_ShortestPathCost>
void GU_PathFinder< T >::setStartHedge ( GEO_Hedge  sh,
bool  and_equiv = true 
)
template<class T = gu_ShortestPathCost>
void GU_PathFinder< T >::setStartPoint ( GA_Offset  pt)
template<class T = gu_ShortestPathCost>
void GU_PathFinder< T >::setStartPrimitive ( GA_Offset  prim)
template<class T = gu_ShortestPathCost>
void GU_PathFinder< T >::setStartSHedge ( GEO_SHedge  ssh,
bool  and_reverse = false 
)
template<class T = gu_ShortestPathCost>
void GU_PathFinder< T >::setStartVertex ( GA_Offset  vtx)
template<class T = gu_ShortestPathCost>
void GU_PathFinder< T >::simplifyDualPath ( GU_SHedgeArray path)
template<class T = gu_ShortestPathCost>
void GU_PathFinder< T >::simplifyPath ( GU_SHedgeArray path)

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