12 #ifndef __GU_RayRBezSurf_h__
13 #define __GU_RayRBezSurf_h__
42 void init(
int uOrder,
int vOrder,
43 float uStart,
float uLength,
44 float vStart,
float vLength,
int isRational);
50 float tmax,
float tol,
float *
t);
71 int depth,
int noBBoxTest = 0);
75 int pointInvert(
const UT_Vector3 &p,
float &u,
float &
v,
76 float &d2,
float tol);
79 void carveU(
float ustart,
float uend);
80 void carveV(
float vstart,
float vend);
82 void splitMyself(
int depth);
88 void evaluate(
float u,
float v,
UT_Vector3 &pos)
const;
89 void evaluateHomogeneous(
float u,
float v,
UT_Vector4 &pos,
91 void evaluate(
float u,
float v,
UT_Vector3 &pos,
99 void sortSubPatches(
GU_RayRBezSurf **patches,
float *sortvalue)
const;
102 float &t,
float &u,
float &v)
const;
104 float &u,
float &v)
const;
106 void buildImplicit();
110 int64 mem = inclusive ?
sizeof(*this) : 0;
111 mem += myCV.getMemoryUsage(
false);
112 mem += mySplitLock.getMemoryUsage(
false);
113 mem += myXCoeff.getMemoryUsage(
false);
114 mem += myYCoeff.getMemoryUsage(
false);
115 mem += myZCoeff.getMemoryUsage(
false);
116 mem += myWCoeff.getMemoryUsage(
false);
119 mem += myTopLeft->getMemoryUsage(
true);
120 mem += myBottomLeft->getMemoryUsage(
true);
121 mem += myTopRight->getMemoryUsage(
true);
122 mem += myBottomRight->getMemoryUsage(
true);
138 float intersecttol = 1e-6F,
139 float domaintol = 1e-2F,
140 float steprate = 1e-2F,
int dividedir=0);
151 float tol = 1e-6F,
float domaintol = 1e-2F,
152 float steprate = 1.0
f/100.0
f,
159 float &vresult,
float &invu,
float &invv,
160 float tol = 1e-4F,
int maxiter = 30);
162 float &uresult,
float &invu,
float &invv,
163 float tol = 1e-4F,
int maxiter = 30);
165 float &invu,
float &invv,
float tol,
175 float tol = 1e-6F,
float ttol = 1e-2F);
177 float u,
float vstart,
float vend,
179 float tol = 1e-6F,
float ttol = 1e-2F,
int useAP=1);
181 float v,
float ustart,
float uend,
183 float tol = 1e-6F,
float ttol = 1e-2F,
int useAP=1);
GLdouble GLdouble GLint GLint const GLdouble * points
IMF_EXPORT IMATH_NAMESPACE::V3f direction(const IMATH_NAMESPACE::Box2i &dataWindow, const IMATH_NAMESPACE::V2f &pixelPosition)
GU_RayRBezSurf * myTopLeft
GLint GLint GLsizei GLsizei GLsizei depth
IMATH_CONSTEXPR14 bool intersect(const Line3< T > &line, const Vec3< T > &v0, const Vec3< T > &v1, const Vec3< T > &v2, Vec3< T > &pt, Vec3< T > &barycentric, bool &front) IMATH_NOEXCEPT
GU_RayRBezSurf * myTopRight
int64 getMemoryUsage(bool inclusive) const
UT_RefMatrix< UT_Vector4 > myCV
void OIIO_UTIL_API split(string_view str, std::vector< string_view > &result, string_view sep=string_view(), int maxsplit=-1)