11 #ifndef __GEO_AttributeHandle__ 
   12 #define __GEO_AttributeHandle__ 
   43     GEO_AttributeHandle();
 
   45     GEO_AttributeHandle(
const GEO_AttributeHandle &gah);
 
   56     GEO_AttributeHandle *clone() 
const;
 
   61     ~GEO_AttributeHandle();
 
   69     GEO_AttributeHandle &
operator=(
const GEO_AttributeHandle &gah);
 
   75     bool        isAttributeValid() 
const;
 
   77     bool        isSourceAttributeValid() 
const;
 
   88     bool        downgradeToReadOnly();
 
   96                                     { 
return isSharedStringAttribute(); }
 
   98     bool                        isSharedStringAttribute() const;
 
  104     bool                isFloatOrVectorAttribute() const;
 
  110                                                 bool harden=true) const;
 
  115                             { 
return getSharedString(idx); }
 
  117     const 
char          *getSharedString(
int index) const;
 
  126     void        clearSourceMap()
 
  129                     setSourceMap(invalid);
 
  145                     { setElement(const_cast<const GEO_Vertex *>(v)); }
 
  148                     { setElement(const_cast<const GEO_Primitive *> (prim)); }
 
  151                     { setElement(const_cast<const GEO_Detail *>(gdp)); }
 
  162                             setElement(prim ? prim->getParent() : 0);
 
  164                             setPrimitive(prim ? prim->getMapOffset()
 
  178                     { setElement(const_cast<const GEO_Primitive *>(p),
 
  179                                  const_cast<const GEO_Vertex *>(v)); }
 
  184                     { setElement(const_cast<const GEO_Primitive *>(p), v); }
 
  203     bool                isP()
 const             { 
return myIsPointP; }
 
  206                                                 { 
return mySourceDictType; }
 
  209                             { 
return tupleSize(); }
 
  211     int                 tupleSize() const;
 
  213     int                 getFloatCount(
bool includePw)
 const 
  217                             return isFloatOrVectorAttribute() ? tupleSize() : 0;
 
  224     fpreal              getF(
int index=0) const;
 
  227     void                setI(
int val, 
int index=0);
 
  229     int                 getI(
int index=0) const;
 
  232     void                setV2(const 
UT_Vector2 &val, 
int index=0);
 
  237     void                setV3(const 
UT_Vector3 &val, 
int index=0);
 
  242     void                setV4(const 
UT_Vector4 &val, 
int index=0);
 
  247     void                setM2(const 
UT_Matrix2 &val, 
int index=0);
 
  252     void                setM3(const 
UT_Matrix3 &val, 
int index=0);
 
  257     void                setM4(const 
UT_Matrix4 &val, 
int index=0);
 
  271     bool                importVector(
int32 *val, 
int size) const;
 
  273     bool                importVector(
int64 *val, 
int size) const;
 
  277                             { 
return importVector(&val, 1); }
 
  280                             { 
return importVector(&val, 1); }
 
  283                             { 
return importVector(&val, 1); }
 
  286                             { 
return importVector(&val, 1); }
 
  289                             { 
return importVector(v.data(), 2); }
 
  292                             { 
return importVector(v.data(), 3); }
 
  295                             { 
return importVector(v.data(), 4); }
 
  298                             { 
return importVector(v.data(), 4); }
 
  301                             { 
return importVector(v.data(), 9); }
 
  304                             { 
return importVector(v.data(), 16); }
 
  318                                             bool harden=true) const;
 
  407                     { addScale(&elem, w); }
 
  413                     { 
lerp(&p0, &p1, w); }
 
  419                     { copyDataFrom(&elem); }
 
  492                     { addScaleDest(&elem, w); }
 
  513                     { lerpDest(&elem, w); }
 
  534                     { lerpDest(&p0, &p1, w); }
 
  552                     { multiplyDest(&elem); }
 
  573                     { copyDestData(&elem); }
 
  584     void        dump(const 
char *msg="") const;         
 
  588                     { 
return isAttributeValid() && 
GAisValid(myBoundElement); }
 
  590                     { 
return isSourceAttributeValid() && 
GAisValid(myBoundElement); }
 
  648     template <
typename T> 
inline bool 
  649         importVectorT(
T *
val, 
int size) 
const;
 
  666     const GA_AIFInterp  *myInterp;
 
typedef int(APIENTRYP RE_PFNGLXSWAPINTERVALSGIPROC)(int)
 
Definition of a geometry attribute. 
 
#define SYS_DEPRECATED(__V__)
 
*get result *(waiting if necessary)*A common idiom is to fire a bunch of sub tasks at the and then *wait for them to all complete We provide a helper class
 
Attribute Interface class to perform numeric operations on attributes. 
 
#define SYS_DEPRECATED_PUSH_DISABLE()
 
#define SYS_DEPRECATED_POP_DISABLE()
 
virtual bool lerp(GA_AttributeOperand &d, GA_AttributeOperand &a, GA_AttributeOperand &b, GA_AttributeOperand &t) const 
d = SYSlerp(a, b, t); 
 
__hostdev__ void setValue(uint32_t offset, bool v)
 
SYS_FORCE_INLINE bool GAisValid(GA_Size v)
 
#define GA_INVALID_OFFSET
 
A string map of attributes to ease backward compatibility In the GB/GEO/GU library code would often p...
 
const char * getString(const GA_ROAttributeRef &h, int index=0) const 
 
This class provides a way to manage a reference to an attribute permitting Read-Write access...
 
This class provides a way to manage a reference to an attribute permitting Read-Only access...
 
PXL_API const char * getName(const ColorSpace *space)
Return the name of the color space. 
 
constexpr auto set(type rhs) -> int
 
This class holds a reference to an attribute. Such an indirection level allows an easy way to invalid...
 
GA_Detail & getDetail() const 
Provide access to the GA_Detail containing this element. 
 
#define SYS_DEPRECATED_HDK(__V__)
 
void setString(const GA_WOAttributeRef &h, const char *str, int index=0)
 
GLfloat GLfloat GLfloat GLfloat h
 
LeafData & operator=(const LeafData &)=delete
 
Container class for all geometry. 
 
Attribute Interface class to copy attribute data. 
 
GLubyte GLubyte GLubyte GLubyte w
 
Generic Attribute Interface class to access an attribute as a tuple. 
 
bool isSourceValid() const 
 
GLint GLint GLint GLint GLint GLint GLint GLbitfield GLenum filter