Tour of the SDK

From The Foundry MODO SDK wiki
Jump to: navigation, search

Downloading the SDK

The SDK for each version of modo is available from the main Luxology web site. Go to Support, then My Account and Registered Products. If you have not purchased modo yourself but need the SDK for a job or other reason, contact us and we will gladly add it to your account.

The SDK comes as a ZIP file containing a directory named LXSDK_<version>, where version is the build number. It should correspond to the most recent build of modo.

Exploring SDK

The SDK distribution consists of several parts:

  • The include directory contains the headers, both C and C++, defining the nexus interfaces. Header files are of several types indicated by their filenames:
    • lx_{name}.hpp -- C++ headers declaring the user classes for interfaces. These are the ones normally included by plug-in source code.
    • lxu_{name}.hpp -- C++ headers declaring utility classes. These are not necessary but can be useful.
    • lx{name}.h -- raw C headers declaring interfaces and related types. These should not be included directly in C++ projects if there is a corresponding lx_{name}.hpp header file. However there are a few specific cases which are intended to be included.
    • lxw_{name}.hpp -- C++ headers which declare core wrapper classes for interfaces. These should not normally be included from C++ projects.
  • The common directory contains the source code for common.lib, which implements the C++ wrappers of the native C plug-in API. All the samples link with this common library. It also contains the implementations of the utility classes, which are used if needed.
  • The documentation directory, containing the reference docs for SDK headers.
  • The samples directory contains source code for sample plug-ins of various types. Some are more suitable as starter samples than others.
  • The Visual C (Windows) and Xcode (Mac OS X) projects will build the common lib and all the samples.

Building the Samples