4 #ifndef vtkDataObjectMeshCache_h
5 #define vtkDataObjectMeshCache_h
7 #include "vtkCommonCacheModule.h"
10 #include "vtkSetGet.h"
17 VTK_ABI_NAMESPACE_BEGIN
91 bool OriginalDataDefined =
false;
95 bool ConsumerDefined =
false;
100 bool CacheDefined =
false;
104 bool OriginalMeshUnmodified =
false;
108 bool ConsumerUnmodified =
false;
112 bool AttributesIdsExists =
true;
119 return this->OriginalDataDefined && this->ConsumerDefined && this->CacheDefined &&
120 this->ConsumerUnmodified && this->OriginalMeshUnmodified && this->AttributesIdsExists;
146 void PrintSelf(ostream& os,
vtkIndent indent);
188 void RemoveOriginalIds(
int attribute);
194 void ClearOriginalIds();
202 void ForwardAttribute(
int attribute);
210 void AddPreservedInputAttributes(
int);
212 void ClearPreservedInputAttributes();
213 void PreservedInputAllAttributes();
214 std::set<int> GetPreservedInputAttributes();
227 static void CreateTemporaryOriginalIdsArrays(
vtkDataObject*
object);
233 static void CleanupTemporaryOriginalIds(
vtkDataObject*
object);
252 static std::map<unsigned int, vtkMTimeType> GetDataObjectMeshMTimes(
vtkDataObject*
object);
259 Status GetStatus()
const;
276 void AddPreservedCachedArray(
const std::string& arrayName);
277 void ClearPreservedCachedArray();
278 std::set<std::string> GetPreservedCachedArrays();
291 void InvalidateCache();
330 std::set<vtkMTimeType> GetOriginalMeshTimes()
const;
346 bool CacheHasRequestedIds()
const;
357 bool HasConsumerNoInputPort()
const;
372 std::map<int, std::string> OriginalIdsName;
373 std::set<int> PreservedInputAttributes;
374 std::set<std::string> PreservedCachedArrays;
383 std::map<unsigned int, vtkMTimeType> CachedOriginalLeavesTime;
387 VTK_ABI_NAMESPACE_END
bool ConsumerUnmodified
True if Consumer was not modified since last cache update.
abstract base class for most VTK objects
bool OriginalMeshUnmodified
True if OriginalDataSet mesh was not modified since last cache update.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkTypeUInt32 vtkMTimeType
abstract class to specify dataset behavior
Structure to handle the current cache status.
bool enabled()
Return true if the cache can safely and meaningfully be used.
Superclass for all sources, filters, and sinks in VTK.
abstract superclass for composite (multi-block or AMR) datasets
a simple class to control print indentation
bool CacheDefined
True if Cache with initialized.
bool operator==(const Status &other) const
Return true if and only if every members are equals.
vtkDataObjectMeshCache is a class to store and reuse the mesh of a vtkDataSet, while forwarding data ...
bool operator!=(const Status &other) const
Return true if both object are not equals.
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
bool OriginalDataDefined
True if OriginalDataObject is set.
general representation of visualization data
bool ConsumerDefined
True if Consumer is set.
bool AttributesIdsExists
True if attributes ids exists.