add method to sketch object to get index by user-defined name

This commit is contained in:
wmayer
2019-10-29 19:35:53 +01:00
parent d6fc794aca
commit 5fd5db9aed
2 changed files with 38 additions and 5 deletions

View File

@@ -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;