00001 /* 00002 * 00003 * Program: Slicer Image-Guided Navigator (The SIGN) 00004 * Module: $RCSfile: SignElementCalibrateTool.h,v $ 00005 */ 00013 #ifndef _SIGNELEMENTCALIBRATETOOL_H 00014 #define _SIGNELEMENTCALIBRATETOOL_H 00015 00016 #include <map> 00017 00018 #include <SignDLL.h> 00019 #include <SignElement.h> 00020 00021 class SignPivotCalibration; 00022 00023 class SIGN_EXPORT SignElementCalibrateTool : public SignElement 00024 { 00025 public: 00026 vtkTypeRevisionMacro(SignElementCalibrateTool,SignElement); 00027 virtual void PrintSelf(ostream& os, vtkIndent indent); 00028 00029 static SignElementCalibrateTool* New(); 00030 00032 bool ActivateElement(); 00034 bool DeActivateElement(); 00036 void SetNumberOfCalibrationPoints(int); 00038 void SetPopUpMessageOnOff(bool); 00040 void SetCalibrationSink(std::string name); 00041 00042 protected: 00043 SignElementCalibrateTool(); 00044 ~SignElementCalibrateTool(); 00045 00046 SignElementCalibrateTool(const SignElementCalibrateTool&); // Not implemented. 00047 void operator=(const SignElementCalibrateTool&); // Not implemented. 00048 00049 private: 00050 void StartCalibration(); 00051 00052 static void AcquireTrackingData(vtkObject *caller,unsigned long event, void* data,void*calldata); 00053 void CalculateCalibration(); 00054 00055 SignPivotCalibration *calibrator; 00056 int samples_acquired; 00057 unsigned long toid; 00058 int number_of_points; 00059 bool displayPopup; 00060 std::string calibrationSink; 00061 }; 00062 #endif
1.4.6