11 #ifndef __GVEX_GeoCache__
12 #define __GVEX_GeoCache__
27 #include <hboost/any.hpp>
30 template<u
int NAXES>
class PointBVHT;
125 int entries(
int pnum)
const;
130 UT_ASSERT(pnum >= 0 && pnum < myListSize);
140 case GVEX_META_DENSITY:
144 case GVEX_META_NUMBER:
148 case GVEX_META_TRANSFORM:
175 result = handle.
get(offset);
185 bool atEnd(
int proc) {
return myCurrent >= entries(proc); }
189 void specializeTemplates();
190 void setListSize(
int n);
216 template <
typename T>
223 template <
typename T>
234 template <VEX_Precision PREC>
249 static int64 setCacheMemory(
int64 memoryinkb=8192);
250 static int64 getCacheMemorySize();
251 static int setAutoFlush(
int flush);
252 static int getAutoFlush();
253 static void clearCache(
int out_of_date_only=0);
254 static void clearCache(
const char* file);
255 static void pruneCache();
257 static int64 getMemoryUsage();
258 static int64 getPeakUsage();
260 static void setDefaultMetaballGeometry(
GU_Detail *gdp);
266 static int getCacheEntries();
281 int pinc,
const char *file);
285 template <VEX_Precision PREC>
349 const exint *&adata);
371 int phase,
int freq,
int amp,
372 float hscale,
float time,
373 int mode,
int downsample);
381 const char *p_attrib,
383 const char *dist_metric);
400 template <
typename T>
404 return getCacheItem(
id, state, file, callback).template get<T>();
GVEX_ConstructCacheItemT< VEX_32 > GVEX_ConstructCacheItem
typedef int(APIENTRYP RE_PFNGLXSWAPINTERVALSGIPROC)(int)
Definition of a geometry attribute.
GT_API const UT_StringHolder filename
SYS_FORCE_INLINE GA_Detail & getDetail() const
SYS_FORCE_INLINE GA_Size getVertexCount() const
Return the number of vertices used by this primitive.
GT_API const UT_StringHolder time
GVEX_GeoCacheItem(*)(VEX_Instance< PREC > &state, const char *filename) GVEX_ConstructCacheItemT
Callback to create a new item for the GVEX_GeoCache.
**But if you need a result
typename VEX_PrecisionResolver< P >::vec3_type VEXvec3
exint GA_Size
Defines the bit width for index and offset types in GA.
GVEX_GeoCacheItem(const T *value)
GVEX_EXTERN_TEMPLATE(GVEX_GeoCacheT< VEX_32 >)
bool any(const vbool4 &v)
std::shared_ptr< T > UT_SharedPtr
Wrapper around std::shared_ptr.
SYS_FORCE_INLINE T get(GA_Offset off, int comp=0) const
SYS_FORCE_INLINE GA_Offset vertexPoint(GA_Offset vertex) const
Given a vertex, return the point it references.
fpreal32 SYSrint(fpreal32 val)
SYS_FORCE_INLINE bool isValid() const
exint entries() const
Alias of size(). size() is preferred.
SYS_FORCE_INLINE GA_Index getMapIndex() const
Gets the index of this primitive in the detail containing it.
Space-partitioning acceleration structure for points. Partitions the points into voxels to accelerate...
SYS_FORCE_INLINE GA_Offset getMapOffset() const
Gets the offset of this primitive in the detail containing it.
SYS_FORCE_INLINE GA_Offset getVertexOffset(GA_Size primvertexnum) const
Class to perform subdivision refinement using OpenSubdivision.