vtkExodusIICache Class Reference

#include <vtkExodusIICache.h>

Inheritance diagram for vtkExodusIICache:

Inheritance graph
[legend]
Collaboration diagram for vtkExodusIICache:

Collaboration graph
[legend]

List of all members.


Detailed Description

Definition at line 120 of file vtkExodusIICache.h.


Public Types

typedef vtkObject Superclass

Public Member Functions

virtual const char * GetClassName ()
virtual int IsA (const char *type)
void PrintSelf (ostream &os, vtkIndent indent)
void Clear ()
 Empty the cache.
void SetCacheCapacity (double sizeInMiB)
 Set the maximum allowable cache size. This will remove cache entries if the capacity is reduced below the current size.
double GetSpaceLeft ()
 See how much cache space is left.
int ReduceToSize (double newSize)
 Remove cache entries until the size of the cache is at or below the given size.
void Insert (vtkExodusIICacheKey &key, vtkDataArray *value)
 Insert an entry into the cache (this can remove other cache entries to make space).
vtkDataArray *& Find (vtkExodusIICacheKey)
 Determine whether a cache entry exists.
int Invalidate (vtkExodusIICacheKey key)
 Invalidate a cache entry (drop it from the cache) if the key exists.
int Invalidate (vtkExodusIICacheKey key, vtkExodusIICacheKey pattern)
 Invalidate all cache entries matching a specified pattern, dropping all matches from the cache.

Static Public Member Functions

static vtkExodusIICacheNew ()
static int IsTypeOf (const char *type)
static vtkExodusIICacheSafeDownCast (vtkObject *o)

Protected Member Functions

 vtkExodusIICache ()
 Default constructor.
 ~vtkExodusIICache ()
 Destructor.
void RecomputeSize ()
 Avoid (some) FP problems.

Protected Attributes

double Capacity
 The capacity of the cache (i.e., the maximum size of all arrays it contains) in MiB.
double Size
 The current size of the cache (i.e., the size of the all the arrays it currently contains) in MiB.
vtkExodusIICacheSet Cache
 A least-recently-used (LRU) cache to hold arrays.
vtkExodusIICacheLRU LRU
 The actual LRU list (indices into the cache ordered least to most recently used).

Member Typedef Documentation

Reimplemented from vtkObject.

Definition at line 124 of file vtkExodusIICache.h.


Constructor & Destructor Documentation

vtkExodusIICache::vtkExodusIICache (  )  [protected]

Default constructor.

vtkExodusIICache::~vtkExodusIICache (  )  [protected]

Destructor.


Member Function Documentation

static vtkExodusIICache* vtkExodusIICache::New (  )  [static]

Create an object with Debug turned off, modified time initialized to zero, and reference counting on.

Reimplemented from vtkObject.

virtual const char* vtkExodusIICache::GetClassName (  )  [virtual]

Reimplemented from vtkObject.

static int vtkExodusIICache::IsTypeOf ( const char *  name  )  [static]

Return 1 if this class type is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkObject.

virtual int vtkExodusIICache::IsA ( const char *  name  )  [virtual]

Return 1 if this class is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkObject.

static vtkExodusIICache* vtkExodusIICache::SafeDownCast ( vtkObject o  )  [static]

Reimplemented from vtkObject.

void vtkExodusIICache::PrintSelf ( ostream &  os,
vtkIndent  indent 
) [virtual]

Methods invoked by print to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

Reimplemented from vtkObject.

void vtkExodusIICache::Clear (  ) 

Empty the cache.

void vtkExodusIICache::SetCacheCapacity ( double  sizeInMiB  ) 

Set the maximum allowable cache size. This will remove cache entries if the capacity is reduced below the current size.

double vtkExodusIICache::GetSpaceLeft (  )  [inline]

See how much cache space is left.

This is the difference between the capacity and the size of the cache. The result is in MiB.

Definition at line 137 of file vtkExodusIICache.h.

int vtkExodusIICache::ReduceToSize ( double  newSize  ) 

Remove cache entries until the size of the cache is at or below the given size.

Returns a nonzero value if deletions were required.

void vtkExodusIICache::Insert ( vtkExodusIICacheKey key,
vtkDataArray value 
)

Insert an entry into the cache (this can remove other cache entries to make space).

vtkDataArray*& vtkExodusIICache::Find ( vtkExodusIICacheKey   ) 

Determine whether a cache entry exists.

If it does, return it -- otherwise return NULL. If a cache entry exists, it is marked as most recently used.

int vtkExodusIICache::Invalidate ( vtkExodusIICacheKey  key  ) 

Invalidate a cache entry (drop it from the cache) if the key exists.

This does nothing if the cache entry does not exist. Returns 1 if the cache entry existed prior to this call and 0 otherwise.

int vtkExodusIICache::Invalidate ( vtkExodusIICacheKey  key,
vtkExodusIICacheKey  pattern 
)

Invalidate all cache entries matching a specified pattern, dropping all matches from the cache.

Any nonzero entry in the pattern forces a comparison between the corresponding value of key. Any cache entries satisfying all the comparisons will be dropped. If pattern is entirely zero, this will empty the entire cache. This is useful for invalidating all entries of a given object type.

Returns the number of cache entries dropped. It is not an error to specify an empty range -- 0 will be returned if one is given.

void vtkExodusIICache::RecomputeSize (  )  [protected]

Avoid (some) FP problems.


Member Data Documentation

double vtkExodusIICache::Capacity [protected]

The capacity of the cache (i.e., the maximum size of all arrays it contains) in MiB.

Definition at line 184 of file vtkExodusIICache.h.

double vtkExodusIICache::Size [protected]

The current size of the cache (i.e., the size of the all the arrays it currently contains) in MiB.

Definition at line 187 of file vtkExodusIICache.h.

A least-recently-used (LRU) cache to hold arrays.

During RequestData the cache may contain more than its maximum size since the user may request more data than the cache can hold. However, the cache is expunged whenever a new array is loaded. Never count on the cache holding what you request for very long.

Definition at line 196 of file vtkExodusIICache.h.

The actual LRU list (indices into the cache ordered least to most recently used).

Definition at line 199 of file vtkExodusIICache.h.


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

Generated on Mon Sep 27 18:22:58 2010 for VTK by  doxygen 1.5.6