add method to sketch object to get index by user-defined name
This commit is contained in:
@@ -406,6 +406,31 @@ PyObject* SketchObjectPy::renameConstraint(PyObject *args)
|
||||
Py_Return;
|
||||
}
|
||||
|
||||
PyObject* SketchObjectPy::getIndexByName(PyObject *args)
|
||||
{
|
||||
char* utf8Name;
|
||||
if (!PyArg_ParseTuple(args, "et", "utf-8", &utf8Name))
|
||||
return 0;
|
||||
|
||||
std::string Name = utf8Name;
|
||||
PyMem_Free(utf8Name);
|
||||
|
||||
if (Name.empty()) {
|
||||
PyErr_SetString(PyExc_ValueError, "Passed string is empty");
|
||||
return 0;
|
||||
}
|
||||
|
||||
const std::vector< Sketcher::Constraint * > &vals = getSketchObjectPtr()->Constraints.getValues();
|
||||
for (std::size_t i = 0; i < vals.size(); ++i) {
|
||||
if (Name == vals[i]->Name) {
|
||||
return Py_BuildValue("i", i);
|
||||
}
|
||||
}
|
||||
|
||||
PyErr_SetString(PyExc_LookupError, "No such constraint found");
|
||||
return 0;
|
||||
}
|
||||
|
||||
PyObject* SketchObjectPy::carbonCopy(PyObject *args)
|
||||
{
|
||||
char *ObjectName;
|
||||
|
||||
Reference in New Issue
Block a user