Cpp Support (Comparing - Part 5)

(Looking for contributions)

  • Maya has a C++ API. The C++ API does not cover everything that is available in MEL. For example, there is no UI support in the C++ API. Likewise MEL does not support definition of Nodes and other features available to the C++ API. MEL Scripts and C++ can interoperate, for example a Mel command can be called from the C++ API.
  • XSI has a C++ API that mirrors the scripting API. It covers almost everything that is available on the scripting API, and provides a mechanism for calling the scripting API (both commands and object model) if necessary. Certain performance critical aspects of the SDK, like shader development, can only be developed with C++ (or C), not scripting.
  • In XSI custom commands can be implemented in any supported script language or the C++ API. This makes it possible to create a plug-in using a combination of languages.
  • In both XSI and Maya, if the plug-in is carefully written it can work on both Linux and Windows. (Any C++ code would need to be recompiled). Maya also supports the Mac operating system.
  • XSI Cref is very similar to Mobject.
  • XSI has a hierarchy of C++ API objects which correspond to the MFn* function set classes in Maya.
  • You don’t have to derive from classes to use C++ API –- XSI uses C style function callbacks instead when you implement a custom object. This is done to achieve binary backward compatibility and is easy to use. For example, the implementation of a Custom Property called "Foo" involves the implementation of various callbacks (some of which are optional): Foo_Define(), Foo_DefineLayout(), and Foo_PPGEvent().

See also



This page was last modified 21:06, 3 Apr 2006.
This page has been accessed 16097 times.

© Copyright 2009 Autodesk Inc. All Rights Reserved. Privacy Policy | Legal Notices and Trademarks | Report Piracy