HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
GU_PathFinder.h File Reference
#include "GU_API.h"
#include "GU_PathHedge.h"
#include <GA/GA_Edge.h>
#include <GA/GA_EdgeGroup.h>
#include <GA/GA_ElementGroup.h>
#include <GA/GA_Group.h>
#include <GA/GA_Handle.h>
#include <GA/GA_Types.h>
#include <UT/UT_Array.h>
#include <UT/UT_BitArray.h>
#include <UT/UT_Map.h>
#include <UT/UT_PriorityQueue.h>
#include <UT/UT_Set.h>
#include <SYS/SYS_Inline.h>
#include <SYS/SYS_Types.h>
+ Include dependency graph for GU_PathFinder.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  GU_EdgeSuccessor
 
class  GU_PathFinder< T >
 
class  GU_PathFinder< T >::PathEdge
 
class  gu_ShortestPathCost
 
class  gu_EdgeLoopCost
 
class  gu_EdgeRingCost
 

Typedefs

using GU_SHedgeArray = UT_Array< GU_PathSHedge >
 
typedef GU_PathFinder
< gu_EdgeLoopCost
GU_EdgeLoopFinder
 
typedef GU_PathFinder
< gu_EdgeRingCost
GU_EdgeRingFinder
 

Enumerations

enum  GU_WalkEndReason { GU_NO_SUCCESSOR, GU_HIT_BOUNDARY, GU_HIT_SELF, GU_COMPLETED }
 

Functions

GU_WalkEndReason GU_API guEdgeWalk (GU_PathHedge::Interface *dhip, const GA_ROHandleV2 &uvh, GU_SHedgeArray &path, GU_SHedgeArray &walk, bool backward=false, bool no_self_intersection=false, bool include_ends=false, const GA_PrimitiveGroup *avoid_prims=nullptr, const GA_PointGroup *avoid_points=nullptr, const GA_VertexGroup *avoid_vtx=nullptr, const GA_EdgeGroup *avoid_edges=nullptr, const GA_Group *collision_group=nullptr, bool exclude_collision=true, bool strong_rule=true)
 
GU_WalkEndReason GU_API guDualEdgeWalk (GU_PathHedge::Interface *dhip, const GA_ROHandleV2 &uvh, GU_SHedgeArray &path, GU_SHedgeArray &walk, bool backward=false, bool no_self_intersection=false, bool include_ends=false, const GA_PrimitiveGroup *avoid_prims=nullptr, const GA_PointGroup *avoid_points=nullptr, const GA_VertexGroup *avoid_vtx=nullptr, const GA_EdgeGroup *avoid_edges=nullptr, const GA_Group *collision_group=nullptr, bool exclude_collision=true, bool strong_rule=true)
 

Typedef Documentation

Definition at line 820 of file GU_PathFinder.h.

Definition at line 821 of file GU_PathFinder.h.

Definition at line 39 of file GU_PathFinder.h.

Enumeration Type Documentation

Enumerator
GU_NO_SUCCESSOR 
GU_HIT_BOUNDARY 
GU_HIT_SELF 
GU_COMPLETED 

Definition at line 823 of file GU_PathFinder.h.

Function Documentation

GU_WalkEndReason GU_API guDualEdgeWalk ( GU_PathHedge::Interface dhip,
const GA_ROHandleV2 uvh,
GU_SHedgeArray path,
GU_SHedgeArray walk,
bool  backward = false,
bool  no_self_intersection = false,
bool  include_ends = false,
const GA_PrimitiveGroup avoid_prims = nullptr,
const GA_PointGroup avoid_points = nullptr,
const GA_VertexGroup avoid_vtx = nullptr,
const GA_EdgeGroup avoid_edges = nullptr,
const GA_Group collision_group = nullptr,
bool  exclude_collision = true,
bool  strong_rule = true 
)
GU_WalkEndReason GU_API guEdgeWalk ( GU_PathHedge::Interface dhip,
const GA_ROHandleV2 uvh,
GU_SHedgeArray path,
GU_SHedgeArray walk,
bool  backward = false,
bool  no_self_intersection = false,
bool  include_ends = false,
const GA_PrimitiveGroup avoid_prims = nullptr,
const GA_PointGroup avoid_points = nullptr,
const GA_VertexGroup avoid_vtx = nullptr,
const GA_EdgeGroup avoid_edges = nullptr,
const GA_Group collision_group = nullptr,
bool  exclude_collision = true,
bool  strong_rule = true 
)