8 #include <pybind11/pybind11.h>
15 using namespace pybind11::literals;
19 py::class_<cloudViewer::VerticesIndexes>(cccorelib,
"VerticesIndexes")
21 .def(py::init<unsigned, unsigned, unsigned>(),
"_i1"_a,
"_i2"_a,
"_i3"_a)
37 throw py::index_error(
"index out of range");
41 py::class_<cloudViewer::GenericIndexedMesh, cloudViewer::GenericMesh>(cccorelib,
"GenericIndexedMesh")
45 py::return_value_policy::reference)
47 "getTriangleVertIndexes",
50 if (triangleIndex >=
self.
size())
52 throw py::index_error(
"index out of range");
54 return self.getTriangleVertIndexes(triangleIndex);
57 py::return_value_policy::reference_internal,
59 Returns the indexes of the vertices of a given triangle
63 triangleIndex: int, index of the triangle
67 IndexError if triangleIndex >= self.size()
70 "getTriangleVertices",
72 const unsigned triangleIndex,
77 if (triangleIndex >=
self.
size())
79 throw py::index_error(
"index out of range");
81 self.getTriangleVertices(triangleIndex, A, B, C);
88 Returns the vertices of a given triangle
92 triangleIndex: index of the triangle
93 A: first vertex, this is an out parameter
94 B: second vertex, this is an out parameter
95 C: third vertex, this is an out parameter
99 IndexError if triangleIndex >= self.size()
101 .def("getNextTriangleVertIndexes",
103 py::return_value_policy::reference);
void define_GenericIndexedMesh(py::module &cccorelib)
A generic mesh with index-based vertex access.
virtual GenericTriangle * _getTriangle(unsigned triangleIndex)=0
Returns the ith triangle.
virtual VerticesIndexes * getNextTriangleVertIndexes()=0
Triangle described by the indexes of its 3 vertices.