Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef MITKNAVIGATIONDATA_H_HEADER_INCLUDED_
00020 #define MITKNAVIGATIONDATA_H_HEADER_INCLUDED_
00021 #include <itkDataObject.h>
00022 #include <MitkIGTExports.h>
00023 #include <mitkVector.h>
00024
00025 namespace mitk {
00026
00036 class MitkIGT_EXPORT NavigationData : public itk::DataObject
00037 {
00038 public:
00039 mitkClassMacro(NavigationData, itk::DataObject);
00040 itkNewMacro(Self);
00041 typedef mitk::Point3D PositionType;
00042 typedef mitk::Quaternion OrientationType;
00043 typedef itk::Matrix<mitk::ScalarType,6,6> CovarianceMatrixType;
00044 typedef double TimeStampType;
00045
00046
00047 itkSetMacro(Position, PositionType);
00048 itkGetConstMacro(Position, PositionType);
00049 itkSetMacro(Orientation, OrientationType);
00050 itkGetConstMacro(Orientation, OrientationType);
00051 virtual bool IsDataValid() const;
00052 itkSetMacro(DataValid, bool);
00053 itkSetMacro(TimeStamp, TimeStampType);
00054 itkGetConstMacro(TimeStamp, TimeStampType);
00055 itkSetMacro(HasPosition, bool);
00056 itkGetConstMacro(HasPosition, bool);
00057 itkSetMacro(HasOrientation, bool);
00058 itkGetConstMacro(HasOrientation, bool);
00059 itkSetMacro(CovErrorMatrix, CovarianceMatrixType);
00060 itkGetConstMacro(CovErrorMatrix, CovarianceMatrixType);
00061 itkSetStringMacro(Name);
00062 itkGetStringMacro(Name);
00063
00074 virtual void Graft(const DataObject *data);
00075
00081 virtual void CopyInformation(const DataObject* data);
00082
00086 void PrintSelf(std::ostream& os, itk::Indent indent) const;
00087
00092 void SetPositionAccuracy(mitk::ScalarType error);
00093
00098 void SetOrientationAccuracy(mitk::ScalarType error);
00099
00100 protected:
00101 NavigationData();
00102 virtual ~NavigationData();
00103
00104 PositionType m_Position;
00105 OrientationType m_Orientation;
00106
00114 CovarianceMatrixType m_CovErrorMatrix;
00115 bool m_HasPosition;
00116 bool m_HasOrientation;
00117 bool m_DataValid;
00118 TimeStampType m_TimeStamp;
00119 std::string m_Name;
00120 };
00121 }
00122 #endif