56 this->moveManualToolToPosition(p_r);
58 if (viewType.testFlag(
v2D))
61 mBackend->patientModelService->setCenter(p_r);
64 if (viewType.testFlag(
v3D))
67 mCamera3D->translateByFocusTo(p_r);
78 Vector3D p_r = image->get_rMd().coord(image->boundingBox().center());
91 Vector3D p_r = findViewCenter(images);
92 std::cout <<
"center ToView: " << images.size() <<
" - " << p_r << std::endl;
105 if (mBackend->patientModelService->getData().empty())
108 Vector3D p_r = this->findGlobalDataCenter();
121 ToolPtr tool = mBackend->trackingService->getActiveTool();
122 Vector3D p_pr = tool->get_prMt().coord(
Vector3D(0, 0, tool->getTooltipOffset()));
123 Vector3D p_r = mBackend->patientModelService->get_rMpr().coord(p_pr);
133 Vector3D Navigation::findViewCenter(
const std::vector<DataPtr>& images)
135 return this->findDataCenter(images);
141 Vector3D Navigation::findGlobalDataCenter()
143 std::map<QString,DataPtr> images = mBackend->patientModelService->getData();
147 std::map<QString,DataPtr>::iterator iter;
148 std::vector<DataPtr> dataVector;
150 for (iter = images.begin(); iter != images.end(); ++iter)
152 dataVector.push_back(iter->second);
155 return findDataCenter(dataVector);
161 Vector3D Navigation::findDataCenter(std::vector<DataPtr> data)
164 return bb_sigma.center();
167 void Navigation::moveManualToolToPosition(
Vector3D& p_r)
170 ToolPtr manual = mBackend->trackingService->getManualTool();
171 Vector3D p_pr = mBackend->patientModelService->get_rMpr().inv().coord(p_r);
177 manual->set_prMt(prM1t);
Transform3D Transform3D
Transform3D is a representation of an affine 3D transform.
void centerToView(const std::vector< DataPtr > &images)
DoubleBoundingBox3D findEnclosingBoundingBox(std::vector< DataPtr > data, Transform3D qMr)
bool similar(const DoubleBoundingBox3D &a, const DoubleBoundingBox3D &b, double tol)
boost::shared_ptr< class Data > DataPtr
Transform3D createTransformTranslate(const Vector3D &translation)
Eigen::Vector3d Vector3D
Vector3D is a representation of a point or vector in 3D.
boost::shared_ptr< class CameraControl > CameraControlPtr
void centerToPosition(Vector3D p_r, QFlags< VIEW_TYPE > viewType=vBOTH)
boost::shared_ptr< class CoreServices > CoreServicesPtr
void centerToData(DataPtr image)
Navigation(CoreServicesPtr backend, CameraControlPtr camera3D=CameraControlPtr())
void centerToGlobalDataCenter()
boost::shared_ptr< class Tool > ToolPtr