HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
GEO_BezSplit.h
Go to the documentation of this file.
1 /*
2  * PROPRIETARY INFORMATION. This software is proprietary to
3  * Side Effects Software Inc., and is not to be reproduced,
4  * transmitted, or disclosed in any way without written permission.
5  *
6  * NAME: Geometry Library (C++)
7  *
8  * COMMENTS:
9  */
10 
11 
12 #ifndef __GEO_BezSplit_h__
13 #define __GEO_BezSplit_h__
14 
15 #include "GEO_API.h"
16 #include <UT/UT_VectorTypes.h>
17 
18 // Dir specifies which direction to split (u = 0, v = 1)
19 template <class T, int Dir>
21 public:
22  // Given a bezier hull in 'left', partition it into two new hulls that
23  // represent the same curve. Partition at parametric value 't'.
24  static void split(T *left, T *right, int uorder, int vorder, float t = 0.5);
25 };
26 
27 #if 0
28 #define GEO_BEZSPLIT_EXPORT(TYPE) \
29  GEO_EXTERN_TEMPLATE(GEO_BezSplit<TYPE, 0>); \
30  GEO_EXTERN_TEMPLATE(GEO_BezSplit<TYPE, 1>); \
31  /**/
32 
33  GEO_BEZSPLIT_EXPORT(float)
34  GEO_BEZSPLIT_EXPORT(UT_Vector2)
35  GEO_BEZSPLIT_EXPORT(UT_Vector3)
36  GEO_BEZSPLIT_EXPORT(UT_Vector4)
37  GEO_BEZSPLIT_EXPORT(UT_Matrix2)
38  GEO_BEZSPLIT_EXPORT(UT_Matrix3)
39  GEO_BEZSPLIT_EXPORT(UT_Matrix4)
40 #undef GEO_BEZSPLIT_EXPORT
41 #endif
42 
43 #endif
GLint left
Definition: glcorearb.h:2005
GLdouble GLdouble GLint GLint GLdouble GLdouble GLint GLint vorder
Definition: glad.h:2682
GLdouble right
Definition: glad.h:2817
#define GEO_API
Definition: GEO_API.h:14
GLdouble t
Definition: glad.h:2397
void OIIO_UTIL_API split(string_view str, std::vector< string_view > &result, string_view sep=string_view(), int maxsplit=-1)
GLdouble GLdouble GLint GLint uorder
Definition: glad.h:2682