Carna Registration API Version 1.16.0
|
00001 /* 00002 * Copyright (C) 2010 - 2013 Leonid Kostrykin 00003 * 00004 * Chair of Medical Engineering (mediTEC) 00005 * RWTH Aachen University 00006 * Pauwelsstr. 20 00007 * 52074 Aachen 00008 * Germany 00009 * 00010 */ 00011 00012 #ifndef TOOL_H_2521354512 00013 #define TOOL_H_2521354512 00014 00015 #include "cra_global.h" 00016 #include "Transformation.h" 00017 #include <string> 00018 #include <QObject> 00019 00020 namespace CRA 00021 { 00022 00023 00024 00025 // ---------------------------------------------------------------------------------- 00026 // Tool 00027 // ---------------------------------------------------------------------------------- 00028 00036 class CRA_EXPORT Tool : public QObject 00037 { 00038 00039 Q_OBJECT 00040 00041 public: 00042 00045 Tool( const std::string& name ); 00046 00047 00050 const std::string& getName() const; 00051 00059 const Vector& getOffset() const; 00060 00061 00066 virtual const Transformation& getOrientation() const = 0; 00067 00070 virtual void computeRelativeOrientation( const Tool& reference 00071 , Transformation& out ) const; 00072 00073 00076 virtual bool isVisible() const = 0; 00077 00078 00079 public slots: 00080 00083 void setName( const std::string& name ); 00084 00089 void setName( const QString& name ); 00090 00098 void setOffset( const Vector& offset ); 00099 00100 00101 private: 00102 00103 std::string name; 00104 00105 Vector offset; 00106 00107 00108 signals: 00109 00112 void renamed(); 00113 00116 void renamed( const std::string& newName ); 00117 00122 void renamed( const QString& newName ); 00123 00129 void offsetChanged(); 00130 00136 void offsetChanged( const Vector& offset ); 00137 00138 }; // Tool 00139 00140 00141 00142 } // namespace CRA 00143 00144 #endif // TOOL_H_2521354512
Documentation generated by Doxygen