HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
GU_PrimVolumeCache Class Reference

#include <GU_PrimVolumeCache.h>

+ Inheritance diagram for GU_PrimVolumeCache:

Public Member Functions

 GU_PrimVolumeCache (void)
 
virtual ~GU_PrimVolumeCache (void)
 
int refresh (const GEO_Primitive *parent_prim, const GU_PrimVolumeCacheParms &parms)
 
UT_VoxelArrayV4getShadedVoxels (bool *reduced=nullptr) const
 
GU_PrimVolumeTexturegetTexture () const
 
void setTexture (GU_PrimVolumeTexture *tex)
 
GU_ConstDetailHandle getIsoSurface () const
 
UT_Vector3 getIsoCd () const
 
UT_Vector3I getRes () const
 The cached resolution. More...
 
GEO_PrimVolumeXform getSpaceTransform () const
 
int64 getMemoryUsage (bool inclusive) const
 
- Public Member Functions inherited from GU_DisplayCache
 GU_DisplayCache (void)
 
virtual ~GU_DisplayCache (void)
 
int isDirty () const
 
int isMessy () const
 
int howDirty () const
 
void clear ()
 
void dirty ()
 
int transformed () const
 
void transform (const UT_Matrix4 &xform, int pushxform=0)
 
int translated (void) const
 
void translate (const UT_Vector3 &d)
 
int uvChanged (void) const
 
void uvChange (void)
 
int pushXform (void) const
 
void pushXform (int yesno)
 
float lod (void) const
 
const UT_Matrix4transformation (void) const
 

Protected Member Functions

void lightVoxelsFromLight (const GU_PrimVolumeCacheSampler &sampler, const GU_PrimVolumeCacheLight &light, const UT_Vector3 &cd, float shadowdensity)
 
void rainbowVoxels (const GU_PrimVolumeCacheSampler &sampler)
 
 THREADED_METHOD3 (GU_PrimVolumeCache, myVoxels->numTiles() > 1, computeAlphaVoxels, const GU_PrimVolumeCacheSampler &, sampler, float, lightdensity, bool, premultiply) void computeAlphaVoxelsPartial(const GU_PrimVolumeCacheSampler &sampler
 
int getMaxRes (const GEO_Primitive *volume, const GU_PrimVolumeCacheParms &parms, int axis) const
 
bool indexToPos (int x, int y, int z, UT_Vector3 &pos) const
 
bool posToIndex (UT_Vector3 pos, int &x, int &y, int &z) const
 
- Protected Member Functions inherited from GU_DisplayCache
virtual void initializeData (void)
 
virtual void assimilateXform (void)
 
UT_Vector3delta (void)
 
const UT_Vector3delta (void) const
 
UT_Matrix4transformation (void)
 
void lod (float l)
 

Protected Attributes

float lightdensity
 
float bool premultiply
 
float bool const UT_JobInfoinfo
 
UT_VoxelArrayV4myVoxels
 
UT_Array< GU_PrimVolumeCacheLightmyLightList
 
GU_PrimVolumeTexturemyTexture
 
GU_DetailHandle myIsoSurf
 
float myOldLOD
 
UT_Vector3 myIsoCd
 
UT_Vector3I myCacheRes
 
GEO_PrimVolumeXform myVolumeXform
 
bool myVolumeReduced
 
UT_Matrix4 myCacheXform
 
UT_Matrix4 myCacheIXform
 
const UT_VoxelArrayV4myCacheVolume
 

Detailed Description

Definition at line 412 of file GU_PrimVolumeCache.h.

Constructor & Destructor Documentation

GU_PrimVolumeCache::GU_PrimVolumeCache ( void  )
virtual GU_PrimVolumeCache::~GU_PrimVolumeCache ( void  )
virtual

Member Function Documentation

UT_Vector3 GU_PrimVolumeCache::getIsoCd ( ) const
inline

Definition at line 437 of file GU_PrimVolumeCache.h.

GU_ConstDetailHandle GU_PrimVolumeCache::getIsoSurface ( ) const
inline

Definition at line 435 of file GU_PrimVolumeCache.h.

int GU_PrimVolumeCache::getMaxRes ( const GEO_Primitive volume,
const GU_PrimVolumeCacheParms parms,
int  axis 
) const
protected

Maximum per-axis resolution to do the self shadowing calculations at.

int64 GU_PrimVolumeCache::getMemoryUsage ( bool  inclusive) const
inline

Definition at line 445 of file GU_PrimVolumeCache.h.

UT_Vector3I GU_PrimVolumeCache::getRes ( ) const
inline

The cached resolution.

Definition at line 440 of file GU_PrimVolumeCache.h.

UT_VoxelArrayV4* GU_PrimVolumeCache::getShadedVoxels ( bool *  reduced = nullptr) const
inline

Definition at line 423 of file GU_PrimVolumeCache.h.

GEO_PrimVolumeXform GU_PrimVolumeCache::getSpaceTransform ( ) const
inline

Definition at line 442 of file GU_PrimVolumeCache.h.

GU_PrimVolumeTexture* GU_PrimVolumeCache::getTexture ( ) const
inline

Definition at line 430 of file GU_PrimVolumeCache.h.

bool GU_PrimVolumeCache::indexToPos ( int  x,
int  y,
int  z,
UT_Vector3 pos 
) const
protected

Used to convert to and from our cached indices, not the actual primitive indices that may be a different resolution

void GU_PrimVolumeCache::lightVoxelsFromLight ( const GU_PrimVolumeCacheSampler sampler,
const GU_PrimVolumeCacheLight light,
const UT_Vector3 cd,
float  shadowdensity 
)
protected
bool GU_PrimVolumeCache::posToIndex ( UT_Vector3  pos,
int x,
int y,
int z 
) const
protected
void GU_PrimVolumeCache::rainbowVoxels ( const GU_PrimVolumeCacheSampler sampler)
protected
int GU_PrimVolumeCache::refresh ( const GEO_Primitive parent_prim,
const GU_PrimVolumeCacheParms parms 
)
void GU_PrimVolumeCache::setTexture ( GU_PrimVolumeTexture tex)
inline

Definition at line 432 of file GU_PrimVolumeCache.h.

GU_PrimVolumeCache::THREADED_METHOD3 ( GU_PrimVolumeCache  ,
myVoxels->  numTiles(),
,
computeAlphaVoxels  ,
const GU_PrimVolumeCacheSampler ,
sampler  ,
float  ,
lightdensity  ,
bool  ,
premultiply   
) const
protected

Member Data Documentation

float bool const UT_JobInfo& GU_PrimVolumeCache::info
protected

Definition at line 472 of file GU_PrimVolumeCache.h.

float GU_PrimVolumeCache::lightdensity
protected

Definition at line 472 of file GU_PrimVolumeCache.h.

UT_Matrix4 GU_PrimVolumeCache::myCacheIXform
protected

Definition at line 501 of file GU_PrimVolumeCache.h.

UT_Vector3I GU_PrimVolumeCache::myCacheRes
protected

Definition at line 495 of file GU_PrimVolumeCache.h.

const UT_VoxelArrayV4* GU_PrimVolumeCache::myCacheVolume
protected

Definition at line 503 of file GU_PrimVolumeCache.h.

UT_Matrix4 GU_PrimVolumeCache::myCacheXform
protected

Definition at line 500 of file GU_PrimVolumeCache.h.

UT_Vector3 GU_PrimVolumeCache::myIsoCd
protected

Definition at line 493 of file GU_PrimVolumeCache.h.

GU_DetailHandle GU_PrimVolumeCache::myIsoSurf
protected

Definition at line 491 of file GU_PrimVolumeCache.h.

UT_Array<GU_PrimVolumeCacheLight> GU_PrimVolumeCache::myLightList
protected

Definition at line 488 of file GU_PrimVolumeCache.h.

float GU_PrimVolumeCache::myOldLOD
protected

Definition at line 492 of file GU_PrimVolumeCache.h.

GU_PrimVolumeTexture* GU_PrimVolumeCache::myTexture
protected

Definition at line 490 of file GU_PrimVolumeCache.h.

bool GU_PrimVolumeCache::myVolumeReduced
protected

Definition at line 497 of file GU_PrimVolumeCache.h.

GEO_PrimVolumeXform GU_PrimVolumeCache::myVolumeXform
protected

Definition at line 496 of file GU_PrimVolumeCache.h.

UT_VoxelArrayV4* GU_PrimVolumeCache::myVoxels
protected

Definition at line 487 of file GU_PrimVolumeCache.h.

float bool GU_PrimVolumeCache::premultiply
protected

Definition at line 472 of file GU_PrimVolumeCache.h.


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