ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
ccViewportObject.cpp
Go to the documentation of this file.
1 // ----------------------------------------------------------------------------
2 // - CloudViewer: www.cloudViewer.org -
3 // ----------------------------------------------------------------------------
4 // Copyright (c) 2018-2024 www.cloudViewer.org
5 // SPDX-License-Identifier: MIT
6 // ----------------------------------------------------------------------------
7 
8 #include <pybind11/pybind11.h>
9 #include <pybind11/stl.h>
10 #include <pybind11/stl_bind.h>
11 
12 #include <ecv2DViewportLabel.h>
13 #include <ecv2DViewportObject.h>
14 
15 #include "../casters.h"
16 
17 namespace py = pybind11;
18 using namespace pybind11::literals;
19 
20 void define_ccViewportObject(py::module &m)
21 {
22  py::class_<cc2DViewportObject, ccHObject>(m, "cc2DViewportObject")
23  .def(py::init<QString>(), "name"_a = QString())
24  .def("setParameters", &cc2DViewportObject::setParameters, "params"_a)
25  .def("getParameters", &cc2DViewportObject::getParameters);
26 
27  py::class_<cc2DViewportLabel, cc2DViewportObject>(m, "cc2DViewportLabel")
28  .def("roi",
29  [](const cc2DViewportLabel &self)
30  {
31  py::list roi;
32  roi.append(self.roi()[0]);
33  roi.append(self.roi()[1]);
34  roi.append(self.roi()[2]);
35  roi.append(self.roi()[3]);
36  return roi;
37  })
38  .def("setRoi",
39  [](const cc2DViewportLabel &self, py::sequence &roi)
40  {
41  float newRoi[4];
42  newRoi[0] = roi[0].cast<float>();
43  newRoi[1] = roi[1].cast<float>();
44  newRoi[2] = roi[2].cast<float>();
45  newRoi[3] = roi[3].cast<float>();
46  });
47 }
void define_ccViewportObject(py::module &m)
2D viewport label
const ecvViewportParameters & getParameters() const
Gets parameters.
void setParameters(const ecvViewportParameters &params)
Sets perspective view state.