Method to get SelectionObject from string
This commit is contained in:
parent
e1222202dd
commit
bb65031594
|
@ -979,6 +979,8 @@ PyMethodDef SelectionSingleton::Methods[] = {
|
|||
"document is given the selection of the active document is returned.\n"
|
||||
"The SelectionObjects contain a variety of information about the selection,\n"
|
||||
"e.g. sub-element names."},
|
||||
{"getSelectionObject", (PyCFunction) SelectionSingleton::sGetSelectionObject, 1,
|
||||
"getSelectionObject(doc,obj,sub,(x,y,z)) -- Return a SelectionObject"},
|
||||
{"addObserver", (PyCFunction) SelectionSingleton::sAddSelObserver, 1,
|
||||
"addObserver(Object) -- Install an observer\n"},
|
||||
{"removeObserver", (PyCFunction) SelectionSingleton::sRemSelObserver, 1,
|
||||
|
@ -1114,6 +1116,41 @@ PyObject *SelectionSingleton::sGetSelectionEx(PyObject * /*self*/, PyObject *arg
|
|||
}
|
||||
}
|
||||
|
||||
PyObject *SelectionSingleton::sGetSelectionObject(PyObject * /*self*/, PyObject *args, PyObject * /*kwd*/)
|
||||
{
|
||||
char *docName, *objName, *subName;
|
||||
PyObject* tuple=0;
|
||||
if (!PyArg_ParseTuple(args, "sss|O!", &docName, &objName, &subName,
|
||||
&PyTuple_Type, &tuple))
|
||||
return NULL;
|
||||
|
||||
try {
|
||||
SelectionObject selObj;
|
||||
selObj.DocName = docName;
|
||||
selObj.FeatName = objName;
|
||||
std::string sub = subName;
|
||||
if (!sub.empty()) {
|
||||
selObj.SubNames.push_back(sub);
|
||||
if (tuple) {
|
||||
Py::Tuple t(tuple);
|
||||
double x = (double)Py::Float(t.getItem(0));
|
||||
double y = (double)Py::Float(t.getItem(1));
|
||||
double z = (double)Py::Float(t.getItem(2));
|
||||
selObj.SelPoses.push_back(Base::Vector3d(x,y,z));
|
||||
}
|
||||
}
|
||||
|
||||
return selObj.getPyObject();
|
||||
}
|
||||
catch (const Py::Exception&) {
|
||||
return 0;
|
||||
}
|
||||
catch (const Base::Exception& e) {
|
||||
PyErr_SetString(PyExc_Exception, e.what());
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
PyObject *SelectionSingleton::sAddSelObserver(PyObject * /*self*/, PyObject *args, PyObject * /*kwd*/)
|
||||
{
|
||||
PyObject* o;
|
||||
|
|
|
@ -309,6 +309,7 @@ protected:
|
|||
static PyObject *sCountObjectsOfType (PyObject *self,PyObject *args,PyObject *kwd);
|
||||
static PyObject *sGetSelection (PyObject *self,PyObject *args,PyObject *kwd);
|
||||
static PyObject *sGetSelectionEx (PyObject *self,PyObject *args,PyObject *kwd);
|
||||
static PyObject *sGetSelectionObject (PyObject *self,PyObject *args,PyObject *kwd);
|
||||
static PyObject *sAddSelObserver (PyObject *self,PyObject *args,PyObject *kwd);
|
||||
static PyObject *sRemSelObserver (PyObject *self,PyObject *args,PyObject *kwd);
|
||||
static PyObject *sAddSelectionGate (PyObject *self,PyObject *args,PyObject *kwd);
|
||||
|
|
Loading…
Reference in New Issue
Block a user