HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
SOP_CaptureAttribPack.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: SOP_CaptureAttribPack.h ( SOP Library, C++)
7  *
8  * COMMENTS:
9  */
10 
11 #ifndef __SOP_CaptureAttribPack__
12 #define __SOP_CaptureAttribPack__
13 
14 #include "SOP_API.h"
15 #include "SOP_Node.h"
16 
18 {
19 public:
20  SOP_CaptureAttribPack(OP_Network *net, const char *,OP_Operator *entry);
21  virtual ~SOP_CaptureAttribPack();
22 
23  static OP_Node *myConstructor(OP_Network *net, const char *name,
24  OP_Operator *entry);
25  static PRM_Template myTemplateList[];
26 
27 protected:
28  virtual OP_ERROR cookMySop (OP_Context &context);
29 
30  THREADED_METHOD4(SOP_CaptureAttribPack, range.getMaxEntries() > 5000,
31  packCaptureAttribute,
32  const GA_Range &, range,
33  GA_Attribute *, captureattrib,
34  const GA_Attribute *, indexattrib,
35  const GA_Attribute *, dataattrib);
36  void packCaptureAttributePartial(const GA_Range &range,
37  GA_Attribute *captureattrib,
38  const GA_Attribute *indexattrib,
39  const GA_Attribute *dataattrib,
40  const UT_JobInfo &info);
41 
42  template <typename T>
43  void doPackCaptureAttribute(
44  const GA_Range &range, GA_Attribute *captureattrib,
45  const GA_Attribute *indexattrib,
46  const GA_Attribute *datattrib,
47  const UT_JobInfo &info);
48 
49  void getATTRIB(UT_String &str, fpreal t)
50  { evalString(str, "attrib", 0, t); }
51  void getPREFIX(UT_String &str, fpreal t)
52  { evalString(str, "prefix", 0, t); }
54  { evalString(str, "secondaryprefix", 0, t); }
56  { return evalInt("class", 0, t); }
57 
59  { return evalInt("packproperties", 0, t); }
60  bool PACKDATA(fpreal t)
61  { return evalInt("packdata", 0, t); }
63  { return evalInt("deletecapture", 0, t); }
64 
65 };
66 
67 #endif
68 
Definition of a geometry attribute.
Definition: GA_Attribute.h:189
GLenum GLint * range
Definition: glcorearb.h:1924
void getPREFIX(UT_String &str, fpreal t)
UT_ErrorSeverity
Definition: UT_Error.h:25
A range of elements in an index-map.
Definition: GA_Range.h:42
void evalString(UT_String &val, int pi, int vi, fpreal t) const
void getSECONDARY(UT_String &str, fpreal t)
GLuint const GLchar * name
Definition: glcorearb.h:785
#define THREADED_METHOD4(CLASSNAME, DOMULTI, METHOD, PARMTYPE1, PARMNAME1, PARMTYPE2, PARMNAME2, PARMTYPE3, PARMNAME3, PARMTYPE4, PARMNAME4)
double fpreal
Definition: SYS_Types.h:269
void getATTRIB(UT_String &str, fpreal t)
#define SOP_API
Definition: SOP_API.h:10
exint evalInt(int pi, int vi, fpreal t) const
virtual OP_ERROR cookMySop(OP_Context &context)=0