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
- Comparing XSI SDK and Maya SDK
- Scripting Basics (Comparing - Part 1)
- Built-In Functionality (Comparing - Part 2)
- Architecture (Comparing - Part 3)
- Custom User Interface (Comparing - Part 4)
- Cpp Support (Comparing - Part 5)
This page was last modified 21:06, 3 Apr 2006.
This page has been accessed 5058 times.

