Overview

From The Foundry MODO SDK wiki
Revision as of 01:42, 28 January 2012 by Shf (Talk | contribs) (Created page with "== Introduction == Luxology's application architecture is called '''''nexus''''' (tm). All the applications we build are based on this same structure. Our flagship application '...")

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Introduction

Luxology's application architecture is called nexus (tm). All the applications we build are based on this same structure. Our flagship application modo (tm) is created using nexus.

As its name implies, nexus is structured like a hub. It has a set of core functionality and systems common to many potential apps, with specific features and options arranged like spokes around the core. This extensible set of feature are called servers, and are implemented as plug-ins. By way of example, here are some common types of objects that can be implemented as plug-in servers.

Loaders & Savers

Loaders read external files, recognize their contents, and translate that into an object inside nexus. Savers do the reverse, storing the contents of a nexus object as an external file.

Commands

Every change of state of nexus model data (and a lot of non-model UI data as well) is done through a command. Commands are complex objects with arguments, enable/disable state, default UI behaviors, and optional value queries.

Tools

Tools provide an interactive method for editing meshes, doing transforms, or altering items. They support 3D handles and other input methods, and can communicate with other active tools through the tool pipe.

Item Types

Items represent the scene state in nexus, and can perform a wide range of different functions. Plug-ins can also define new partial item types called packages.