16#ifndef vtkCompositeDataSetNodeReference_h
17#define vtkCompositeDataSetNodeReference_h
52 :
MTime{ o->GetMTime() }
81template <
class ObjectType>
84template <
class ObjectType>
144template <
typename IteratorType,
149 static_assert(std::is_base_of<vtkCompositeDataIterator, IteratorType>::value,
150 "CompositeDataSetNodeReference's IteratorType must be a "
151 "subclass of vtkCompositeDataIterator.");
158 void AssertValid()
const
163 "Invalid CompositeDataNodeReference accessed (iterator freed)." && this->Iterator !=
nullptr);
165 assert(
"Invalid CompositeDataNodeReference accessed (iterator modified)." &&
171 :
detail::DebugMTimeWatcher(iterator)
215 return this->Iterator->GetDataSet()->GetDataSet(this->Iterator);
252 return this->Iterator->GetCurrentFlatIndex();
258 return this->Iterator->HasCurrentMetaData() != 0;
264 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 position 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