Maya 2016 에서 MStatus 의 변화

1826 단어 Maya2016pythonapi
이전에 Maya Python API 에서 MStatus 의 용법 은:
return OpenMaya.MStatus.kSuccess
그러나 Maya 2016 에 서 는 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:: kUnknown Parameter" 일 때, 문자열 unknown 을 Python 에 되 돌려 줍 니 다 status 값 이 "MS:: kSuccess" 일 때 아무것도 되 돌아 오지 않 고 이상 (exception) 을 일 으 키 지 않 습 니 다.
status 가 다른 값 이면 아무것도 되 돌아 오지 않 지만 Runtime Error 의 이상 을 촉발 합 니 다 MStatus 포인터 변 수 를 통 해 되 돌려 줍 니 다.
API 방법 이 MStatus 를 변수 목록 의 지침 을 통 해 되 돌 릴 때 MStatus 는 이렇게 처리 합 니 다.
status 값 이 "MS:: kSuccess" 일 때 이상 이 발생 하지 않 습 니 다 (exception) status 가 다른 값 이 라면 아무것도 되 돌아 오지 않 지만 Runtime Error 의 이상 을 촉발 합 니 다 이 는 C + + 플러그 인 을 사용 하 는 사용자 가 C + + 에서 호출 되 든 Python 에서 호출 되 든 이전 처럼 MStatus 로 돌아 갈 수 있다 는 뜻 이다.필요 할 때 Maya 는 내부 에서 이 코드 들 을 Python 의 exceptions 로 변환 합 니 다.
Python 으로 플러그 인 을 쓰 는 사람 은 MStatus 값 을 되 돌려 주 는 것 이 아니 라 이상 을 일 으 켜 야 합 니 다. unless they want their compute () method to indication 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

좋은 웹페이지 즐겨찾기