00001 /*========================================================================= 00002 00003 Program: ParaView 00004 Module: $RCSfile: vtkPVProbe.h,v $ 00005 00006 Copyright (c) Kitware, Inc. 00007 All rights reserved. 00008 See Copyright.txt or http://www.paraview.org/HTML/Copyright.html for details. 00009 00010 This software is distributed WITHOUT ANY WARRANTY; without even 00011 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00012 PURPOSE. See the above copyright notice for more information. 00013 00014 =========================================================================*/ 00020 #ifndef __vtkPVProbe_h 00021 #define __vtkPVProbe_h 00022 00023 #include "vtkPVSource.h" 00024 00025 class vtkKWCheckButton; 00026 class vtkKWLabel; 00027 class vtkKWFrame; 00028 class vtkKWMenuButton; 00029 class vtkKWWidget; 00030 class vtkSMXYPlotDisplayProxy; 00031 class vtkPVArraySelection; 00032 class vtkKWLoadSaveButton; 00033 class vtkSMProxy; 00034 class vtkTemporalProbeFilterObserver; 00035 00036 class VTK_EXPORT vtkPVProbe : public vtkPVSource 00037 { 00038 public: 00039 static vtkPVProbe* New(); 00040 vtkTypeRevisionMacro(vtkPVProbe, vtkPVSource); 00041 void PrintSelf(ostream& os, vtkIndent indent); 00042 00044 void CreateProperties(); 00045 00047 00048 vtkGetObjectMacro(ShowXYPlotToggle, vtkKWCheckButton); 00050 00052 virtual void SetVisibilityNoTrace(int val); 00053 00055 00057 virtual void SaveInBatchScript(ofstream *file); 00058 virtual void SaveState(ofstream *file); 00060 00062 void ArraySelectionInternalCallback(); 00063 00065 void SaveDialogCallback(); 00066 00068 bool GetSourceTimeNow(double &TimeNow); 00069 00070 protected: 00071 vtkPVProbe(); 00072 ~vtkPVProbe(); 00073 00074 vtkSMXYPlotDisplayProxy* PlotDisplayProxy; 00075 char* PlotDisplayProxyName; // Name used to register the plot display proxy 00076 // with the Proxy Manager. 00077 vtkSetStringMacro(PlotDisplayProxyName); 00078 vtkPVArraySelection *ArraySelection; 00079 00080 // The real AcceptCallback method. 00081 virtual void AcceptCallbackInternal(); 00082 00083 vtkKWLabel *DimensionalityLabel; 00084 vtkKWMenuButton *DimensionalityMenu; 00085 vtkKWFrame *ProbeFrame; 00086 00087 vtkKWFrame *SelectedPointFrame; 00088 vtkKWLabel *SelectedPointLabel; 00089 vtkKWLabel *PointDataLabel; 00090 00091 vtkKWCheckButton *ShowXYPlotToggle; 00092 00093 vtkKWLoadSaveButton *SaveButton; 00094 00095 vtkSMProxy* TemporalProbeProxy; 00096 char* TemporalProbeProxyName; 00097 vtkSetStringMacro(TemporalProbeProxyName); 00098 vtkTemporalProbeFilterObserver *Observer; 00099 virtual void SaveTemporalProbeInBatchScript(ofstream *file); 00100 00101 private: 00102 vtkPVProbe(const vtkPVProbe&); // Not implemented 00103 void operator=(const vtkPVProbe&); // Not implemented 00104 }; 00105 00106 #endif