00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkArraySort.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 __vtkArraySort_h 00043 #define __vtkArraySort_h 00044 00045 #include "vtkSystemIncludes.h" 00046 #include "vtkArrayCoordinates.h" 00047 #include <vector> 00048 00049 class VTK_COMMON_EXPORT vtkArraySort 00050 { 00051 public: 00052 typedef vtkArrayCoordinates::DimensionT DimensionT; 00053 00056 vtkArraySort(); 00057 00059 explicit vtkArraySort(DimensionT i); 00060 00062 vtkArraySort(DimensionT i, DimensionT j); 00063 00065 vtkArraySort(DimensionT i, DimensionT j, DimensionT k); 00066 00068 DimensionT GetDimensions() const; 00069 00073 void SetDimensions(DimensionT dimensions); 00074 00076 DimensionT& operator[](DimensionT i); 00077 00079 const DimensionT& operator[](DimensionT i) const; 00080 00081 00083 bool operator==(const vtkArraySort& rhs) const; 00084 00086 bool operator!=(const vtkArraySort& rhs) const; 00087 00089 00090 VTK_COMMON_EXPORT friend ostream& operator<<( 00091 ostream& stream, const vtkArraySort& rhs); 00093 00094 private: 00095 //BTX 00096 std::vector<DimensionT> Storage; 00097 //ETX 00098 }; 00099 00100 #endif 00101