4#ifndef vtkCompositeDataSetNodeReference_h
5#define vtkCompositeDataSetNodeReference_h
18VTK_ABI_NAMESPACE_BEGIN
40 :
MTime{ o->GetMTime() }
69template <
class ObjectType>
72template <
class ObjectType>
79VTK_ABI_NAMESPACE_BEGIN
135template <
typename IteratorType,
140 static_assert(std::is_base_of<vtkCompositeDataIterator, IteratorType>::value,
141 "CompositeDataSetNodeReference's IteratorType must be a "
142 "subclass of vtkCompositeDataIterator.");
149 void AssertValid()
const
154 "Invalid CompositeDataNodeReference accessed (iterator freed)." && this->Iterator !=
nullptr);
156 assert(
"Invalid CompositeDataNodeReference accessed (iterator modified)." &&
162 :
detail::DebugMTimeWatcher(iterator)
206 return this->Iterator->GetDataSet()->GetDataSet(this->Iterator);
243 return this->Iterator->GetCurrentFlatIndex();
249 return this->Iterator->HasCurrentMetaData() != 0;
255 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