HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
GT_DAIndexPair.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 
7 #ifndef __GT_DAIndexPair__
8 #define __GT_DAIndexPair__
9 
10 #include "GT_API.h"
11 #include "GT_DANumeric.h"
12 
13 #include <UT/UT_SmallArray.h>
14 
15 /// Extension of GT_DANumeric which supports configuring the index-pair objects
16 /// and properties. The indices and weights are represented as an interleaved
17 /// float tuple for each entry, e.g. (index0, weight0, index1, weight1, ...)
18 template <typename T>
20 {
21 public:
22  /// NOTE: the tuple size includes both the indices and weights, so this
23  /// is twice the tuple size of a GA index-pair attribute!
24  GT_DAIndexPair(int array_size, int tuple_size)
25  : GT_DANumeric<T>(array_size, tuple_size, GT_TYPE_INDEXPAIR)
26  {
27  static_assert(
29  "Index-pair attributes should be a float tuple!");
30  }
31 
32  ~GT_DAIndexPair() override;
34 
35  int getIndexPairObjectSetCount() const override;
36  void getIndexPairObjects(GT_AttributeListHandle &properties, int s = 0)
37  const override;
38 
39  void setIndexPairObjectSetCount(int n);
40  void setIndexPairObjects(int s, const GT_AttributeListHandle &properties);
41 
42 private:
44 };
45 
49 
50 #endif
typedef int(APIENTRYP RE_PFNGLXSWAPINTERVALSGIPROC)(int)
#define GT_API
Definition: GT_API.h:13
GLdouble s
Definition: glad.h:3009
float fpreal32
Definition: SYS_Types.h:200
double fpreal64
Definition: SYS_Types.h:201
GT_DAIndexPair(int array_size, int tuple_size)
GLdouble n
Definition: glcorearb.h:2008
#define UT_NON_COPYABLE(CLASS)
Define deleted copy constructor and assignment operator inside a class.
GT_EXTERN_TEMPLATE(GT_DAIndexPair< fpreal16 >)
An array of numeric values (int32, int64, fpreal16, fpreal32, fpreal64)
Definition: GT_DANumeric.h:23