69 ObjNode_setSelectable(
const char *node_path,
bool selectable)
77 throw HOM_OperationFailed(
"Internal error (could not find node)");
81 throw HOM_OperationFailed(
"Internal error (node is not an object)");
93 throw HOM_PermissionError();
100 const char *exception_class_name,
const char *instance_message,
108 exception_class = NULL;
121 PY_PyObject *hou_module_dict = PY_PyModule_GetDict(hou_module);
122 exception_class = PY_PyDict_GetItemString(
123 hou_module_dict, exception_class_name);
127 if (!exception_class)
130 PY_PyExc_RuntimeError(),
131 "Could not find exception class in hou module");
141 return PY_PyObject_Call(exception_class,
args, NULL);
159 const char *node_path;
175 ObjNode_setSelectable(node_path, (
bool)selectable);
189 typeid(error).
name());
190 if (exception_class_name.find(
"HOM_") == 0)
191 exception_class_name = exception_class_name.substr(4);
200 if (!exception_instance)
205 PY_PyErr_SetObject(exception_class, exception_instance);
230 {
"ObjNode_setSelectable", ObjNode_setSelectable_Wrapper,
231 PY_METH_VARARGS(),
""},
232 { NULL, NULL, 0, NULL }
236 "_hdk_sample_hom_extensions", hom_extension_methods);
OP_Node * findNode(const char *path, OTLSyncMode syncmode=OTLSYNC_DOSYNC) const
Uses the path (eg. "/obj/geo1") to find a node in our hierarchy.
PY_API int PY_PyArg_ParseTuple(PY_PyObject *args, const char *format,...)
bool setPickable(bool onoff) override
PY_PyMODINIT_FUNC PyInit__hdk_sample_hom_extensions(void)
PY_API PY_PyObject * PY_Py_BuildValue(const char *format,...)
UT_API std::string UTunmangleClassNameFromTypeIdName(const std::string &name)
virtual std::string instanceMessage()
GLuint const GLchar * name
int canAccess(unsigned mask) const
OP_API OP_Director * OPgetDirector()
PY_API PY_PyObject * PY_Py_InitModule(const char *name, PY_PyMethodDef *methods)
**If you just want to fire and args
OBJ_Node * castToOBJNode() const
#define PY_PyMODINIT_FUNC