00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00023 #ifndef __vtkTemporalSnapToTimeStep_h
00024 #define __vtkTemporalSnapToTimeStep_h
00025
00026 #include "vtkTemporalDataSetAlgorithm.h"
00027
00028
00029 #include <vtkstd/vector>
00030
00031
00032 class VTK_HYBRID_EXPORT vtkTemporalSnapToTimeStep : public vtkTemporalDataSetAlgorithm
00033 {
00034 public:
00035 static vtkTemporalSnapToTimeStep *New();
00036 vtkTypeRevisionMacro(vtkTemporalSnapToTimeStep, vtkTemporalDataSetAlgorithm);
00037 void PrintSelf(ostream& os, vtkIndent indent);
00038
00039
00040 enum {
00041 VTK_SNAP_NEAREST=0,
00042 VTK_SNAP_NEXTBELOW_OR_EQUAL,
00043 VTK_SNAP_NEXTABOVE_OR_EQUAL
00044 };
00045
00046 vtkSetMacro(SnapMode,int);
00047 vtkGetMacro(SnapMode,int);
00048 void SetSnapModeToNearest() { this->SetSnapMode(VTK_SNAP_NEAREST); }
00049 void SetSnapModeToNextBelowOrEqual() { this->SetSnapMode(VTK_SNAP_NEXTBELOW_OR_EQUAL); }
00050 void SetSnapModeToNextAboveOrEqual() { this->SetSnapMode(VTK_SNAP_NEXTABOVE_OR_EQUAL); }
00051
00052 protected:
00053 vtkTemporalSnapToTimeStep();
00054 ~vtkTemporalSnapToTimeStep();
00055
00056 virtual int RequestUpdateExtent (vtkInformation *,
00057 vtkInformationVector **,
00058 vtkInformationVector *);
00059 virtual int RequestInformation (vtkInformation *,
00060 vtkInformationVector **,
00061 vtkInformationVector *);
00062
00063 virtual int RequestData(vtkInformation *,
00064 vtkInformationVector **,
00065 vtkInformationVector *);
00066
00067
00068 vtkstd::vector<double> InputTimeValues;
00069 int HasDiscrete;
00070 int SnapMode;
00071
00072
00073 private:
00074 vtkTemporalSnapToTimeStep(const vtkTemporalSnapToTimeStep&);
00075 void operator=(const vtkTemporalSnapToTimeStep&);
00076 };
00077
00078
00079
00080 #endif
00081
00082
00083