1 /*=========================================================================
2 
3   Program:   Visualization Toolkit
4   Module:    vtkCompositeDataIterator.cxx
5 
6   Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7   All rights reserved.
8   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10      This software is distributed WITHOUT ANY WARRANTY; without even
11      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12      PURPOSE.  See the above copyright notice for more information.
13 
14 =========================================================================*/
15 #include "vtkCompositeDataIterator.h"
16 #include "vtkCompositeDataSet.h"
17 #include "vtkObjectFactory.h"
18 
19 //------------------------------------------------------------------------------
vtkCompositeDataIterator()20 vtkCompositeDataIterator::vtkCompositeDataIterator()
21 {
22   this->Reverse = 0;
23   this->SkipEmptyNodes = 1;
24   this->DataSet = nullptr;
25 }
26 
27 //------------------------------------------------------------------------------
~vtkCompositeDataIterator()28 vtkCompositeDataIterator::~vtkCompositeDataIterator()
29 {
30   this->SetDataSet(nullptr);
31 }
32 
33 //------------------------------------------------------------------------------
SetDataSet(vtkCompositeDataSet * ds)34 void vtkCompositeDataIterator::SetDataSet(vtkCompositeDataSet* ds)
35 {
36   vtkSetObjectBodyMacro(DataSet, vtkCompositeDataSet, ds);
37   if (ds)
38   {
39     this->GoToFirstItem();
40   }
41 }
42 
43 //------------------------------------------------------------------------------
InitTraversal()44 void vtkCompositeDataIterator::InitTraversal()
45 {
46   this->SetReverse(0);
47   this->GoToFirstItem();
48 }
49 
50 //------------------------------------------------------------------------------
InitReverseTraversal()51 void vtkCompositeDataIterator::InitReverseTraversal()
52 {
53   this->SetReverse(1);
54   this->GoToFirstItem();
55 }
56 
57 //------------------------------------------------------------------------------
PrintSelf(ostream & os,vtkIndent indent)58 void vtkCompositeDataIterator::PrintSelf(ostream& os, vtkIndent indent)
59 {
60   this->Superclass::PrintSelf(os, indent);
61   os << indent << "Reverse: " << (this->Reverse ? "On" : "Off") << endl;
62   os << indent << "SkipEmptyNodes: " << (this->SkipEmptyNodes ? "On" : "Off") << endl;
63 }
64