20 m_TrackingError(0.0f),
48 Superclass::PrintSelf(os, indent);
49 os << indent <<
"ToolName: " << m_ToolName << std::endl;
50 os << indent <<
"ErrorMesage: " << m_ErrorMessage << std::endl;
51 os << indent <<
"Position: " << m_Position << std::endl;
52 os << indent <<
"Orientation: " << m_Orientation << std::endl;
53 os << indent <<
"TrackingError: " << m_TrackingError << std::endl;
54 os << indent <<
"Enabled: " << m_Enabled << std::endl;
55 os << indent <<
"DataValid: " << m_DataValid << std::endl;
56 os << indent <<
"ToolTip: " << m_ToolTipPosition << std::endl;
57 os << indent <<
"ToolTipRotation: " << m_ToolAxisOrientation << std::endl;
58 os << indent <<
"ToolTipSet: " << m_ToolTipSet << std::endl;
63 std::lock_guard<std::mutex> lock(m_MyMutex);
64 return this->m_ToolName.c_str();
69 itkDebugMacro(
"setting m_ToolName to " << _arg);
70 std::lock_guard<std::mutex> lock(m_MyMutex);
71 if ( _arg && (_arg == this->m_ToolName) )
77 this->m_ToolName= _arg;
89 this->SetToolName(_arg.c_str());
94 std::lock_guard<std::mutex> lock(m_MyMutex);
95 return m_ToolTipPosition;
100 std::lock_guard<std::mutex> lock(m_MyMutex);
101 return m_ToolAxisOrientation;
105 mitk::Quaternion orientation,
106 mitk::ScalarType eps)
108 if ( !
Equal(m_ToolTipPosition, toolTipPosition, eps) ||
109 !
Equal(m_ToolAxisOrientation, orientation, eps) )
111 if( (toolTipPosition[0] == 0) &&
112 (toolTipPosition[1] == 0) &&
113 (toolTipPosition[2] == 0) &&
114 (orientation.x() == 0) &&
115 (orientation.y() == 0) &&
116 (orientation.z() == 0) &&
117 (orientation.r() == 1))
119 m_ToolTipSet =
false;
125 m_ToolTipPosition = toolTipPosition;
126 m_ToolAxisOrientation = orientation;
133 std::lock_guard<std::mutex> lock(m_MyMutex);
139 std::lock_guard<std::mutex> lock(m_MyMutex);
146 vnl_vector<mitk::ScalarType> pos_vnl = m_Position.GetVnlVector() + m_Orientation.rotate( m_ToolTipPosition.GetVnlVector() ) ;
148 position[0] = pos_vnl[0];
149 position[1] = pos_vnl[1];
150 position[2] = pos_vnl[2];
154 position[0] = m_Position[0];
155 position[1] = m_Position[1];
156 position[2] = m_Position[2];
163 itkDebugMacro(
"setting m_Position to " << position);
165 std::lock_guard<std::mutex> lock(m_MyMutex);
166 if (m_Position != position)
168 m_Position = position;
175 std::lock_guard<std::mutex> lock(m_MyMutex);
183 orientation = m_Orientation * m_ToolAxisOrientation;
187 orientation = m_Orientation;
193 itkDebugMacro(
"setting m_Orientation to " << orientation);
195 std::lock_guard<std::mutex> lock(m_MyMutex);
196 if (m_Orientation != orientation)
198 m_Orientation = orientation;
205 std::lock_guard<std::mutex> lock(m_MyMutex);
206 if (m_Enabled ==
false)
208 this->m_Enabled =
true;
216 std::lock_guard<std::mutex> lock(m_MyMutex);
217 if (m_Enabled ==
true)
219 this->m_Enabled =
false;
227 std::lock_guard<std::mutex> lock(m_MyMutex);
233 itkDebugMacro(
"setting m_DataValid to " << isDataValid);
234 if (this->m_DataValid != isDataValid)
236 std::lock_guard<std::mutex> lock(m_MyMutex);
237 this->m_DataValid = isDataValid;
244 std::lock_guard<std::mutex> lock(m_MyMutex);
250 std::lock_guard<std::mutex> lock(m_MyMutex);
251 return m_TrackingError;
256 itkDebugMacro(
"setting m_TrackingError to " << error);
257 std::lock_guard<std::mutex> lock(m_MyMutex);
258 if (m_TrackingError != error)
260 m_TrackingError = error;
267 std::lock_guard<std::mutex> lock(m_MyMutex);
268 return this->m_ErrorMessage.c_str();
273 itkDebugMacro(
"setting m_ErrorMessage to " << _arg);
274 std::lock_guard<std::mutex> lock(m_MyMutex);
275 if ((_arg ==
nullptr) || (_arg == this->m_ErrorMessage))
279 this->m_ErrorMessage = _arg;
281 this->m_ErrorMessage =
"";
MITKIGTBASE_EXPORT bool Equal(const mitk::NavigationData &leftHandSide, const mitk::NavigationData &rightHandSide, ScalarType eps=mitk::eps, bool verbose=false)
Equal A function comparing two navigation data objects for beeing equal in meta- and imagedata.