21 namespace visualization {
25 struct MaterialRecord;
26 class MatrixInteractorLogic;
27 class CloudViewerScene;
32 class SelectionIndexLookup;
46 const std::vector<SceneWidget::PickableGeometry>& geometry);
58 std::vector<std::pair<size_t, Eigen::Vector3d>>>&,
65 std::function<
void(
const std::vector<Eigen::Vector2i>&)>);
87 const std::map<std::string,
88 std::vector<std::pair<size_t, Eigen::Vector3d>>>&,
91 std::function<void(
const std::vector<Eigen::Vector2i>&)> on_ui_changed_;
92 std::function<void()> on_started_poly_pick_;
95 std::shared_ptr<rendering::CloudViewerScene> picking_scene_;
96 std::vector<Eigen::Vector3d> points_;
100 std::shared_ptr<geometry::Image> pick_image_;
103 std::vector<gui::Point>
polygon;
106 std::queue<PickInfo> pending_;
boost::geometry::model::polygon< point_xy > polygon
void SetOnUIChanged(std::function< void(const std::vector< Eigen::Vector2i > &)>)
void SetOnStartedPolygonPicking(std::function< void()> on_poly_pick)
Calls the provided function when polygon picking is initiated.
void Mouse(const MouseEvent &e) override
void SetPickableGeometry(const std::vector< SceneWidget::PickableGeometry > &geometry)
rendering::MaterialRecord MakeMaterial()
virtual ~PickPointsInteractor()
rendering::MatrixInteractorLogic & GetMatrixInteractor() override
void Key(const KeyEvent &e) override
PickPointsInteractor(rendering::CloudViewerScene *scene, rendering::Camera *camera)
void OnPickImageDone(std::shared_ptr< geometry::Image > img)
void SetPointSize(int px)
void SetOnPointsPicked(std::function< void(const std::map< std::string, std::vector< std::pair< size_t, Eigen::Vector3d >>> &, int)> f)
Generic file read and write utility for python interface.