Nodeeditor

From MoiWiki
Revision as of 11:51, 1 December 2016 by Karsten (talk | contribs)
Jump to navigationJump to search
Intro

The nodeeditor called Elephant @'y'@ is an addOn to Moi 3.0 developed by Max Smirnov. The base is taken from the litegraph.js library (c) by Javi Agenjo http://tamats.com and was adapted to the JavaScript Moi-API and the requirements of geometric processing.

Which version is the actual one? nodeeditor V0.85

What is the nodeeditor?

The nodeeditor is a visual programming tool for handling mathematical and geometrical data. It abstracts here the programming in JavaSript to functional blocks called nodes. It is an interface and preprocessor for MoI's API and uses it for generating 3d geometric data.

Installation

Extract the file in in a sub folder and copy the folder nodeeditor.v.0.85 to e.g C:\Programs(x86)\Moi\ui\. After that, start Moi and go to Options and Shortcut keys. Click the Add button. Enter a key e.g. F8 or Alt+N. Under command place: moi.ui.createDialog( 'nodeeditor.v.0.85/index.html', 'resizeable,defaultWidth:680,defaultHeight:420', moi.ui.mainWindow ) Now press close - and enter your shortcut key. - Hopefully it works. If not, you can find some tips here

Getting started

To start working with the nodeeditor press the right mouse button inside the nodeeditors canvas. Hold down and chose a node. A double click on a node opens the info panel on the right side - same result as pressing the info button on the right upper side and click to the node. Most of the nodes have inputs and outputs. At the moment there are three data types:

  • numarray -> for numbers and arrays of them
  • pointarray -> for points and sequences of points
  • objectlist -> geometrical objects like points, lines, curves, bodies ...
  • boolean -> for logical operations

The node is like a blackbox, which takes inputs of the mentioned datatypes and processes them to an output. Outputs can be connected to the input of another node. Outputs of type numarray and pointarray can be connected to multiple node inputs. Objectlists can only connected one by one. If you want to connect to multiple nodes, you can use a clone node for that. To connect outputs to inputs, press the left mouse button on the output and drag the cursor to the input you want to connect. Release the mouse button over the input and Output is wired to the input. The color of the wire depends on the data type which will "transported". Under the basic Menu item (RMB) is a Output node that brings the data to Moi. To start the processing, press the start button. The Apply button pushes the data/geometry permanently to Moi. You can find an overview of the available nodes here.