Maya2016中MStatus中的改变
来源:互联网 发布:webgis python 编辑:程序博客网 时间:2024/05/17 01:24
之前Maya Python API 中 MStatus 的用法是:
return OpenMaya.MStatus.kSuccess
但是Maya2016中已经移除了MStatus这个类,所以有新的处理方式
http://help.autodesk.com/view/MAYAUL/2016/ENU/?guid=__files_Maya_Python_API_Using_the_Maya_Python_API_htm
在C++的API里有两种方式能返回MStatus的值,一种是作为方法的返回值:
MStatus someMethod(Type arg1, Type arg2, ...)
另一种是通过变量列表里一个可选的、指向MStatus变量的指针返回,通常情况下是最后一个变量:
Type someMethod(Type arg1, Type arg2, ..., MStatus* ReturnStatus = NULL)
MStatus作为方法的函数值返回
当方法将一个MStatus的值当做函数值返回时,返回值在Python中是这样处理的:
- 当status值是“MS::kUnknownParameter”时,将字符串unknown返回给Python
- 当status值是“MS::kSuccess” 时,什么也不返回,并且不引发异常(exception)
- 当status是其他值是,什么也不返回,但是触发一个RuntimeError的异常
MStatus通过一个指针变量返回
当API方法将MStatus通过变量列表中一个指针返回时,MStatus是这样处理的。
- 当status值是“MS::kSuccess” 时,不引发异常(exception)
- 如果status是其他值,什么也不返回,但是触发一个RuntimeError的异常
这意味着使用C++写插件的用户依然可以像之前一样返回MStatus,不管这段代码是从C++还是Python调用的。在必要的时候Maya会在内部将这些代码转化成Python中的exceptions。
用Python写插件的人,应该引发异常而不是返回MStatus值,unless they want their compute()method to indicate that it is not going to handle a plug(这句不会翻译了),在这种情况下应该返回OpenMaya.MStatus.kSuccess。
简而言之:
return OpenMaya.MStatus.kSuccess --------> return
returnOpenMaya.kUnknownParameter--------> print 'error or something' /return
需要判断的时候try except
阅读全文
0 0
- Maya2016中MStatus中的改变
- maya2016中的python版本
- RealFlow For Maya2016接口
- 网页中如何改变IE标题栏中的图标
- Flex中改变对象在容器中的叠放层次
- 在oracle中改变字段在表中的顺序
- Flex中改变对象在容器中的叠放层次
- Flex中改变对象在容器中的叠放层次
- oracle中改变字段在表中的顺序
- 动态改变RelativeLayout中元素在RelativeLayout中的布局
- 网页中如何改变IE标题栏中的图标
- js中 select 选项点击改变 div中的值
- 在oracle中改变字段在表中的顺序
- ios开发中改变nib文件中的控件大小
- Android中动态改变string.xml中的字符串
- Flex中改变对象在容器中的叠放层次
- vue 中自定义指令改变data中的值
- JavaScript中点击按钮,改变其他标签中的内容
- Windows玩转Caffe(四): 配置Matlab接口之可视化初探
- DevExpress控件XtraTreeList的使用心得
- 【nginx】nginx反向代理请求响应报文大数据量时的json报文返回不完整
- hadoop编程(2)-准备编程和本地测试环境
- (四)spring配置bean的作用域
- Maya2016中MStatus中的改变
- Cg语言中文说明文档(四)
- Docker私有仓库镜像上传下载
- Log日志小结
- D3D11 第一人称相机
- Jenkins之设置Tomcat编码格式-yellowcong
- TCP学习笔记
- 排查在 Azure 中创建、重启 Windows VM 或调整其大小时发生的分配失败
- Vue学习之路-1