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 ()
 
 ~GU_PrimVolumeCache () override
 
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 ()
 
virtual ~GU_DisplayCache ()
 
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 () const
 
void translate (const UT_Vector3 &d)
 
int uvChanged () const
 
void uvChange ()
 
int pushXform () const
 
void pushXform (int yesno)
 
float lod () const
 
const UT_Matrix4transformation () 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 ()
 
virtual void assimilateXform ()
 
UT_Vector3delta ()
 
const UT_Vector3delta () const
 
UT_Matrix4transformation ()
 
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 475 of file GU_PrimVolumeCache.h.

Constructor & Destructor Documentation

GU_PrimVolumeCache::GU_PrimVolumeCache ( )
GU_PrimVolumeCache::~GU_PrimVolumeCache ( )
override

Member Function Documentation

UT_Vector3 GU_PrimVolumeCache::getIsoCd ( ) const
inline

Definition at line 500 of file GU_PrimVolumeCache.h.

GU_ConstDetailHandle GU_PrimVolumeCache::getIsoSurface ( ) const
inline

Definition at line 498 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 508 of file GU_PrimVolumeCache.h.

UT_Vector3I GU_PrimVolumeCache::getRes ( ) const
inline

The cached resolution.

Definition at line 503 of file GU_PrimVolumeCache.h.

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

Definition at line 486 of file GU_PrimVolumeCache.h.

GEO_PrimVolumeXform GU_PrimVolumeCache::getSpaceTransform ( ) const
inline

Definition at line 505 of file GU_PrimVolumeCache.h.

GU_PrimVolumeTexture* GU_PrimVolumeCache::getTexture ( ) const
inline

Definition at line 493 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 495 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 535 of file GU_PrimVolumeCache.h.

float GU_PrimVolumeCache::lightdensity
protected

Definition at line 535 of file GU_PrimVolumeCache.h.

UT_Matrix4 GU_PrimVolumeCache::myCacheIXform
protected

Definition at line 564 of file GU_PrimVolumeCache.h.

UT_Vector3I GU_PrimVolumeCache::myCacheRes
protected

Definition at line 558 of file GU_PrimVolumeCache.h.

const UT_VoxelArrayV4* GU_PrimVolumeCache::myCacheVolume
protected

Definition at line 566 of file GU_PrimVolumeCache.h.

UT_Matrix4 GU_PrimVolumeCache::myCacheXform
protected

Definition at line 563 of file GU_PrimVolumeCache.h.

UT_Vector3 GU_PrimVolumeCache::myIsoCd
protected

Definition at line 556 of file GU_PrimVolumeCache.h.

GU_DetailHandle GU_PrimVolumeCache::myIsoSurf
protected

Definition at line 554 of file GU_PrimVolumeCache.h.

UT_Array<GU_PrimVolumeCacheLight> GU_PrimVolumeCache::myLightList
protected

Definition at line 551 of file GU_PrimVolumeCache.h.

float GU_PrimVolumeCache::myOldLOD
protected

Definition at line 555 of file GU_PrimVolumeCache.h.

GU_PrimVolumeTexture* GU_PrimVolumeCache::myTexture
protected

Definition at line 553 of file GU_PrimVolumeCache.h.

bool GU_PrimVolumeCache::myVolumeReduced
protected

Definition at line 560 of file GU_PrimVolumeCache.h.

GEO_PrimVolumeXform GU_PrimVolumeCache::myVolumeXform
protected

Definition at line 559 of file GU_PrimVolumeCache.h.

UT_VoxelArrayV4* GU_PrimVolumeCache::myVoxels
protected

Definition at line 550 of file GU_PrimVolumeCache.h.

float bool GU_PrimVolumeCache::premultiply
protected

Definition at line 535 of file GU_PrimVolumeCache.h.


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