Changes between Version 7 and Version 8 of MoonlightDesignOverview
- Timestamp:
- 11/27/06 17:23:28 (4 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
MoonlightDesignOverview
v7 v8 55 55 which allows the operator graph manager to generate them without knowing 56 56 any details of their implementation. 57 57 58 58 Each operator graph node has a set of named and typed properties, 59 59 through which its parameters are exposed. This mechanism is needed for 62 62 animation component, which can then change these parameters based on some 63 63 animation data, which is managed seperately. 64 64 65 65 Currently, each operator graph node gets scene graphs into its 66 66 (named) input slots, which are then processed by the node. The result is 72 72 connected with the input of a link, and vice versa. This terminology can 73 73 be confusing sometimes, so be careful. 74 74 75 75 Plugins may register own operator graph node factories with the operator 76 76 graph manager, which allows for easy node creation by name. Operator 117 117 the scene. 118 118 119 === The user interface ===120 121 The user interface core contains the implementation of the main window122 of Moonlight|3D together with its layout and view management mechanisms.123 124 The so-called "views" are screen areas defined by sashes, which125 are oocupied by plugin-provided classes. They can be arranged into any126 given user-specified layout, which is usually loaded from an XML file.127 128 119 === The core === 129 120 135 126 If you want one of them, you have to go through ml.core.State to reach them, 136 127 unless you are provided with a reference to the target anyway. 137 128 138 129 The plugin loader in ml.core.plugins takes care of loading the plugins in 139 130 the right order. Every plugin must have a class which implements 144 135 dependencies. Currently, circular dependencies are not checked for and 145 136 cannot be handled. Any other dependency structure should be fine, though. 146 137 147 138 Please note that plugin loading is a process which takes several steps. 148 139 First the plugin class is instanced, which does not mean that the associated 153 144 actually start to register it's payload (mostly factories) with the core 154 145 components. 155 146 156 147 The scripting support in ml.core.scripting defines basic services through which 157 148 arbitrary script languages can be integrated by plygins. Script language plugins 164 155 The user interface core contains the implementation of the main window 165 156 of Moonlight|3D together with its layout and view management mechanisms. 166 157 167 158 The so-called "views" are screen areas defined by sashes, which 168 159 are oocupied by plugin-provided classes. They can be arranged into any 169 160 given user-specified layout, which is usually loaded from an XML file. 170 161 171 162 User interface plugins provide all views in Moonlight|3D. For that they 172 163 have to register a factory with 188 179 of such an algorithm is a node which moves mesh vertices or adds faces to 189 180 a mesh. 190 181 191 182 Operator graph nodes expose their parameters through properties, which are 192 183 named and typed. The plane creator OG node for example has two properties,
