16#ifndef vtkCompositeDataSetNodeReference_h
17#define vtkCompositeDataSetNodeReference_h
54 :
MTime{ o->GetMTime() }
83template <
class ObjectType>
86template <
class ObjectType>
146template <
typename IteratorType,
151 static_assert(std::is_base_of<vtkCompositeDataIterator, IteratorType>::value,
152 "CompositeDataSetNodeReference's IteratorType must be a "
153 "subclass of vtkCompositeDataIterator.");
160 void AssertValid()
const
165 "Invalid CompositeDataNodeReference accessed (iterator freed)." && this->Iterator !=
nullptr);
167 assert(
"Invalid CompositeDataNodeReference accessed (iterator modified)." &&
173 :
detail::DebugMTimeWatcher(iterator)
217 return this->Iterator->GetDataSet()->GetDataSet(this->Iterator);
254 return this->Iterator->GetCurrentFlatIndex();
260 return this->Iterator->HasCurrentMetaData() != 0;
266 return this->Iterator->GetCurrentMetaData();
abstract superclass for composite (multi-block or AMR) datasets
virtual void SetDataSet(vtkCompositeDataIterator *iter, vtkDataObject *dataObj)=0
Sets the data set at the location pointed by the iterator.
virtual vtkDataObject * GetDataSet(vtkCompositeDataIterator *iter)=0
Returns the dataset located at the positiong pointed by the iterator.
general representation of visualization data
abstract base class for most VTK objects
virtual vtkMTimeType GetMTime()
Return this object's modified time.
a weak reference to a vtkObject.
A reference proxy into a vtkCompositeDataSet, obtained by dereferencing an iterator from the vtk::Ran...
friend bool operator!=(const CompositeDataSetNodeReference &lhs, const CompositeDataSetNodeReference &rhs)
vtkInformation * GetMetaData() const
vtkDataObject * GetDataObject(vtkCompositeDataSet *other)
void SetDataObject(vtkCompositeDataSet *other, vtkDataObject *dObj)
void SetDataObject(vtkDataObject *obj)
vtkDataObject * GetDataObject() const
vtkDataObject * operator->() const
CompositeDataSetNodeReference()=delete
CompositeDataSetNodeReference & operator=(vtkDataObject *obj)
friend bool operator==(const CompositeDataSetNodeReference &lhs, const CompositeDataSetNodeReference &rhs)
CompositeDataSetNodeReference(const CompositeDataSetNodeReference &src)=default
CompositeDataSetNodeReference(IteratorType *iterator)
unsigned int GetFlatIndex() const
CompositeDataSetNodeReference(CompositeDataSetNodeReference &&) noexcept=default
Specialization of tuple ranges and iterators for vtkAOSDataArrayTemplate.
MTimeWatcher(vtkObject *o)
bool MTimeIsValid(vtkObject *o) const
bool operator()(vtkObject *o) const
bool MTimeIsValid(vtkObject *) const
NoOpMTimeWatcher(vtkObject *)
bool operator()(vtkObject *) const
NoOpMTimeWatcher()=default
vtkTypeUInt32 vtkMTimeType