43 #include <pybind11/include/pybind11/pybind11.h> 44 #include <pybind11/include/pybind11/embed.h> 47 #include <MeshObjectSelectionPlugin.hh> 51 #include <OpenFlipper/BasePlugin/PythonFunctions.hh> 52 #include <OpenFlipper/PythonInterpreter/PythonTypeConversions.hh> 58 PYBIND11_EMBEDDED_MODULE(MeshObjectSelection, m) {
60 QObject* pluginPointer = getPluginPointer(
"MeshObjectSelection");
63 std::cerr <<
"Error Getting plugin pointer for Plugin-MeshObjectSelection" << std::endl;
70 std::cerr <<
"Error converting plugin pointer for Plugin-MeshObjectSelection" << std::endl;
76 py::class_< MeshObjectSelectionPlugin,std::unique_ptr<MeshObjectSelectionPlugin, py::nodelete> > select(m,
"MeshObjectSelection");
81 select.def(py::init([plugin]() {
return plugin; }));
83 select.def(
"loadSelection", &MeshObjectSelectionPlugin::loadSelection,
84 QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"Load selection from selection file").toLatin1().data(),
85 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"ID of the object").toLatin1().data()),
86 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"File containing a selection").toLatin1().data()) );
93 QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"Select the specified vertices").toLatin1().data(),
94 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"ID of the object").toLatin1().data()),
95 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"List of vertices").toLatin1().data()) );
98 QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"Unselect the specified vertices").toLatin1().data(),
99 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"ID of the object").toLatin1().data()),
100 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"List of vertices").toLatin1().data()) );
103 QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"Select all vertices of an object").toLatin1().data(),
104 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"ID of the object").toLatin1().data()) );
107 QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"Clear vertex selection of an object").toLatin1().data(),
108 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"ID of the object").toLatin1().data()) );
111 QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"Invert vertex selection of an object").toLatin1().data(),
112 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"ID of the object").toLatin1().data()) );
115 QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"Select all boundary vertices of an object").toLatin1().data(),
116 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"ID of the object").toLatin1().data()) );
119 QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"Select boundary vertices closest to a specific vertex").toLatin1().data(),
120 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"ID of the object").toLatin1().data()),
121 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"Id of closest vertex").toLatin1().data()) );
124 QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"Shrink vertex selection by outer selection ring").toLatin1().data(),
125 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"ID of the object").toLatin1().data()) );
128 QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"Grow vertex selection by an-ring of selection").toLatin1().data(),
129 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"ID of the object").toLatin1().data()) );
132 QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"Delete selected vertices").toLatin1().data(),
133 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"ID of the object").toLatin1().data()) );
136 QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"Return a list of all selected vertices").toLatin1().data(),
137 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"ID of the object").toLatin1().data()) );
140 QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"Create a mesh from the seslected vertices. Returns the Id of the new mesh").toLatin1().data(),
141 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"ID of the object").toLatin1().data()) );
144 QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"Colorize the selected vertices").toLatin1().data(),
145 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"ID of the object").toLatin1().data()),
146 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"Red color component").toLatin1().data()),
147 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"Green color component").toLatin1().data()),
148 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"Blue color component").toLatin1().data()),
149 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"Alpha color component").toLatin1().data()) );
152 QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"Add specified vertices to handle area").toLatin1().data(),
153 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"ID of the object").toLatin1().data()),
154 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"List of vertices").toLatin1().data()) );
157 QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"Remove specified vertices from handle area").toLatin1().data(),
158 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"ID of the object").toLatin1().data()),
159 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"List of vertices").toLatin1().data()) );
162 QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"Clear handle area").toLatin1().data(),
163 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"ID of the object").toLatin1().data()) );
166 QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"Add all vertices of an object to handle area").toLatin1().data(),
167 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"ID of the object").toLatin1().data()) );
170 QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"Get a list of vertices belonging to handle area").toLatin1().data(),
171 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"ID of the object").toLatin1().data()) );
174 QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"Load selection from Flipper selection file").toLatin1().data(),
175 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"ID of the object").toLatin1().data()),
176 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"Flipper selection file").toLatin1().data()) );
179 QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"Load selection from Flipper selection file").toLatin1().data(),
180 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"ID of the object").toLatin1().data()),
181 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"Flipper selection file").toLatin1().data()) );
184 QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"Add specified vertices to modeling area").toLatin1().data(),
185 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"ID of the object").toLatin1().data()),
186 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"List of vertices").toLatin1().data()) );
189 QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"Remove specified vertices to modeling area").toLatin1().data(),
190 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"ID of the object").toLatin1().data()),
191 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"List of vertices").toLatin1().data()) );
194 QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"Select vertices based on the value of their component").toLatin1().data(),
195 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"ID of the object").toLatin1().data()),
196 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"component specification: string containing \"x\" or \"y\" or \"z\" ").toLatin1().data()),
197 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"select vertex if component greater than value; false: select if component less than value").toLatin1().data()),
198 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"value to test").toLatin1().data()) );
201 QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"Clear modeling area").toLatin1().data(),
202 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"ID of the object").toLatin1().data()) );
205 QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"Add all vertices of an object to modeling area").toLatin1().data(),
206 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"ID of the object").toLatin1().data()) );
209 QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"Get a list of all modeling vertices").toLatin1().data(),
210 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"ID of the object").toLatin1().data()) );
218 QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"Select the specified edges").toLatin1().data(),
219 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"ID of the object").toLatin1().data()),
220 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"List of vertices").toLatin1().data()),
221 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"Maximal dihedral ange for selection").toLatin1().data()) = 0.0);
224 QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"Unselect the specified edges").toLatin1().data(),
225 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"ID of the object").toLatin1().data()),
226 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"List of edges").toLatin1().data()) );
229 QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"Select all edges of an object").toLatin1().data(),
230 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"ID of the object").toLatin1().data()) );
233 QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"Invert edge selection of an object").toLatin1().data(),
234 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"ID of the object").toLatin1().data()) );
237 QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"Clear edge selection of an object").toLatin1().data(),
238 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"ID of the object").toLatin1().data()) );
241 QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"Select all boundary edges of an object").toLatin1().data(),
242 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"ID of the object").toLatin1().data()) );
245 QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"Select all boundary edges of an object").toLatin1().data(),
246 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"ID of the object").toLatin1().data()) );
249 QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"Delete selected edges of an object").toLatin1().data(),
250 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"ID of the object").toLatin1().data()) );
253 QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"Return a list of all selected edges").toLatin1().data(),
254 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"ID of the object").toLatin1().data()) );
257 QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"Convert edge ids to vertex pair ids. Returns vertex Idlist.").toLatin1().data(),
258 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"ID of the object").toLatin1().data()),
259 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"List of edges").toLatin1().data()));
262 QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"Convert vertex pair ids to edge ids. Returns edge Idlist.").toLatin1().data(),
263 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"ID of the object").toLatin1().data()),
264 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"Ids of paired vertices").toLatin1().data()));
267 QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"Take edge selection of an object and create a new mesh from it").toLatin1().data(),
268 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"ID of the object").toLatin1().data()) );
271 QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"Colorize the selected edges").toLatin1().data(),
272 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"ID of the object").toLatin1().data()),
273 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"Red color component").toLatin1().data()),
274 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"Green color component").toLatin1().data()),
275 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"Blue color component").toLatin1().data()),
276 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"Alpha color component").toLatin1().data()) );
279 QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"Traces Edge Paths. Takes all selected edges and tries to continue them, as long as the angle between edges is not above threshold").toLatin1().data(),
280 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"ID of the object").toLatin1().data()),
281 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"Threshold").toLatin1().data()));
288 QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"Select the specified halfedges").toLatin1().data(),
289 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"ID of the object").toLatin1().data()),
290 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"List of halfedges").toLatin1().data()) );
293 QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"Unselect the specified halfedges").toLatin1().data(),
294 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"ID of the object").toLatin1().data()),
295 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"List of halfedges").toLatin1().data()) );
298 QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"Select all halfedges of an object").toLatin1().data(),
299 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"ID of the object").toLatin1().data()) );
302 QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"Invert halfedge selection of an object").toLatin1().data(),
303 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"ID of the object").toLatin1().data()) );
306 QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"Clear halfedge selection of an object").toLatin1().data(),
307 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"ID of the object").toLatin1().data()) );
310 QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"Select all boundary halfedges of an object").toLatin1().data(),
311 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"ID of the object").toLatin1().data()) );
314 QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"Get a list of selected halfedges").toLatin1().data(),
315 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"ID of the object").toLatin1().data()) );
318 QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"Convert halfedge ids to vertex pair ids. Returns vertex Idlist.").toLatin1().data(),
319 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"ID of the object").toLatin1().data()),
320 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"List of halfedges").toLatin1().data()) );
323 QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"Convert vertex pair ids to halfedge ids. Returns halfedge Idlist.").toLatin1().data(),
324 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"ID of the object").toLatin1().data()),
325 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"Ids of paired vertices").toLatin1().data()) );
328 QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"Colorize the selected halfedges").toLatin1().data(),
329 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"ID of the object").toLatin1().data()),
330 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"Red color component").toLatin1().data()),
331 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"Green color component").toLatin1().data()),
332 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"Blue color component").toLatin1().data()),
333 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"Alpha color component").toLatin1().data()) );
341 QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"Select the specified faces").toLatin1().data(),
342 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"ID of the object").toLatin1().data()),
343 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"List of faces").toLatin1().data()) );
346 QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"Unselect the specified faces").toLatin1().data(),
347 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"ID of the object").toLatin1().data()),
348 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"List of faces").toLatin1().data()) );
351 QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"Select all faces of an object").toLatin1().data(),
352 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"ID of the object").toLatin1().data()) );
355 QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"Clear face selection of an object").toLatin1().data(),
356 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"ID of the object").toLatin1().data()) );
359 QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"Invert face selection of an object").toLatin1().data(),
360 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"ID of the object").toLatin1().data()) );
363 QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"Delete face that are currently selected").toLatin1().data(),
364 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"ID of the object").toLatin1().data()) );
367 QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"Select all boundary faces of an object").toLatin1().data(),
368 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"ID of the object").toLatin1().data()) );
371 QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"Shrink face selection by outer face ring of selection").toLatin1().data(),
372 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"ID of the object").toLatin1().data()) );
375 QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"Grow face selection by an-ring of faces around selection").toLatin1().data(),
376 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"ID of the object").toLatin1().data()) );
379 QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"Get current face selection").toLatin1().data(),
380 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"ID of the object").toLatin1().data()) );
383 QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"Take face selection and create a new mesh from it").toLatin1().data(),
384 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"ID of the object").toLatin1().data()) );
387 QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"Colorize the selected faces").toLatin1().data(),
388 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"ID of the object").toLatin1().data()),
389 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"Red color component").toLatin1().data()),
390 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"Green color component").toLatin1().data()),
391 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"Blue color component").toLatin1().data()),
392 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"Alpha color component").toLatin1().data()) );
394 QString conversionStrings = QCoreApplication::translate(
"PythonDocMeshObjectSelection",
" Possible strings:\n" 395 "- Vertex/Edge/Halfedge/Face Selection\n" 396 "- Model/Handle Region\n" 397 "- Feature Vertices/Edges/Faces");
401 (QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"Convert the selection on given object.Conversion must be given as strings.")+conversionStrings).toLatin1().data(),
402 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"ID of the object").toLatin1().data()),
403 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"string of selection type which will be converted").toLatin1().data()),
404 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"string of selection type").toLatin1().data()),
405 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"unselect original selection after conversion").toLatin1().data()) );
408 (QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"Convert selection on all target Objects. Conversion must be given as strings.")+conversionStrings).toLatin1().data(),
409 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"string of selection type which will be converted").toLatin1().data()),
410 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"string of selection type").toLatin1().data()),
411 py::arg(QCoreApplication::translate(
"PythonDocMeshObjectSelection",
"unselect original selection after conversion").toLatin1().data()) );
void invertEdgeSelection(int objectId)
Unselect all Edges.
void convertSelection(const int &_objectId, const QString &_from, const QString &_to, bool _deselect)
Convert the selection on one object.
void colorizeHalfedgeSelection(int objectId, int r, int g, int b, int a)
Colorize the edge selection.
IdList getModelingVertices(int objectId)
Get a list of all modeling vertices.
void deleteFaceSelection(int _objectId)
Delete face that are currently selected.
void shrinkFaceSelection(int objectId)
Shrink the current face selection.
void selectAllHalfedges(int objectId)
Select all Halfedges.
int createMeshFromEdgeSelection(int _objectId)
Create a mesh containing the face selection of the given mesh.
void setAllModelingVertices(int objectId)
Set all vertices to be part of the modeling area.
void unselectFaces(int objectId, IdList _facesList)
Unselect given faces.
void saveFlipperModelingSelection(int _objectId, QString _filename)
Save a selection in Flipper Selection Format.
void selectBoundaryHalfedges(int objectId)
Select boundary edges.
void invertHalfedgeSelection(int objectId)
Unselect all Halfedges.
void unselectHalfedges(int objectId, IdList _vertexList)
Unselect given Halfedges.
void colorizeEdgeSelection(int objectId, int r, int g, int b, int a)
Colorize the edge selection.
void clearFaceSelection(int objectId)
Unselect all faces.
IdList convertEdgesToVertexPairs(int _id, const IdList &_edges)
Convert edge ids to vertex pairs.
void conversion(const QString &_from, const QString &_to, bool _deselect)
Convert the selection on all target objects.
void clearEdgeSelection(int objectId)
Invert the current edge selection.
void unselectVertices(int objectId, IdList _vertexList)
unselect given vertices
void selectClosestBoundaryVertices(int _objectId, int _vertexId)
Select all vertices of the boundary close to the given vertex.
void colorizeVertexSelection(int _objectId, int _r, int _g, int _b, int a)
Colorize the vertex selection.
void clearModelingVertices(int objectId)
Clear Modeling Area.
IdList getFaceSelection(int objectId)
Return a list of all selected faces.
void selectBoundaryVertices(int _objectId)
Select all boundary vertices of the given object.
void selectVerticesByValue(int _objectId, QString _component, bool _greater, double _value)
Select vertices by their value.
int createMeshFromVertexSelection(int _objectId)
set dihedral angle threshold for edge selection
void selectAllVertices(int _objectId)
Select all Vertices.
void growFaceSelection(int objectId)
Grow the current face selection.
void clearHalfedgeSelection(int objectId)
Invert the current edge selection.
void selectHandleVertices(int objectId, IdList _vertexList)
Set vertices to be part of the handle area.
IdList convertHalfedgesToVertexPairs(int _id, const IdList &_halfedges)
Convert halfedge ids to vertex pairs.
void selectAllEdges(int objectId)
Select all Edges.
IdList getHalfedgeSelection(int objectId)
Return a list of all selected edges.
void unselectEdges(int objectId, IdList _edgeList)
Unselect given Edges.
void selectModelingVertices(int objectId, IdList _vertexList)
Set vertices to be part of the modeling area.
void setAllHandleVertices(int objectId)
Set all vertices to be part of the handle area.
void colorizeFaceSelection(int objectId, int r, int g, int b, int a)
Colorize the face selection.
void clearVertexSelection(int _objectId)
Unselect all vertices.
IdList convertVertexPairsToHalfedges(int _id, const IdList &_vertices)
Inverse of function above.
void invertVertexSelection(int _objectId)
Invert the current vertex selection.
void selectHalfedges(int objectId, IdList _vertexList)
Select given Halfedges.
void selectBoundaryEdges(int objectId)
select boundary edges
void deleteEdgeSelection(int _objectId)
Delete edges that are currently selected.
void invertFaceSelection(int objectId)
Invert the current face selection.
void selectAllFaces(int objectId)
Select all faces.
IdList getHandleVertices(int objectId)
Get a list of all handle vertices.
int createMeshFromFaceSelection(int _objectId)
Create a mesh containing the face selection of the given mesh.
IdList getVertexSelection(int _objectId)
Return a list of all selected vertices.
void growVertexSelection(int _objectId)
Grow the current vertex selection.
void loadFlipperModelingSelection(int _objectId, QString _filename)
Load a selection from an Flipper selection file for the given object.
void selectBoundaryFaces(int objectId)
Select all boundary faces of the given object.
void clearHandleVertices(int objectId)
Clear handle Area.
void deleteVertexSelection(int _objectId)
Delete vertices and faces that are currently selected.
void selectEdges(int objectId, IdList _edgeList, const double _dihedral_angle_threshold=0.0)
Select given Edges.
IdList getEdgeSelection(int objectId)
Return a list of all selected edges.
void traceEdgePath(int objectId, double threshold)
Trace Edge Path.
void selectFaces(int objectId, IdList _facesList)
Select given faces.
IdList convertVertexPairsToEdges(int _id, const IdList &_vertices)
Inverse of function above.
void shrinkVertexSelection(int _objectId)
Shrink the current vertex selection.
void unselectModelingVertices(int objectId, IdList _vertexList)
Remove vertices from modeling area.
void selectVertices(int objectId, IdList _vertexList)
select given vertices