VTK
dox/Common/DataModel/vtkArrayData.h
Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    vtkArrayData.h
00005 
00006 -------------------------------------------------------------------------
00007   Copyright 2008 Sandia Corporation.
00008   Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
00009   the U.S. Government retains certain rights in this software.
00010 -------------------------------------------------------------------------
00011 
00012   Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
00013   All rights reserved.
00014   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
00015 
00016      This software is distributed WITHOUT ANY WARRANTY; without even
00017      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00018      PURPOSE.  See the above copyright notice for more information.
00019 
00020 =========================================================================*/
00021 
00042 #ifndef __vtkArrayData_h
00043 #define __vtkArrayData_h
00044 
00045 #include "vtkCommonDataModelModule.h" // For export macro
00046 #include "vtkArray.h"
00047 #include "vtkDataObject.h"
00048 
00049 class vtkArray;
00050 
00051 class VTKCOMMONDATAMODEL_EXPORT vtkArrayData : public vtkDataObject
00052 {
00053 public:
00054   static vtkArrayData* New();
00055   vtkTypeMacro(vtkArrayData, vtkDataObject);
00056   void PrintSelf(ostream &os, vtkIndent indent);
00057 
00058   static vtkArrayData* GetData(vtkInformation* info);
00059   static vtkArrayData* GetData(vtkInformationVector* v, int i = 0);
00060 
00062   void AddArray(vtkArray*);
00063 
00065   void ClearArrays();
00066 
00068   vtkIdType GetNumberOfArrays();
00069 
00071   vtkArray* GetArray(vtkIdType index);
00072 
00074   vtkArray* GetArrayByName(const char *name);
00075 
00077   virtual int GetDataObjectType() {return VTK_ARRAY_DATA;}
00078 
00079   virtual void ShallowCopy(vtkDataObject* other);
00080   virtual void DeepCopy(vtkDataObject* other);
00081 
00082 protected:
00083   vtkArrayData();
00084   ~vtkArrayData();
00085 
00086 private:
00087   vtkArrayData(const vtkArrayData&); // Not implemented
00088   void operator=(const vtkArrayData&); // Not implemented
00089 
00090 //BTX
00091   class implementation;
00092   implementation* const Implementation;
00093 //ETX
00094 };
00095 
00096 #endif
00097 
00098 // VTK-HeaderTest-Exclude: vtkArrayData.h