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 (GU_PathHedge::Interface *dhip, const GA_Attribute *uv_attrib=nullptr)
 
void setStartHedge (const GU_PathHedge &sh, bool and_equiv=true)
 
void setEndHedge (const GU_PathHedge &eh, bool and_equiv=true)
 
void setStartSHedge (const GU_PathSHedge &ssh, bool and_reverse=false)
 
void setEndSHedge (const GU_PathSHedge &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 (const GU_PathSHedge &sh, bool and_reverse=false)
 
void clearEndSHedges ()
 
void addEndSHedge (const GU_PathSHedge &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 avoidGroups (GA_PointGroup *ptgrp, GA_EdgeGroup *edgegrp, GA_VertexGroup *vtxgrp, GA_PrimitiveGroup *primgrp)
 
void resetAvoidGroups ()
 
void setCollisionGroup (const GA_Group *group, bool exclude, bool strong)
 
void reset (bool heap_only=false)
 
const GU_SHedgeArraygetStartSHedges () const
 
SYS_FORCE_INLINE TgetBestCost (const GU_PathSHedge &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 88 of file GU_PathFinder.h.

Member Typedef Documentation

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

Definition at line 119 of file GU_PathFinder.h.

Constructor & Destructor Documentation

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

Member Function Documentation

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

Definition at line 203 of file GU_PathFinder.h.

template<class T = gu_ShortestPathCost>
void GU_PathFinder< T >::avoidGroups ( GA_PointGroup ptgrp,
GA_EdgeGroup edgegrp,
GA_VertexGroup vtxgrp,
GA_PrimitiveGroup primgrp 
)
inline

Definition at line 215 of file GU_PathFinder.h.

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

Definition at line 199 of file GU_PathFinder.h.

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

Definition at line 207 of file GU_PathFinder.h.

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

Definition at line 211 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 ( const GU_PathSHedge sh)

Definition at line 769 of file GU_PathFinder.h.

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

Definition at line 278 of file GU_PathFinder.h.

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

Definition at line 304 of file GU_PathFinder.h.

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

Definition at line 303 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 >::resetAvoidGroups ( )
inline

Definition at line 233 of file GU_PathFinder.h.

template<class T = gu_ShortestPathCost>
void GU_PathFinder< T >::setCollisionGroup ( const GA_Group group,
bool  exclude,
bool  strong 
)
inline

Definition at line 241 of file GU_PathFinder.h.

template<class T = gu_ShortestPathCost>
void GU_PathFinder< T >::setEndHedge ( const GU_PathHedge 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 ( const GU_PathSHedge 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 ( const GU_PathHedge 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 ( const GU_PathSHedge 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: