11 #ifndef __GT_Primitive__ 
   12 #define __GT_Primitive__ 
   51     virtual const char *className() 
const = 0;
 
   58     static int          createPrimitiveTypeId();
 
   62     virtual int         getPrimitiveType() 
const;
 
   66     virtual bool        getUniqueID(
int64 &
id) 
const;
 
   71                                         int nsegments) 
const = 0;
 
   88     virtual void        getVelocityRange(
 
  103     virtual int         getMotionSegments() 
const = 0;
 
  107     virtual int64       getMemoryUsage() 
const = 0;
 
  112                         { 
return myTransform; }
 
  120                         { 
return doSoftCopy(); }
 
  139                                      GT_Size    *tuple_size = NULL) 
const;
 
  147                             { myStaticGeoState=static_geo ? 1 : 0; }
 
  150                                          { 
return myStaticGeoState>=0; }
 
  156     bool                getDataIdHash(
int64 &hash, 
int segment=0,
 
  157                                       bool cache_data_id = 
false) 
const;
 
  172     void        dumpAttributeLists(
const char *
label, 
bool data_too) 
const;
 
  176     void        dumpPrimitive() 
const;
 
  235                             { 
return doHarden(); }
 
  242                                 bool force = 
false) 
const;
 
  260         return doAttributeMerge(src, vertex_pattern, point_pattern,
 
  261                         uniform_pattern, detail_pattern);
 
  267     static void *
operator       new(
size_t size);
 
  268     static void *
operator       new(
size_t size, 
void *p);
 
  269     static void  operator       delete(
void *p, 
size_t size);
 
  276     virtual fpreal      computePerimeter(
int seg=0) 
const;
 
  277     virtual fpreal      computeSurfaceArea(
int seg=0) 
const;
 
  302                         mergeAttributeLists(
bool &changed,
 
  323                                 fpreal defwidth=-1) 
const;
 
  343     mutable int         myCachedDataIdHashSegment : 30,
 
  344                         myStaticGeoState : 2;
 
  346     mutable int64       myCachedDataIdHash;
 
SIM_API const UT_StringHolder vertex
 
GT_PrimitiveHandle harden() const 
 
UT_JSONWriter & operator*()
 
GT_PrimitiveHandle clone() const 
 
GLuint GLsizei const GLchar * label
 
getFileOption("OpenEXR:storage") storage
 
GR_API RE_CacheVersion getTopologyVersion(const GT_Primitive *prim, RE_CacheVersion geo_version)
Return the cache version for the topology of primitive 'prim'. 
 
ImageBuf OIIO_API min(Image_or_Const A, Image_or_Const B, ROI roi={}, int nthreads=0)
 
Class which writes ASCII or binary JSON streams. 
 
GA_API const UT_StringHolder P
 
A reference counter base class for use with UT_IntrusivePtr. 
 
GA_API const UT_StringHolder v
 
void setStaticGeometry(bool static_geo)
Return true if the primitive represents geometry at frame 'fr'. 
 
GT_PrimitiveHandle attributeMerge(const GT_Primitive &src, const UT_StringMMPattern *vertex_pattern, const UT_StringMMPattern *point_pattern, const UT_StringMMPattern *uniform_pattern, const UT_StringMMPattern *detail_pattern) const 
 
bool isFrameInfoAvailable() const 
 
const GT_TransformHandle & getPrimitiveTransform() const 
 
GLuint const GLchar * name
 
The base class for all GT primitive types. 
 
GT_API const UT_StringHolder version
 
Processes primitives generated by refinement process. 
 
void setPrimitiveTransform(const GT_TransformHandle &x)
Set the transform for a the primitive. 
 
GA_API const UT_StringHolder parms
 
SIM_API const UT_StringHolder force
 
bool isStaticGeometry() const 
 
ImageBuf OIIO_API max(Image_or_Const A, Image_or_Const B, ROI roi={}, int nthreads=0)
 
GLubyte GLubyte GLubyte GLubyte w