14 #ifndef __GU_EdgeUtils_h__
15 #define __GU_EdgeUtils_h__
40 myPoly(poly), myEdge(edge), myNumCuts(numcuts), myFraction(fraction)
42 UT_ASSERT(SYSisLessOrEqual(fraction * numcuts, 1.0
f));
83 bool prims_on_edges =
false);
188 const fpreal *radius=
nullptr,
189 bool proj_nml =
false);
GA_API const UT_StringHolder dist
OIIO_API std::vector< std::string > splits(string_view str, string_view sep="", int maxsplit=-1)
GU_API void GUfindUnsharedEdges(const GEO_Detail &detail, GA_EdgeGroup &edges, const GA_PrimitiveGroup *primgroup=NULL, bool prims_on_edges=false)
const GEO_PrimPoly & myPoly
GU_API void GUgetUnsharedPath(GA_OffsetArray &path, const GU_Detail &gdp, GA_Offset start, GA_Offset end)
GU_API void GUedgeLoopSplit(GU_Detail &gdp, GA_Offset pt0, GA_Offset pt1, fpreal u, exint splits=0, bool parallel=false, GA_EdgeGroup *edgeGroup=NULL, UT_Fpreal32Array *warningCoords=NULL)
GU_EdgeDiv(const GEO_PrimPoly &poly, const GA_Edge &edge, int numcuts, float fraction)
GU_API void GUevenlySpaceEdges(UT_Map< GA_Offset, UT_Vector3 > &edits, const GU_Detail &gdp, const UT_Set< GA_Edge > &gaedges, GU_EvenlySpaceMethod method=GU_EVENLY_SPACE_AVERAGE)
void OIIO_API split(string_view str, std::vector< string_view > &result, string_view sep=string_view(), int maxsplit=-1)
GU_API void GUcircleEdges(UT_Map< GA_Offset, UT_Vector3 > &edits, const GU_Detail &gdp, const UT_Set< GA_Edge > &gaedges, const fpreal *radius=nullptr, bool proj_nml=false)
GU_API void GUbridgeEdges(GU_Detail &gdp, const UT_Set< GA_Edge > &gaedges, bool connected)
GU_API bool GUgetBridgePaths(GA_OffsetArray &path0, GA_OffsetArray &path1, const GU_Detail &gdp, const UT_Set< GA_Edge > &gaedges)
GU_API bool GUgetEdgePoints(const GEO_Face &face, int edgenum, GA_Offset &p0, GA_Offset &p1)
GU_API UT_Vector3 GUcomputeInsetPos(const GEO_Face &face, int vtx, float inset)
GLenum GLuint GLint GLenum face
GLsizei const GLchar *const * path
const UT_Array< GA_Edge > & getSplits() const
GU_API void GUstraightenEdges(UT_Map< GA_Offset, UT_Vector3 > &edits, const GU_Detail &gdp, const UT_Set< GA_Edge > &gaedges, const UT_Vector3 *constrain_nml)
GU_API void GUgetEdges(UT_Set< GA_Edge > &edges, const GA_PrimitiveGroup &grp)
GU_API bool GUisPointInline(const UT_Vector3 &start, const UT_Vector3 &mid, const UT_Vector3 &end, float tol)