MCPcopy Create free account
hub / github.com/PointCloudLibrary/pcl / resetCameraViewpoint

Method resetCameraViewpoint

visualization/src/pcl_visualizer.cpp:2178–2214  ·  view source on GitHub ↗

////////////////////////////////////////////////////////////////////////////////////////

Source from the content-addressed store, hash-verified

2176
2177/////////////////////////////////////////////////////////////////////////////////////////////
2178void
2179pcl::visualization::PCLVisualizer::resetCameraViewpoint (const std::string &id)
2180{
2181 vtkSmartPointer<vtkMatrix4x4> camera_pose;
2182 const auto it = cloud_actor_map_->find(id);
2183 if (it != cloud_actor_map_->end ())
2184 camera_pose = it->second.viewpoint_transformation_;
2185 else
2186 return;
2187
2188 // Prevent a segfault
2189 if (!camera_pose)
2190 return;
2191
2192 // set all renderer to this viewpoint
2193 rens_->InitTraversal ();
2194 vtkRenderer* renderer = nullptr;
2195 while ((renderer = rens_->GetNextItem ()))
2196 {
2197 vtkSmartPointer<vtkCamera> cam = renderer->GetActiveCamera ();
2198 cam->SetPosition (camera_pose->GetElement (0, 3),
2199 camera_pose->GetElement (1, 3),
2200 camera_pose->GetElement (2, 3));
2201
2202 cam->SetFocalPoint (camera_pose->GetElement (0, 3) - camera_pose->GetElement (0, 2),
2203 camera_pose->GetElement (1, 3) - camera_pose->GetElement (1, 2),
2204 camera_pose->GetElement (2, 3) - camera_pose->GetElement (2, 2));
2205
2206 cam->SetViewUp (camera_pose->GetElement (0, 1),
2207 camera_pose->GetElement (1, 1),
2208 camera_pose->GetElement (2, 1));
2209
2210 renderer->SetActiveCamera (cam);
2211 renderer->ResetCameraClippingRange ();
2212 }
2213 win_->Render ();
2214}
2215
2216//////////////////////////////////////////////////////////////////////////////////////////////
2217bool

Callers 15

runMethod · 0.80
OctreeViewerMethod · 0.80
runMethod · 0.80
mainFunction · 0.80
mainFunction · 0.80
popMethod · 0.80
timeoutSlotMethod · 0.80
viz_cbMethod · 0.80
runMethod · 0.80
timeoutSlotMethod · 0.80
runMethod · 0.80
initCloudViewerMethod · 0.80

Calls 2

findMethod · 0.45
endMethod · 0.45

Tested by

no test coverage detected