You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
117 lines
3.3 KiB
117 lines
3.3 KiB
/*=========================================================================
|
|
|
|
Program: Visualization Toolkit
|
|
Module: $RCSfile: vtkCollectionIterator.cxx,v $
|
|
|
|
Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
|
|
All rights reserved.
|
|
See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
|
|
|
|
This software is distributed WITHOUT ANY WARRANTY; without even
|
|
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
PURPOSE. See the above copyright notice for more information.
|
|
|
|
=========================================================================*/
|
|
#include "vtkCollectionIterator.h"
|
|
#include "vtkObjectFactory.h"
|
|
#include "vtkCollection.h"
|
|
|
|
vtkCxxRevisionMacro(vtkCollectionIterator, "$Revision: 1.4.12.1 $");
|
|
vtkStandardNewMacro(vtkCollectionIterator);
|
|
|
|
//----------------------------------------------------------------------------
|
|
vtkCollectionIterator::vtkCollectionIterator()
|
|
{
|
|
this->Element = 0;
|
|
this->Collection = 0;
|
|
}
|
|
|
|
//----------------------------------------------------------------------------
|
|
vtkCollectionIterator::~vtkCollectionIterator()
|
|
{
|
|
this->SetCollection(0);
|
|
}
|
|
|
|
//----------------------------------------------------------------------------
|
|
void vtkCollectionIterator::PrintSelf(ostream& os, vtkIndent indent)
|
|
{
|
|
this->Superclass::PrintSelf(os,indent);
|
|
if(this->Collection)
|
|
{
|
|
os << indent << "Collection: " << this->Collection << "\n";
|
|
}
|
|
else
|
|
{
|
|
os << indent << "Collection: (none)\n";
|
|
}
|
|
}
|
|
|
|
//----------------------------------------------------------------------------
|
|
void vtkCollectionIterator::SetCollection(vtkCollection* collection)
|
|
{
|
|
vtkSetObjectBodyMacro(Collection, vtkCollection, collection);
|
|
this->GoToFirstItem();
|
|
}
|
|
|
|
//----------------------------------------------------------------------------
|
|
void vtkCollectionIterator::GoToFirstItem()
|
|
{
|
|
if(this->Collection)
|
|
{
|
|
this->Element = this->Collection->Top;
|
|
}
|
|
else
|
|
{
|
|
this->Element = 0;
|
|
}
|
|
}
|
|
|
|
//----------------------------------------------------------------------------
|
|
void vtkCollectionIterator::GoToNextItem()
|
|
{
|
|
if(this->Element)
|
|
{
|
|
this->Element = this->Element->Next;
|
|
}
|
|
}
|
|
|
|
//----------------------------------------------------------------------------
|
|
int vtkCollectionIterator::IsDoneWithTraversal()
|
|
{
|
|
return (this->Element? 0:1);
|
|
}
|
|
|
|
//----------------------------------------------------------------------------
|
|
vtkObject* vtkCollectionIterator::GetCurrentObject()
|
|
{
|
|
if(this->Element)
|
|
{
|
|
return this->Element->Item;
|
|
}
|
|
return 0;
|
|
}
|
|
|
|
//----------------------------------------------------------------------------
|
|
#ifndef VTK_LEGACY_REMOVE
|
|
# ifdef VTK_WORKAROUND_WINDOWS_MANGLE
|
|
# undef GetObject
|
|
vtkObject* vtkCollectionIterator::GetObjectA()
|
|
{
|
|
VTK_LEGACY_REPLACED_BODY(vtkCollectionIterator::GetObject, "VTK 5.0",
|
|
vtkCollectionIterator::GetCurrentObject);
|
|
return this->GetCurrentObject();
|
|
}
|
|
vtkObject* vtkCollectionIterator::GetObjectW()
|
|
{
|
|
VTK_LEGACY_REPLACED_BODY(vtkCollectionIterator::GetObject, "VTK 5.0",
|
|
vtkCollectionIterator::GetCurrentObject);
|
|
return this->GetCurrentObject();
|
|
}
|
|
# endif
|
|
vtkObject* vtkCollectionIterator::GetObject()
|
|
{
|
|
VTK_LEGACY_REPLACED_BODY(vtkCollectionIterator::GetObject, "VTK 5.0",
|
|
vtkCollectionIterator::GetCurrentObject);
|
|
return this->GetCurrentObject();
|
|
}
|
|
#endif
|
|
|