12 #ifndef __GU_LoopHelper_h__
13 #define __GU_LoopHelper_h__
47 bool allow_ring_instead,
69 bool allow_ring_instead,
71 bool & result_is_ring,
76 bool allow_ring_instead,
80 return edgeLoop(start, end, loop_type,
81 allow_ring_instead,
false, tmp, loop);
99 bool is_for_prim_loop =
false);
102 void setActiveDetail(
const GU_Detail *gdp,
106 const GU_Detail *getActiveDetail()
const;
111 *getActiveRingZero();
116 *getActiveHedgeInterface();
119 getActivePathHedgeInterface();
126 void setPreviousPath(
const GA_Group * prev_gp,
127 bool replace_existing =
true);
128 void resetPreviousPath();
131 bool exclude_collision_group,
132 bool collision_strong_rule)
134 myCollisionGroup =
g;
135 myExcludeCollisionGroup = exclude_collision_group;
136 myCollisionGroupStrong = collision_strong_rule;
153 void addPathToPointGroup(
const SHedgeArray &
path,
156 void addPathToVertexGroup(
const SHedgeArray &
path,
159 void addPathToPrimitiveGroup(
const SHedgeArray &
path,
177 bool same_start_and_end =
false);
181 bool is_for_prim_loop =
false);
183 exint myActiveDetailId;
184 exint myActiveDetailMetaCount;
185 exint myUVAttribDataId;
188 LoopFinderUptr myLeftLoopFinder;
189 LoopFinderUptr myRightLoopFinder;
190 RingFinderUptr myLeftRingFinder;
191 RingFinderUptr myRightRingFinder;
196 PathHedgeInterfacePtr myPathHedgeInterface;
198 HedgeInterfaceUptr myActiveHedgeInterface;
199 OffsetArrayUptr myActiveRingZero;
207 const GA_Group * myCollisionGroup =
nullptr;
210 bool myExcludeCollisionGroup =
true;
214 bool myCollisionGroupStrong =
false;
Definition of a geometry attribute.
UT_UniquePtr< GA_VertexGroup > GA_VertexGroupUPtr
GLsizei const GLchar *const * path
std::unique_ptr< T, Deleter > UT_UniquePtr
A smart pointer for unique ownership of dynamically allocated objects.
GEO_Hedge encapsulates a half-edge (hedge) which is the restriction of.
UT_UniquePtr< GA_PrimitiveGroup > GA_PrimitiveGroupUPtr
GA_Size GA_Index
Define the strictness of GA_Offset/GA_Index.
void setCollisionGroup(const GA_Group *g, bool exclude_collision_group, bool collision_strong_rule)
UT_UniquePtr< GA_PointGroup > GA_PointGroupUPtr
bool edgeLoop(GU_PathHedge start, GU_PathHedge end, GU_LoopType loop_type, bool allow_ring_instead, UT_Array< GU_PathSHedge > &loop)
UT_UniquePtr< GA_EdgeGroup > GA_EdgeGroupUPtr