GB_AttributeElem Class Reference

#include <GB_AttributeElem.h>

Inheritance diagram for GB_AttributeElem:

GEO_Point GEO_Primitive GEO_Vertex GEO_Hull GEO_PrimParticle GEO_PrimPasteDAG GEO_PrimTriBezier GEO_PrimVolume GEO_Quadric GEO_TriMesh GEO_ParticleVertex

List of all members.

Public Member Functions

void SYS_DEPRECATED copyAttribData (const GB_AttributeElem *src, int sz)
 copyAttribData() is deprecated in favour of copyAttributeValues()
void copyAttribData (const GB_AttributeElem &src, const GB_AttributeDict &src_dict, const GB_AttributeDict &dest_dict)
template<typename T >
T * castAttribData (const GB_AttributeRef &n)
template<typename T >
const T * castAttribData (const GB_AttributeRef &n) const
bool compareAttributeData (const GB_AttributeElem &cmp, const GB_AttributeDict &table, fpreal tol=FP32_TOLERANCE) const
 Compare attribute data.
bool hasAllocatedAttributeValues () const
 Check to see whether the object has the attribute storage allocated.
void allocateAttributeValues (const GB_AttributeDict &dict, bool set_to_default_values=false)
 Ensure that there's enough room to hold the attribute data.
void copyAttributeValues (const GB_AttributeElem &src, const GB_AttributeDict &dict)
void scaleAttributeValues (fpreal scale, const GB_AttributeDict &dict)
 Multiply numeric values by the scalar value.
void addAttributeValues (const GB_AttributeElem &src, const GB_AttributeDict &dict, fpreal scale=1)
void lerpAttributeValues (const GB_AttributeElem &v0, const GB_AttributeElem &v1, fpreal bias, const GB_AttributeDict &dict)
void baryAttributeValues (const GB_AttributeElem &v0, const GB_AttributeElem &v1, const GB_AttributeElem &v2, fpreal u, fpreal v, const GB_AttributeDict &dict)
void bilinearAttributeValues (const GB_AttributeElem &u0v0, const GB_AttributeElem &u1v0, const GB_AttributeElem &u0v1, const GB_AttributeElem &u1v1, fpreal u, fpreal v, const GB_AttributeDict &dict)
Get/Set Accessors For Individual Attributes
Operations to work on an individual attribute. The following templates can only be instantiated for the types supported by the corresponding methods on GB_AttributeData.

Warning:
These methods assume that the data type for the given attribute matches the data requested. It is not safe to call a version not matching that data type. The sole exceptions are fpreal64 and int64, where the underlying data must be of type fpreal32 and int32, respectively.


template<typename T >
const T * getPointer (const GB_AttributeRef &h, T *buffer, int cnt) const
template<typename T >
const T * getPointer (const GB_AttributeRef &h, GB_AttributeBuffer &buffer, int cnt) const
template<typename T >
getValue (const GB_AttributeRef &handle, int index=0) const
template<typename T >
void setValue (const GB_AttributeRef &handle, const T &data, int index=0)
template<typename T >
void get (const GB_AttributeRef &handle, T &data, int index=0) const
template<typename T >
void get (const GB_AttributeRef &handle, T *data, int count) const
template<typename T >
void set (const GB_AttributeRef &handle, const T *data, int count)

Static Public Member Functions

static const GB_AttributeMathgetMath (const GB_AttributeRef &h)

Friends

class GB_AttributeTable
class GB_AttributeDict
class GEO_Point
class GEO_Vertex
class GEO_PointAttribDict
class GEO_VertexAttribDict
class GEO_PrimAttribDict
class GEO_Primitive
class GEO_Face
class GEO_Curve
class GEO_Hull
class GEO_TPSurf
class GEO_TriMesh
class GEO_Detail
class GEO_MetaExpression
class GEO_PrimPoly
class GEO_PrimNURBCurve
class GEO_PrimRBezCurve
class GEO_PrimNURBSurf
class GEO_PrimRBezSurf
class GEO_PrimTriBezier
class GU_TPSurf
class GU_Curve
class GU_PrimNURBCurve
class GU_PrimNURBSurf
class GU_PrimPasteDAG
class GU_PrimTriBezier
class gq_StitchAccess
class GDT_Detail
class GQ_Detail
class GQ_PolyBevel
class POP_AttribMap
class pop_GenVarAccess
class POP_GenVar
class POP_Softbody
class sop_CaptureOverrideAccess
class POP_Split


Detailed Description

Definition at line 32 of file GB_AttributeElem.h.


Member Function Documentation

void GB_AttributeElem::addAttributeValues ( const GB_AttributeElem src,
const GB_AttributeDict dict,
fpreal  scale = 1 
)

Add the numeric attribute data from the source element, optionally scaling the source data with the scale given.

void GB_AttributeElem::allocateAttributeValues ( const GB_AttributeDict dict,
bool  set_to_default_values = false 
)

Ensure that there's enough room to hold the attribute data.

void GB_AttributeElem::baryAttributeValues ( const GB_AttributeElem v0,
const GB_AttributeElem v1,
const GB_AttributeElem v2,
fpreal  u,
fpreal  v,
const GB_AttributeDict dict 
)

Barycentric interpolation of attribute values this = (1-u-v)*v0 + u*v1 + v*v2

void GB_AttributeElem::bilinearAttributeValues ( const GB_AttributeElem u0v0,
const GB_AttributeElem u1v0,
const GB_AttributeElem u0v1,
const GB_AttributeElem u1v1,
fpreal  u,
fpreal  v,
const GB_AttributeDict dict 
)

Bilinear interpolation of attribute values this = (1-u)(1-v)*u0v0 + (u)(1-v)*u1v0 + (1-u)(v)*u0v1 + (u)(v)*u1v1

template<typename T >
const T* GB_AttributeElem::castAttribData ( const GB_AttributeRef n  )  const [inline]

Definition at line 52 of file GB_AttributeElem.h.

template<typename T >
T* GB_AttributeElem::castAttribData ( const GB_AttributeRef n  )  [inline]

Operations to work on an individual attribute. The handle is passed in and a pointer to the data is returned.

Definition at line 49 of file GB_AttributeElem.h.

bool GB_AttributeElem::compareAttributeData ( const GB_AttributeElem cmp,
const GB_AttributeDict table,
fpreal  tol = FP32_TOLERANCE 
) const

Compare attribute data.

void GB_AttributeElem::copyAttribData ( const GB_AttributeElem src,
const GB_AttributeDict src_dict,
const GB_AttributeDict dest_dict 
)

void SYS_DEPRECATED GB_AttributeElem::copyAttribData ( const GB_AttributeElem src,
int  sz 
)

copyAttribData() is deprecated in favour of copyAttributeValues()

void GB_AttributeElem::copyAttributeValues ( const GB_AttributeElem src,
const GB_AttributeDict dict 
)

Copy attribute data from the source element to my attributes. This assumes that both elements have the same attribute dictionary.

template<typename T >
void GB_AttributeElem::get ( const GB_AttributeRef handle,
T *  data,
int  count 
) const [inline]

Operations to work on an individual attribute. The following templates can only be instantiated for the types supported by the corresponding methods on GB_AttributeData.

Warning:
These methods assume that the data type for the given attribute matches the data requested. It is not safe to call a version not matching that data type. The sole exceptions are fpreal64 and int64, where the underlying data must be of type fpreal32 and int32, respectively.

Definition at line 85 of file GB_AttributeElem.h.

template<typename T >
void GB_AttributeElem::get ( const GB_AttributeRef handle,
T &  data,
int  index = 0 
) const [inline]

Operations to work on an individual attribute. The following templates can only be instantiated for the types supported by the corresponding methods on GB_AttributeData.

Warning:
These methods assume that the data type for the given attribute matches the data requested. It is not safe to call a version not matching that data type. The sole exceptions are fpreal64 and int64, where the underlying data must be of type fpreal32 and int32, respectively.
Examples:
VRAY/VRAY_DemoSprite.C.

Definition at line 82 of file GB_AttributeElem.h.

static const GB_AttributeMath& GB_AttributeElem::getMath ( const GB_AttributeRef h  )  [static]

The math class provides simple methods to help perform arithmetic operations on attributes.

It's possible that a different math operator might be defined for different handles. Please ensure that you're calling it with the correct handle.

See also:
GB_AttributeMath

template<typename T >
const T* GB_AttributeElem::getPointer ( const GB_AttributeRef h,
GB_AttributeBuffer buffer,
int  cnt 
) const [inline]

Operations to work on an individual attribute. The following templates can only be instantiated for the types supported by the corresponding methods on GB_AttributeData.

Warning:
These methods assume that the data type for the given attribute matches the data requested. It is not safe to call a version not matching that data type. The sole exceptions are fpreal64 and int64, where the underlying data must be of type fpreal32 and int32, respectively.

Definition at line 72 of file GB_AttributeElem.h.

template<typename T >
const T* GB_AttributeElem::getPointer ( const GB_AttributeRef h,
T *  buffer,
int  cnt 
) const [inline]

Operations to work on an individual attribute. The following templates can only be instantiated for the types supported by the corresponding methods on GB_AttributeData.

Warning:
These methods assume that the data type for the given attribute matches the data requested. It is not safe to call a version not matching that data type. The sole exceptions are fpreal64 and int64, where the underlying data must be of type fpreal32 and int32, respectively.

Definition at line 69 of file GB_AttributeElem.h.

template<typename T >
T GB_AttributeElem::getValue ( const GB_AttributeRef handle,
int  index = 0 
) const [inline]

Operations to work on an individual attribute. The following templates can only be instantiated for the types supported by the corresponding methods on GB_AttributeData.

Warning:
These methods assume that the data type for the given attribute matches the data requested. It is not safe to call a version not matching that data type. The sole exceptions are fpreal64 and int64, where the underlying data must be of type fpreal32 and int32, respectively.
Examples:
POP/POP_CircleForce.C, POP/POP_LocalForce.C, POP/POP_SpotLight.C, SIM/SIM_SolverHair.C, SOP/SOP_BrushHairLen.C, SOP/SOP_CustomBrush.C, SOP/SOP_SParticle.C, and VRAY/VRAY_DemoSprite.C.

Definition at line 76 of file GB_AttributeElem.h.

bool GB_AttributeElem::hasAllocatedAttributeValues (  )  const

Check to see whether the object has the attribute storage allocated.

void GB_AttributeElem::lerpAttributeValues ( const GB_AttributeElem v0,
const GB_AttributeElem v1,
fpreal  bias,
const GB_AttributeDict dict 
)

Linear interpolate attribute values this = (1-bias)*v0 + bias*v1

void GB_AttributeElem::scaleAttributeValues ( fpreal  scale,
const GB_AttributeDict dict 
)

Multiply numeric values by the scalar value.

template<typename T >
void GB_AttributeElem::set ( const GB_AttributeRef handle,
const T *  data,
int  count 
) [inline]

Operations to work on an individual attribute. The following templates can only be instantiated for the types supported by the corresponding methods on GB_AttributeData.

Warning:
These methods assume that the data type for the given attribute matches the data requested. It is not safe to call a version not matching that data type. The sole exceptions are fpreal64 and int64, where the underlying data must be of type fpreal32 and int32, respectively.
Examples:
VRAY/VRAY_DemoSprite.C.

Definition at line 88 of file GB_AttributeElem.h.

template<typename T >
void GB_AttributeElem::setValue ( const GB_AttributeRef handle,
const T &  data,
int  index = 0 
) [inline]

Operations to work on an individual attribute. The following templates can only be instantiated for the types supported by the corresponding methods on GB_AttributeData.

Warning:
These methods assume that the data type for the given attribute matches the data requested. It is not safe to call a version not matching that data type. The sole exceptions are fpreal64 and int64, where the underlying data must be of type fpreal32 and int32, respectively.
Examples:
POP/POP_CircleForce.C, POP/POP_LocalForce.C, POP/POP_SpotLight.C, SIM/SIM_ForceOrbit.C, SIM/SIM_SolverHair.C, SOP/SOP_BrushHairLen.C, SOP/SOP_CopRaster.C, SOP/SOP_CustomBrush.C, SOP/SOP_DetailAttrib.C, SOP/SOP_IKSample.C, SOP/SOP_SParticle.C, and VRAY/VRAY_DemoSprite.C.

Definition at line 79 of file GB_AttributeElem.h.


Friends And Related Function Documentation

friend class GB_AttributeDict [friend]

Definition at line 166 of file GB_AttributeElem.h.

friend class GB_AttributeTable [friend]

Definition at line 165 of file GB_AttributeElem.h.

friend class GDT_Detail [friend]

Definition at line 198 of file GB_AttributeElem.h.

friend class GEO_Curve [friend]

Definition at line 176 of file GB_AttributeElem.h.

friend class GEO_Detail [friend]

Reimplemented in GEO_Primitive.

Definition at line 180 of file GB_AttributeElem.h.

friend class GEO_Face [friend]

Definition at line 175 of file GB_AttributeElem.h.

friend class GEO_Hull [friend]

Definition at line 177 of file GB_AttributeElem.h.

friend class GEO_MetaExpression [friend]

Definition at line 181 of file GB_AttributeElem.h.

friend class GEO_Point [friend]

Definition at line 169 of file GB_AttributeElem.h.

friend class GEO_PointAttribDict [friend]

Definition at line 171 of file GB_AttributeElem.h.

friend class GEO_PrimAttribDict [friend]

Definition at line 173 of file GB_AttributeElem.h.

friend class GEO_Primitive [friend]

Definition at line 174 of file GB_AttributeElem.h.

friend class GEO_PrimNURBCurve [friend]

Definition at line 183 of file GB_AttributeElem.h.

friend class GEO_PrimNURBSurf [friend]

Definition at line 185 of file GB_AttributeElem.h.

friend class GEO_PrimPoly [friend]

Definition at line 182 of file GB_AttributeElem.h.

friend class GEO_PrimRBezCurve [friend]

Definition at line 184 of file GB_AttributeElem.h.

friend class GEO_PrimRBezSurf [friend]

Definition at line 186 of file GB_AttributeElem.h.

friend class GEO_PrimTriBezier [friend]

Definition at line 187 of file GB_AttributeElem.h.

friend class GEO_TPSurf [friend]

Definition at line 178 of file GB_AttributeElem.h.

friend class GEO_TriMesh [friend]

Definition at line 179 of file GB_AttributeElem.h.

friend class GEO_Vertex [friend]

Definition at line 170 of file GB_AttributeElem.h.

friend class GEO_VertexAttribDict [friend]

Definition at line 172 of file GB_AttributeElem.h.

friend class GQ_Detail [friend]

Definition at line 200 of file GB_AttributeElem.h.

friend class GQ_PolyBevel [friend]

Definition at line 201 of file GB_AttributeElem.h.

friend class gq_StitchAccess [friend]

Definition at line 196 of file GB_AttributeElem.h.

friend class GU_Curve [friend]

Definition at line 190 of file GB_AttributeElem.h.

friend class GU_PrimNURBCurve [friend]

Definition at line 191 of file GB_AttributeElem.h.

friend class GU_PrimNURBSurf [friend]

Definition at line 192 of file GB_AttributeElem.h.

friend class GU_PrimPasteDAG [friend]

Definition at line 193 of file GB_AttributeElem.h.

friend class GU_PrimTriBezier [friend]

Definition at line 194 of file GB_AttributeElem.h.

friend class GU_TPSurf [friend]

Definition at line 189 of file GB_AttributeElem.h.

friend class POP_AttribMap [friend]

Definition at line 203 of file GB_AttributeElem.h.

friend class POP_GenVar [friend]

Definition at line 205 of file GB_AttributeElem.h.

friend class pop_GenVarAccess [friend]

Definition at line 204 of file GB_AttributeElem.h.

friend class POP_Softbody [friend]

Definition at line 206 of file GB_AttributeElem.h.

friend class POP_Split [friend]

Definition at line 210 of file GB_AttributeElem.h.

friend class sop_CaptureOverrideAccess [friend]

Definition at line 208 of file GB_AttributeElem.h.


The documentation for this class was generated from the following file:

Generated on Mon Jan 28 00:28:43 2013 for HDK by  doxygen 1.5.9