<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://moi3d.com/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Karsten</id>
	<title>MoiWiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://moi3d.com/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Karsten"/>
	<link rel="alternate" type="text/html" href="https://moi3d.com/wiki/Special:Contributions/Karsten"/>
	<updated>2026-05-11T08:52:20Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.33.1</generator>
	<entry>
		<id>https://moi3d.com/wiki/index.php?title=Nodeeditor&amp;diff=847</id>
		<title>Nodeeditor</title>
		<link rel="alternate" type="text/html" href="https://moi3d.com/wiki/index.php?title=Nodeeditor&amp;diff=847"/>
		<updated>2016-12-29T12:49:01Z</updated>

		<summary type="html">&lt;p&gt;Karsten: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===== Intro =====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Which version is the actual one? nodeeditor V0.85 - You can find it here: http://moi3d.com/forum/index.php?webtag=MOI&amp;amp;msg=7713.457&lt;br /&gt;
&lt;br /&gt;
A version with some additions is available here: http://moi3d.com/forum/messages.php?webtag=MOI&amp;amp;msg=8197.1&lt;br /&gt;
&lt;br /&gt;
'''Consider this: The nodeeditor is still under development - so node files, you've created with one of these versions, can have problems with later ones.&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
== What is the nodeeditor? ==&lt;br /&gt;
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.&lt;br /&gt;
== Installation ==&lt;br /&gt;
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:&lt;br /&gt;
''moi.ui.createDialog( 'nodeeditor.v.0.85/index.html', 'resizeable,defaultWidth:680,defaultHeight:420', moi.ui.mainWindow )''&lt;br /&gt;
Now press close - and enter your shortcut key. - Hopefully it works. If not, you can find some tips [[troubleshooting|here]]&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* [[numarray]] -&amp;gt; for numbers and arrays of them&lt;br /&gt;
* [[pointarray]] -&amp;gt; for points and sequences of points&lt;br /&gt;
* [[objectlist]] -&amp;gt; geometrical objects like points, lines, curves, bodies ...&lt;br /&gt;
* [[boolean]] -&amp;gt; for logical operations&lt;br /&gt;
&lt;br /&gt;
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 be 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 the Output is wired to the input. The color of the wire depends on the data type which will be &amp;quot;transported&amp;quot;. 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 [[Overview of the sub menues|here]].&lt;br /&gt;
&lt;br /&gt;
== nodeeditors canvas ==&lt;br /&gt;
&lt;br /&gt;
the following picture shows the nodeeditor canvas:&lt;br /&gt;
&lt;br /&gt;
[[image:canvas.png]]&lt;br /&gt;
&lt;br /&gt;
From the upper left to the upper right:&lt;br /&gt;
* '''New''' - Creates a new node project - doesn't work at the moment. As a workaround you can store an empty nodefile with '''Save''' and load it back with '''Load''' when needed.&lt;br /&gt;
* '''Load''' - loads a stored nod-file from disk. The file extension is '''.nod'''.&lt;br /&gt;
* '''Save''' - stores a node project&lt;br /&gt;
* '''Apply''' - The Apply button commits a geometry calculated with the nodeeditor to the Moi working enviroment. After pressing the Apply button the geometry is independent from the nodeeditor.&lt;br /&gt;
* '''Run''' - Starts the calculation&lt;br /&gt;
* '''Step''' - The node project will be calculated stepwise&lt;br /&gt;
* '''i'''(Info) - The Info button opens the info panel for nodes - shown on the right side of the picture. Here you can look a the properties of the node and change them. It shows the actual clicked node.. You can open it also with a double click on a node.&lt;br /&gt;
&lt;br /&gt;
To move the view, press down the left mouse button in a free area of the canvas and move the mouse. With your mouse wheel you can zoom in and out. If you press down the left mouse button inside a node, you can move it around. Release the mouse button places it to the mouse position. Pressing the left mouse button on a nodes output you will start a connection. Move the mouse cursor while keeping the button pressed to the input of another node, a connection is made when relase the button there. If you press the right mouse button in a free area of the canvas, a pull down menue opens. In the sub menues you can choose the node type you want to create. The node will placed at the position where you pressed the right mouse button. Pressing the right mouse button inside a node will open a menue with options for the node like clone or remove.&lt;br /&gt;
&lt;br /&gt;
== Adding new nodes ==&lt;br /&gt;
If you or someone else created new nodes, you have first to add them to the nodeeditor. The nodes are defined in a *.js file. This file has to be copied to the '''nodes''' folder.&lt;br /&gt;
&lt;br /&gt;
[[image:nodefolder.png]]&lt;br /&gt;
&lt;br /&gt;
After that you have add a entry in the index.html.&lt;br /&gt;
&lt;br /&gt;
[[image:indexhtml.png]]&lt;br /&gt;
&lt;br /&gt;
Open the file index.html with an editor and go to this lines:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/basic.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/points.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/curves.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/solids.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/construct.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/transform.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/objects.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/interface.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To insert the new nodes to the menu, you can choose the place:&lt;br /&gt;
e.g.: To insert after transform - insert a line here:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;.....&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/construct.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/transform.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;-&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/objects.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/interface.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Copy one of the lines e.g. ''&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/transform.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;'',insert and change it to&lt;br /&gt;
''&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/my_new_nodes.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;'' Where my_new_nodes.js is an example for the name of the new file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;.....&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/construct.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/transform.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/my_new_nodes.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/objects.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/interface.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
But attention:&lt;br /&gt;
&lt;br /&gt;
Have also a look in the into the node file -&lt;br /&gt;
&lt;br /&gt;
Where the single nodes are placed in the sub menues will be defined by a sequence like this:&lt;br /&gt;
&lt;br /&gt;
LiteGraph.registerNodeType(&amp;quot;Basic/Output&amp;quot;, MoIOutput);&lt;br /&gt;
&lt;br /&gt;
So it can be, that the file contains node definitions, that not fit to the file name.&lt;/div&gt;</summary>
		<author><name>Karsten</name></author>
		
	</entry>
	<entry>
		<id>https://moi3d.com/wiki/index.php?title=Nodeeditor&amp;diff=846</id>
		<title>Nodeeditor</title>
		<link rel="alternate" type="text/html" href="https://moi3d.com/wiki/index.php?title=Nodeeditor&amp;diff=846"/>
		<updated>2016-12-29T12:45:53Z</updated>

		<summary type="html">&lt;p&gt;Karsten: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===== Intro =====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Which version is the actual one? nodeeditor V0.85 - You can find it here: http://moi3d.com/forum/index.php?webtag=MOI&amp;amp;msg=7713.457&lt;br /&gt;
&lt;br /&gt;
A version with some additions is available here: http://moi3d.com/forum/messages.php?webtag=MOI&amp;amp;msg=8197.1&lt;br /&gt;
&lt;br /&gt;
'''Consider this: The nodeeditor is still under development - so node files, you've created with one of these versions, can have problems with later ones.&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
== What is the nodeeditor? ==&lt;br /&gt;
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.&lt;br /&gt;
== Installation ==&lt;br /&gt;
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:&lt;br /&gt;
''moi.ui.createDialog( 'nodeeditor.v.0.85/index.html', 'resizeable,defaultWidth:680,defaultHeight:420', moi.ui.mainWindow )''&lt;br /&gt;
Now press close - and enter your shortcut key. - Hopefully it works. If not, you can find some tips [[troubleshooting|here]]&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* [[numarray]] -&amp;gt; for numbers and arrays of them&lt;br /&gt;
* [[pointarray]] -&amp;gt; for points and sequences of points&lt;br /&gt;
* [[objectlist]] -&amp;gt; geometrical objects like points, lines, curves, bodies ...&lt;br /&gt;
* [[boolean]] -&amp;gt; for logical operations&lt;br /&gt;
&lt;br /&gt;
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 be 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 the Output is wired to the input. The color of the wire depends on the data type which will be &amp;quot;transported&amp;quot;. 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 [[Overview of the sub menues|here]].&lt;br /&gt;
&lt;br /&gt;
== nodeeditors canvas ==&lt;br /&gt;
&lt;br /&gt;
the following picture shows the nodeeditor canvas:&lt;br /&gt;
&lt;br /&gt;
[[image:canvas.png]]&lt;br /&gt;
&lt;br /&gt;
From the upper left to the upper right:&lt;br /&gt;
* '''New''' - Creates a new node project - doesn't work at the moment. As a workaround you can store an empty nodefile with '''Save''' and load it back with '''Load''' when needed.&lt;br /&gt;
* '''Load''' - loads a stored nod-file from disk. The file extension is '''.nod'''.&lt;br /&gt;
* '''Save''' - stores a node project&lt;br /&gt;
* '''Apply''' - The Apply button commits a geometry calculated with the nodeeditor to the Moi working enviroment. After pressing the Apply button the geometry is independent from the nodeeditor.&lt;br /&gt;
* '''Run''' - Starts the calculation&lt;br /&gt;
* '''Step''' - The node project will be calculated stepwise&lt;br /&gt;
* '''i'''(Info) - The Info button opens the info panel for nodes - shown on the right side of the picture. Here you can look a the properties of the node and change them. It shows the actual clicked node.. You can open it also with a double click on a node.&lt;br /&gt;
&lt;br /&gt;
To move the view, press down the left mouse button in a free area of the canvas and move the mouse. With your mouse wheel you can zoom in and out. If you press down the left mouse button inside a node, you can move it around. Release the mouse button places it to the mouse position. Pressing the left mouse button on a nodes output you will start a connection. Move the mouse cursor while keeping the button pressed to the input of another node, a connection is made when relase the button there. If you press the right mouse button in a free area of the canvas, a pull down menue opens. In the sub menues you can choose the node type you want to create. The node will placed at the position where you pressed the right mouse button. Pressing the right mouse button inside a node will open a menue with options for the node like clone or remove.&lt;br /&gt;
&lt;br /&gt;
== Adding new nodes ==&lt;br /&gt;
If you or someone else created new nodes, you have first to add them to the nodeeditor. The nodes are defined in a *.js file. This file has to be copied to the '''nodes''' folder.&lt;br /&gt;
&lt;br /&gt;
[[image:nodefolder.png]]&lt;br /&gt;
&lt;br /&gt;
After that you have add a entry in the index.html.&lt;br /&gt;
&lt;br /&gt;
[[image:indexhtml.png]]&lt;br /&gt;
&lt;br /&gt;
Open the file index.html with an editor and go to this lines:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/basic.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/points.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/curves.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/solids.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/construct.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/transform.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/objects.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/interface.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To insert the new nodes to the menu, you can choose the place:&lt;br /&gt;
e.g.: To insert after transform - insert a line here:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
.....&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/construct.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/transform.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;-&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/objects.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/interface.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Copy one of the lines e.g. ''&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/transform.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;'',insert and change it to&lt;br /&gt;
''&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/my_new_nodes.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;'' Where my_new_nodes.js is an example for the name of the new file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
.....&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/construct.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/transform.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/my_new_nodes.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/objects.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/interface.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
But attention:&lt;br /&gt;
&lt;br /&gt;
Have also a look in the into the node file -&lt;br /&gt;
&lt;br /&gt;
Where the single nodes are placed in the sub menues will be defined by a sequence like this:&lt;br /&gt;
&lt;br /&gt;
LiteGraph.registerNodeType(&amp;quot;Basic/Output&amp;quot;, MoIOutput);&lt;br /&gt;
&lt;br /&gt;
So it can be, that the file contains node definitions, that not fit to the file name.&lt;/div&gt;</summary>
		<author><name>Karsten</name></author>
		
	</entry>
	<entry>
		<id>https://moi3d.com/wiki/index.php?title=Nodeeditor&amp;diff=845</id>
		<title>Nodeeditor</title>
		<link rel="alternate" type="text/html" href="https://moi3d.com/wiki/index.php?title=Nodeeditor&amp;diff=845"/>
		<updated>2016-12-29T12:44:14Z</updated>

		<summary type="html">&lt;p&gt;Karsten: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===== Intro =====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Which version is the actual one? nodeeditor V0.85 - You can find it here: http://moi3d.com/forum/index.php?webtag=MOI&amp;amp;msg=7713.457&lt;br /&gt;
&lt;br /&gt;
A version with some additions is available here: http://moi3d.com/forum/messages.php?webtag=MOI&amp;amp;msg=8197.1&lt;br /&gt;
&lt;br /&gt;
'''Consider this: The nodeeditor is still under development - so node files, you've created with one of these versions, can have problems with later ones.&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
== What is the nodeeditor? ==&lt;br /&gt;
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.&lt;br /&gt;
== Installation ==&lt;br /&gt;
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:&lt;br /&gt;
''moi.ui.createDialog( 'nodeeditor.v.0.85/index.html', 'resizeable,defaultWidth:680,defaultHeight:420', moi.ui.mainWindow )''&lt;br /&gt;
Now press close - and enter your shortcut key. - Hopefully it works. If not, you can find some tips [[troubleshooting|here]]&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* [[numarray]] -&amp;gt; for numbers and arrays of them&lt;br /&gt;
* [[pointarray]] -&amp;gt; for points and sequences of points&lt;br /&gt;
* [[objectlist]] -&amp;gt; geometrical objects like points, lines, curves, bodies ...&lt;br /&gt;
* [[boolean]] -&amp;gt; for logical operations&lt;br /&gt;
&lt;br /&gt;
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 be 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 the Output is wired to the input. The color of the wire depends on the data type which will be &amp;quot;transported&amp;quot;. 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 [[Overview of the sub menues|here]].&lt;br /&gt;
&lt;br /&gt;
== nodeeditors canvas ==&lt;br /&gt;
&lt;br /&gt;
the following picture shows the nodeeditor canvas:&lt;br /&gt;
&lt;br /&gt;
[[image:canvas.png]]&lt;br /&gt;
&lt;br /&gt;
From the upper left to the upper right:&lt;br /&gt;
* '''New''' - Creates a new node project - doesn't work at the moment. As a workaround you can store an empty nodefile with '''Save''' and load it back with '''Load''' when needed.&lt;br /&gt;
* '''Load''' - loads a stored nod-file from disk. The file extension is '''.nod'''.&lt;br /&gt;
* '''Save''' - stores a node project&lt;br /&gt;
* '''Apply''' - The Apply button commits a geometry calculated with the nodeeditor to the Moi working enviroment. After pressing the Apply button the geometry is independent from the nodeeditor.&lt;br /&gt;
* '''Run''' - Starts the calculation&lt;br /&gt;
* '''Step''' - The node project will be calculated stepwise&lt;br /&gt;
* '''i'''(Info) - The Info button opens the info panel for nodes - shown on the right side of the picture. Here you can look a the properties of the node and change them. It shows the actual clicked node.. You can open it also with a double click on a node.&lt;br /&gt;
&lt;br /&gt;
To move the view, press down the left mouse button in a free area of the canvas and move the mouse. With your mouse wheel you can zoom in and out. If you press down the left mouse button inside a node, you can move it around. Release the mouse button places it to the mouse position. Pressing the left mouse button on a nodes output you will start a connection. Move the mouse cursor while keeping the button pressed to the input of another node, a connection is made when relase the button there. If you press the right mouse button in a free area of the canvas, a pull down menue opens. In the sub menues you can choose the node type you want to create. The node will placed at the position where you pressed the right mouse button. Pressing the right mouse button inside a node will open a menue with options for the node like clone or remove.&lt;br /&gt;
&lt;br /&gt;
== Adding new nodes ==&lt;br /&gt;
If you or someone else created new nodes, you have first to add them to the nodeeditor. The nodes are defined in a *.js file. This file has to be copied to the '''nodes''' folder.&lt;br /&gt;
&lt;br /&gt;
[[image:nodefolder.png]]&lt;br /&gt;
&lt;br /&gt;
After that you have add a entry in the index.html.&lt;br /&gt;
&lt;br /&gt;
[[image:indexhtml.png]]&lt;br /&gt;
&lt;br /&gt;
Open the file index.html with an editor and go to this lines:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/basic.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/points.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/curves.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/solids.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/construct.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/transform.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/objects.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/interface.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To insert the new nodes to the menu, you can choose the place:&lt;br /&gt;
e.g.: To insert after transform - insert a line here:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
.....&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/construct.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/transform.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;-&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/objects.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/interface.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Copy one of the lines e.g. ''&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/transform.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;'',insert and change it to&lt;br /&gt;
''&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/my_new_nodes.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;'' Where my_new_nodes.js is an example for the name of the new file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
.....&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/construct.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/transform.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/my_new_nodes.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/objects.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/interface.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
But attention:&lt;br /&gt;
&lt;br /&gt;
Have also a look in the into the node file -&lt;br /&gt;
&lt;br /&gt;
Where the single nodes are placed in the sub menues will be defined by a sequence like this:&lt;br /&gt;
&lt;br /&gt;
LiteGraph.registerNodeType(&amp;quot;Basic/Output&amp;quot;, MoIOutput);&lt;br /&gt;
&lt;br /&gt;
So it can be, that the file contains node definitions, that not fit to the file name.&lt;/div&gt;</summary>
		<author><name>Karsten</name></author>
		
	</entry>
	<entry>
		<id>https://moi3d.com/wiki/index.php?title=Nodeeditor&amp;diff=844</id>
		<title>Nodeeditor</title>
		<link rel="alternate" type="text/html" href="https://moi3d.com/wiki/index.php?title=Nodeeditor&amp;diff=844"/>
		<updated>2016-12-29T12:42:35Z</updated>

		<summary type="html">&lt;p&gt;Karsten: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===== Intro =====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Which version is the actual one? nodeeditor V0.85 - You can find it here: http://moi3d.com/forum/index.php?webtag=MOI&amp;amp;msg=7713.457&lt;br /&gt;
&lt;br /&gt;
A version with some additions is available here: http://moi3d.com/forum/messages.php?webtag=MOI&amp;amp;msg=8197.1&lt;br /&gt;
&lt;br /&gt;
'''Consider this: The nodeeditor is still under development - so node files, you've created with one of these versions, can have problems with later ones.&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
== What is the nodeeditor? ==&lt;br /&gt;
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.&lt;br /&gt;
== Installation ==&lt;br /&gt;
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:&lt;br /&gt;
''moi.ui.createDialog( 'nodeeditor.v.0.85/index.html', 'resizeable,defaultWidth:680,defaultHeight:420', moi.ui.mainWindow )''&lt;br /&gt;
Now press close - and enter your shortcut key. - Hopefully it works. If not, you can find some tips [[troubleshooting|here]]&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* [[numarray]] -&amp;gt; for numbers and arrays of them&lt;br /&gt;
* [[pointarray]] -&amp;gt; for points and sequences of points&lt;br /&gt;
* [[objectlist]] -&amp;gt; geometrical objects like points, lines, curves, bodies ...&lt;br /&gt;
* [[boolean]] -&amp;gt; for logical operations&lt;br /&gt;
&lt;br /&gt;
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 be 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 the Output is wired to the input. The color of the wire depends on the data type which will be &amp;quot;transported&amp;quot;. 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 [[Overview of the sub menues|here]].&lt;br /&gt;
&lt;br /&gt;
== nodeeditors canvas ==&lt;br /&gt;
&lt;br /&gt;
the following picture shows the nodeeditor canvas:&lt;br /&gt;
&lt;br /&gt;
[[image:canvas.png]]&lt;br /&gt;
&lt;br /&gt;
From the upper left to the upper right:&lt;br /&gt;
* '''New''' - Creates a new node project - doesn't work at the moment. As a workaround you can store an empty nodefile with '''Save''' and load it back with '''Load''' when needed.&lt;br /&gt;
* '''Load''' - loads a stored nod-file from disk. The file extension is '''.nod'''.&lt;br /&gt;
* '''Save''' - stores a node project&lt;br /&gt;
* '''Apply''' - The Apply button commits a geometry calculated with the nodeeditor to the Moi working enviroment. After pressing the Apply button the geometry is independent from the nodeeditor.&lt;br /&gt;
* '''Run''' - Starts the calculation&lt;br /&gt;
* '''Step''' - The node project will be calculated stepwise&lt;br /&gt;
* '''i'''(Info) - The Info button opens the info panel for nodes - shown on the right side of the picture. Here you can look a the properties of the node and change them. It shows the actual clicked node.. You can open it also with a double click on a node.&lt;br /&gt;
&lt;br /&gt;
To move the view, press down the left mouse button in a free area of the canvas and move the mouse. With your mouse wheel you can zoom in and out. If you press down the left mouse button inside a node, you can move it around. Release the mouse button places it to the mouse position. Pressing the left mouse button on a nodes output you will start a connection. Move the mouse cursor while keeping the button pressed to the input of another node, a connection is made when relase the button there. If you press the right mouse button in a free area of the canvas, a pull down menue opens. In the sub menues you can choose the node type you want to create. The node will placed at the position where you pressed the right mouse button. Pressing the right mouse button inside a node will open a menue with options for the node like clone or remove.&lt;br /&gt;
&lt;br /&gt;
== Adding new nodes ==&lt;br /&gt;
If you or someone else created new nodes, you have first to add them to the nodeeditor. The nodes are defined in a *.js file. This file has to be copied to the '''nodes''' folder.&lt;br /&gt;
&lt;br /&gt;
[[image:nodefolder.png]]&lt;br /&gt;
&lt;br /&gt;
After that you have add a entry in the index.html.&lt;br /&gt;
&lt;br /&gt;
[[image:indexhtml.png]]&lt;br /&gt;
&lt;br /&gt;
Open the file index.html with an editor and go to this lines:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/basic.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/points.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/curves.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/solids.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/construct.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/transform.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/objects.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/interface.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To insert the new nodes to the menu, you can choose the place:&lt;br /&gt;
e.g.: To insert after transform - insert a line here:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
.....&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/construct.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/transform.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;-&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/objects.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/interface.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Copy one of the lines e.g. ''&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/transform.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;'',insert and change it to&lt;br /&gt;
''&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/my_new_nodes.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;'' Where my_new_nodes.js is an example for the name of the new file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
.....&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/construct.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/transform.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/my_new_nodes.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/objects.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/interface.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
But attention:&lt;br /&gt;
&lt;br /&gt;
Have also a look in the into the node file -&lt;br /&gt;
&lt;br /&gt;
Where the single nodes are placed in the sub menues will be defined by a sequence like this:&lt;br /&gt;
&lt;br /&gt;
LiteGraph.registerNodeType(&amp;quot;Basic/Output&amp;quot;, MoIOutput);&lt;br /&gt;
&lt;br /&gt;
So it can be, that the file contains node definitions, that not fit to the file name.&lt;/div&gt;</summary>
		<author><name>Karsten</name></author>
		
	</entry>
	<entry>
		<id>https://moi3d.com/wiki/index.php?title=Nodeeditor&amp;diff=843</id>
		<title>Nodeeditor</title>
		<link rel="alternate" type="text/html" href="https://moi3d.com/wiki/index.php?title=Nodeeditor&amp;diff=843"/>
		<updated>2016-12-29T12:40:22Z</updated>

		<summary type="html">&lt;p&gt;Karsten: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===== Intro =====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Which version is the actual one? nodeeditor V0.85 - You can find it here: http://moi3d.com/forum/index.php?webtag=MOI&amp;amp;msg=7713.457&lt;br /&gt;
&lt;br /&gt;
A version with some additions is available here: http://moi3d.com/forum/messages.php?webtag=MOI&amp;amp;msg=8197.1&lt;br /&gt;
&lt;br /&gt;
'''Consider this: The nodeeditor is still under development - so node files, you've created with one of these versions, can have problems with later ones.&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
== What is the nodeeditor? ==&lt;br /&gt;
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.&lt;br /&gt;
== Installation ==&lt;br /&gt;
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:&lt;br /&gt;
''moi.ui.createDialog( 'nodeeditor.v.0.85/index.html', 'resizeable,defaultWidth:680,defaultHeight:420', moi.ui.mainWindow )''&lt;br /&gt;
Now press close - and enter your shortcut key. - Hopefully it works. If not, you can find some tips [[troubleshooting|here]]&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* [[numarray]] -&amp;gt; for numbers and arrays of them&lt;br /&gt;
* [[pointarray]] -&amp;gt; for points and sequences of points&lt;br /&gt;
* [[objectlist]] -&amp;gt; geometrical objects like points, lines, curves, bodies ...&lt;br /&gt;
* [[boolean]] -&amp;gt; for logical operations&lt;br /&gt;
&lt;br /&gt;
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 be 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 the Output is wired to the input. The color of the wire depends on the data type which will be &amp;quot;transported&amp;quot;. 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 [[Overview of the sub menues|here]].&lt;br /&gt;
&lt;br /&gt;
== nodeeditors canvas ==&lt;br /&gt;
&lt;br /&gt;
the following picture shows the nodeeditor canvas:&lt;br /&gt;
&lt;br /&gt;
[[image:canvas.png]]&lt;br /&gt;
&lt;br /&gt;
From the upper left to the upper right:&lt;br /&gt;
* '''New''' - Creates a new node project - doesn't work at the moment. As a workaround you can store an empty nodefile with '''Save''' and load it back with '''Load''' when needed.&lt;br /&gt;
* '''Load''' - loads a stored nod-file from disk. The file extension is '''.nod'''.&lt;br /&gt;
* '''Save''' - stores a node project&lt;br /&gt;
* '''Apply''' - The Apply button commits a geometry calculated with the nodeeditor to the Moi working enviroment. After pressing the Apply button the geometry is independent from the nodeeditor.&lt;br /&gt;
* '''Run''' - Starts the calculation&lt;br /&gt;
* '''Step''' - The node project will be calculated stepwise&lt;br /&gt;
* '''i'''(Info) - The Info button opens the info panel for nodes - shown on the right side of the picture. Here you can look a the properties of the node and change them. It shows the actual clicked node.. You can open it also with a double click on a node.&lt;br /&gt;
&lt;br /&gt;
To move the view, press down the left mouse button in a free area of the canvas and move the mouse. With your mouse wheel you can zoom in and out. If you press down the left mouse button inside a node, you can move it around. Release the mouse button places it to the mouse position. Pressing the left mouse button on a nodes output you will start a connection. Move the mouse cursor while keeping the button pressed to the input of another node, a connection is made when relase the button there. If you press the right mouse button in a free area of the canvas, a pull down menue opens. In the sub menues you can choose the node type you want to create. The node will placed at the position where you pressed the right mouse button. Pressing the right mouse button inside a node will open a menue with options for the node like clone or remove.&lt;br /&gt;
&lt;br /&gt;
== Adding new nodes ==&lt;br /&gt;
If you or someone else created new nodes, you have first to add them to the nodeeditor. The nodes are defined in a *.js file. This file has to be copied to the '''nodes''' folder.&lt;br /&gt;
&lt;br /&gt;
[[image:nodefolder.png]]&lt;br /&gt;
&lt;br /&gt;
After that you have add a entry in the index.html.&lt;br /&gt;
&lt;br /&gt;
[[image:indexhtml.png]]&lt;br /&gt;
&lt;br /&gt;
Open the file index.html with an editor and go to this lines:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/basic.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/points.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/curves.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/solids.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/construct.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/transform.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/objects.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/interface.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To insert the new nodes to the menu, you can choose the place:&lt;br /&gt;
e.g.: To insert after transform - insert a line here:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
.....&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/construct.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/transform.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;-&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/objects.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/interface.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Copy one of the lines e.g. ''&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/transform.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;'',insert and change it to&lt;br /&gt;
''&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/my_new_nodes.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;'' Where my_new_nodes.js is an example for the name of the new file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
.....&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/construct.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/transform.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/my_new_nodes.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/objects.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/interface.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
But attention:&lt;br /&gt;
&lt;br /&gt;
Have also a look in the into the node file -&lt;br /&gt;
&lt;br /&gt;
Where the single nodes are placed in the sub menues will be defined by a sequence like this:&lt;br /&gt;
&lt;br /&gt;
LiteGraph.registerNodeType(&amp;quot;Basic/Output&amp;quot;, MoIOutput);&lt;br /&gt;
&lt;br /&gt;
So it can be, that the file contains node definitions, that not fit to the file name.&lt;/div&gt;</summary>
		<author><name>Karsten</name></author>
		
	</entry>
	<entry>
		<id>https://moi3d.com/wiki/index.php?title=Nodeeditor&amp;diff=842</id>
		<title>Nodeeditor</title>
		<link rel="alternate" type="text/html" href="https://moi3d.com/wiki/index.php?title=Nodeeditor&amp;diff=842"/>
		<updated>2016-12-11T02:31:53Z</updated>

		<summary type="html">&lt;p&gt;Karsten: /* Adding new nodes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===== Intro =====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Which version is the actual one? nodeeditor V0.85 - You can find it here: http://moi3d.com/forum/index.php?webtag=MOI&amp;amp;msg=7713.457&lt;br /&gt;
&lt;br /&gt;
A version with some additions is available here: http://moi3d.com/forum/messages.php?webtag=MOI&amp;amp;msg=8197.1&lt;br /&gt;
&lt;br /&gt;
'''Consider this: The nodeeditor is still under development - so node files, you've created with one of these versions, can have problems with later ones.&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
== What is the nodeeditor? ==&lt;br /&gt;
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.&lt;br /&gt;
== Installation ==&lt;br /&gt;
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:&lt;br /&gt;
''moi.ui.createDialog( 'nodeeditor.v.0.85/index.html', 'resizeable,defaultWidth:680,defaultHeight:420', moi.ui.mainWindow )''&lt;br /&gt;
Now press close - and enter your shortcut key. - Hopefully it works. If not, you can find some tips [[troubleshooting|here]]&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* [[numarray]] -&amp;gt; for numbers and arrays of them&lt;br /&gt;
* [[pointarray]] -&amp;gt; for points and sequences of points&lt;br /&gt;
* [[objectlist]] -&amp;gt; geometrical objects like points, lines, curves, bodies ...&lt;br /&gt;
* [[boolean]] -&amp;gt; for logical operations&lt;br /&gt;
&lt;br /&gt;
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 be 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 the Output is wired to the input. The color of the wire depends on the data type which will be &amp;quot;transported&amp;quot;. 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 [[Overview of the sub menues|here]].&lt;br /&gt;
&lt;br /&gt;
== nodeeditors canvas ==&lt;br /&gt;
&lt;br /&gt;
the following picture shows the nodeeditor canvas:&lt;br /&gt;
&lt;br /&gt;
[[image:canvas.png]]&lt;br /&gt;
&lt;br /&gt;
From the upper left to the upper right:&lt;br /&gt;
* '''New''' - Creates a new node project - doesn't work at the moment. As a workaround you can store an empty nodefile with '''Save''' and load it back with '''Load''' when needed.&lt;br /&gt;
* '''Load''' - loads a stored nod-file from disk. The file extension is '''.nod'''.&lt;br /&gt;
* '''Save''' - stores a node project&lt;br /&gt;
* '''Apply''' - The Apply button commits a geometry calculated with the nodeeditor to the Moi working enviroment. After pressing the Apply button the geometry is independent from the nodeeditor.&lt;br /&gt;
* '''Run''' - Starts the calculation&lt;br /&gt;
* '''Step''' - The node project will be calculated stepwise&lt;br /&gt;
* '''i'''(Info) - The Info button opens the info panel for nodes - shown on the right side of the picture. Here you can look a the properties of the node and change them. It shows the actual clicked node.. You can open it also with a double click on a node.&lt;br /&gt;
&lt;br /&gt;
To move the view, press down the left mouse button in a free area of the canvas and move the mouse. With your mouse wheel you can zoom in and out. If you press down the left mouse button inside a node, you can move it around. Release the mouse button places it to the mouse position. Pressing the left mouse button on a nodes output you will start a connection. Move the mouse cursor while keeping the button pressed to the input of another node, a connection is made when relase the button there. If you press the right mouse button in a free area of the canvas, a pull down menue opens. In the sub menues you can choose the node type you want to create. The node will placed at the position where you pressed the right mouse button. Pressing the right mouse button inside a node will open a menue with options for the node like clone or remove.&lt;br /&gt;
&lt;br /&gt;
== Adding new nodes ==&lt;br /&gt;
If you or someone else created new nodes, you have first to add them to the nodeeditor. The nodes are defined in a *.js file. This file has to be copied to the '''nodes''' folder.&lt;br /&gt;
&lt;br /&gt;
[[image:nodefolder.png]]&lt;br /&gt;
&lt;br /&gt;
After that you have add a entry in the index.html.&lt;br /&gt;
&lt;br /&gt;
[[image:indexhtml.png]]&lt;br /&gt;
&lt;br /&gt;
Open the file index.html with an editor and go to this lines:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/basic.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/points.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/curves.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/solids.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/construct.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/transform.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/objects.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/interface.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To insert the new nodes to the menu, you can choose the place:&lt;br /&gt;
e.g.: To insert after transform - insert a line here:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
.....&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/construct.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/transform.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;-&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/objects.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/interface.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Copy one of the lines e.g. ''&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/transform.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;'',insert and change it to&lt;br /&gt;
''&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/my_new_nodes.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;'' Where my_new_nodes.js is an example for the name of the new file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
.....&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/construct.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/transform.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/my_new_nodes.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/objects.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/interface.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
But attention:&lt;br /&gt;
&lt;br /&gt;
Have also a look in the into the node file -&lt;br /&gt;
&lt;br /&gt;
Where the single nodes are placed in the sub menues will be defined by a sequence like this:&lt;br /&gt;
&lt;br /&gt;
LiteGraph.registerNodeType(&amp;quot;Basic/Output&amp;quot;, MoIOutput);&lt;br /&gt;
&lt;br /&gt;
So it can be, that the file contains node definitions, that not fit to the file name.&lt;/div&gt;</summary>
		<author><name>Karsten</name></author>
		
	</entry>
	<entry>
		<id>https://moi3d.com/wiki/index.php?title=Nodeeditor&amp;diff=841</id>
		<title>Nodeeditor</title>
		<link rel="alternate" type="text/html" href="https://moi3d.com/wiki/index.php?title=Nodeeditor&amp;diff=841"/>
		<updated>2016-12-11T02:13:26Z</updated>

		<summary type="html">&lt;p&gt;Karsten: /* Adding new nodes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===== Intro =====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Which version is the actual one? nodeeditor V0.85 - You can find it here: http://moi3d.com/forum/index.php?webtag=MOI&amp;amp;msg=7713.457&lt;br /&gt;
&lt;br /&gt;
A version with some additions is available here: http://moi3d.com/forum/messages.php?webtag=MOI&amp;amp;msg=8197.1&lt;br /&gt;
&lt;br /&gt;
'''Consider this: The nodeeditor is still under development - so node files, you've created with one of these versions, can have problems with later ones.&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
== What is the nodeeditor? ==&lt;br /&gt;
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.&lt;br /&gt;
== Installation ==&lt;br /&gt;
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:&lt;br /&gt;
''moi.ui.createDialog( 'nodeeditor.v.0.85/index.html', 'resizeable,defaultWidth:680,defaultHeight:420', moi.ui.mainWindow )''&lt;br /&gt;
Now press close - and enter your shortcut key. - Hopefully it works. If not, you can find some tips [[troubleshooting|here]]&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* [[numarray]] -&amp;gt; for numbers and arrays of them&lt;br /&gt;
* [[pointarray]] -&amp;gt; for points and sequences of points&lt;br /&gt;
* [[objectlist]] -&amp;gt; geometrical objects like points, lines, curves, bodies ...&lt;br /&gt;
* [[boolean]] -&amp;gt; for logical operations&lt;br /&gt;
&lt;br /&gt;
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 be 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 the Output is wired to the input. The color of the wire depends on the data type which will be &amp;quot;transported&amp;quot;. 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 [[Overview of the sub menues|here]].&lt;br /&gt;
&lt;br /&gt;
== nodeeditors canvas ==&lt;br /&gt;
&lt;br /&gt;
the following picture shows the nodeeditor canvas:&lt;br /&gt;
&lt;br /&gt;
[[image:canvas.png]]&lt;br /&gt;
&lt;br /&gt;
From the upper left to the upper right:&lt;br /&gt;
* '''New''' - Creates a new node project - doesn't work at the moment. As a workaround you can store an empty nodefile with '''Save''' and load it back with '''Load''' when needed.&lt;br /&gt;
* '''Load''' - loads a stored nod-file from disk. The file extension is '''.nod'''.&lt;br /&gt;
* '''Save''' - stores a node project&lt;br /&gt;
* '''Apply''' - The Apply button commits a geometry calculated with the nodeeditor to the Moi working enviroment. After pressing the Apply button the geometry is independent from the nodeeditor.&lt;br /&gt;
* '''Run''' - Starts the calculation&lt;br /&gt;
* '''Step''' - The node project will be calculated stepwise&lt;br /&gt;
* '''i'''(Info) - The Info button opens the info panel for nodes - shown on the right side of the picture. Here you can look a the properties of the node and change them. It shows the actual clicked node.. You can open it also with a double click on a node.&lt;br /&gt;
&lt;br /&gt;
To move the view, press down the left mouse button in a free area of the canvas and move the mouse. With your mouse wheel you can zoom in and out. If you press down the left mouse button inside a node, you can move it around. Release the mouse button places it to the mouse position. Pressing the left mouse button on a nodes output you will start a connection. Move the mouse cursor while keeping the button pressed to the input of another node, a connection is made when relase the button there. If you press the right mouse button in a free area of the canvas, a pull down menue opens. In the sub menues you can choose the node type you want to create. The node will placed at the position where you pressed the right mouse button. Pressing the right mouse button inside a node will open a menue with options for the node like clone or remove.&lt;br /&gt;
&lt;br /&gt;
== Adding new nodes ==&lt;br /&gt;
If you or someone else created new nodes, you have first to add them to the nodeeditor. The nodes are defined in a *.js file. This file has to be copied to the '''nodes''' folder.&lt;br /&gt;
&lt;br /&gt;
[[image:nodefolder.png]]&lt;br /&gt;
&lt;br /&gt;
After that you have add a entry in the index.html.&lt;br /&gt;
&lt;br /&gt;
[[image:indexhtml.png]]&lt;br /&gt;
&lt;br /&gt;
Open the file index.html with an editor and go to this lines:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/basic.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/points.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/curves.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/solids.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/construct.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/transform.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/objects.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/interface.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To insert the new nodes to the menu, you can choose the place:&lt;br /&gt;
e.g.: To insert after transform - insert a line here:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
.....&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/construct.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/transform.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;-&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/objects.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/interface.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Copy one of the lines e.g. ''&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/transform.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;'',insert and change it to&lt;br /&gt;
''&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/my_new_nodes.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;'' Where my_new_nodes.js is an example for the name of the new file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
.....&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/construct.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/transform.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/my_new_nodes.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/objects.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/interface.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''&lt;/div&gt;</summary>
		<author><name>Karsten</name></author>
		
	</entry>
	<entry>
		<id>https://moi3d.com/wiki/index.php?title=Nodeeditor&amp;diff=840</id>
		<title>Nodeeditor</title>
		<link rel="alternate" type="text/html" href="https://moi3d.com/wiki/index.php?title=Nodeeditor&amp;diff=840"/>
		<updated>2016-12-11T02:10:58Z</updated>

		<summary type="html">&lt;p&gt;Karsten: /* Adding new nodes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===== Intro =====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Which version is the actual one? nodeeditor V0.85 - You can find it here: http://moi3d.com/forum/index.php?webtag=MOI&amp;amp;msg=7713.457&lt;br /&gt;
&lt;br /&gt;
A version with some additions is available here: http://moi3d.com/forum/messages.php?webtag=MOI&amp;amp;msg=8197.1&lt;br /&gt;
&lt;br /&gt;
'''Consider this: The nodeeditor is still under development - so node files, you've created with one of these versions, can have problems with later ones.&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
== What is the nodeeditor? ==&lt;br /&gt;
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.&lt;br /&gt;
== Installation ==&lt;br /&gt;
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:&lt;br /&gt;
''moi.ui.createDialog( 'nodeeditor.v.0.85/index.html', 'resizeable,defaultWidth:680,defaultHeight:420', moi.ui.mainWindow )''&lt;br /&gt;
Now press close - and enter your shortcut key. - Hopefully it works. If not, you can find some tips [[troubleshooting|here]]&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* [[numarray]] -&amp;gt; for numbers and arrays of them&lt;br /&gt;
* [[pointarray]] -&amp;gt; for points and sequences of points&lt;br /&gt;
* [[objectlist]] -&amp;gt; geometrical objects like points, lines, curves, bodies ...&lt;br /&gt;
* [[boolean]] -&amp;gt; for logical operations&lt;br /&gt;
&lt;br /&gt;
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 be 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 the Output is wired to the input. The color of the wire depends on the data type which will be &amp;quot;transported&amp;quot;. 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 [[Overview of the sub menues|here]].&lt;br /&gt;
&lt;br /&gt;
== nodeeditors canvas ==&lt;br /&gt;
&lt;br /&gt;
the following picture shows the nodeeditor canvas:&lt;br /&gt;
&lt;br /&gt;
[[image:canvas.png]]&lt;br /&gt;
&lt;br /&gt;
From the upper left to the upper right:&lt;br /&gt;
* '''New''' - Creates a new node project - doesn't work at the moment. As a workaround you can store an empty nodefile with '''Save''' and load it back with '''Load''' when needed.&lt;br /&gt;
* '''Load''' - loads a stored nod-file from disk. The file extension is '''.nod'''.&lt;br /&gt;
* '''Save''' - stores a node project&lt;br /&gt;
* '''Apply''' - The Apply button commits a geometry calculated with the nodeeditor to the Moi working enviroment. After pressing the Apply button the geometry is independent from the nodeeditor.&lt;br /&gt;
* '''Run''' - Starts the calculation&lt;br /&gt;
* '''Step''' - The node project will be calculated stepwise&lt;br /&gt;
* '''i'''(Info) - The Info button opens the info panel for nodes - shown on the right side of the picture. Here you can look a the properties of the node and change them. It shows the actual clicked node.. You can open it also with a double click on a node.&lt;br /&gt;
&lt;br /&gt;
To move the view, press down the left mouse button in a free area of the canvas and move the mouse. With your mouse wheel you can zoom in and out. If you press down the left mouse button inside a node, you can move it around. Release the mouse button places it to the mouse position. Pressing the left mouse button on a nodes output you will start a connection. Move the mouse cursor while keeping the button pressed to the input of another node, a connection is made when relase the button there. If you press the right mouse button in a free area of the canvas, a pull down menue opens. In the sub menues you can choose the node type you want to create. The node will placed at the position where you pressed the right mouse button. Pressing the right mouse button inside a node will open a menue with options for the node like clone or remove.&lt;br /&gt;
&lt;br /&gt;
== Adding new nodes ==&lt;br /&gt;
If you or someone else created new nodes, you have first to add them to the nodeeditor. The nodes are defined in a *.js file. This file has to be copied to the node folder.&lt;br /&gt;
&lt;br /&gt;
[[image:nodefolder.png]]&lt;br /&gt;
&lt;br /&gt;
After that you have add a entry in the index.html.&lt;br /&gt;
&lt;br /&gt;
[[image:indexhtml.png]]&lt;br /&gt;
&lt;br /&gt;
Open the file index.html with an editor and go to this lines:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/basic.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/points.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/curves.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/solids.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/construct.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/transform.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/objects.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/interface.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To insert the new nodes to the menu, you can choose the place:&lt;br /&gt;
e.g.: To insert after transform - insert a line here:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
.....&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/construct.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/transform.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;-&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/objects.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/interface.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Copy one of the lines e.g. ''&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/transform.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;'',insert and change it to&lt;br /&gt;
''&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/my_new_nodes.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;'' Where my_new_nodes.js is an example for the name of the new file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
.....&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/construct.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/transform.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/my_new_nodes.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/objects.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/interface.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''&lt;/div&gt;</summary>
		<author><name>Karsten</name></author>
		
	</entry>
	<entry>
		<id>https://moi3d.com/wiki/index.php?title=Nodeeditor&amp;diff=839</id>
		<title>Nodeeditor</title>
		<link rel="alternate" type="text/html" href="https://moi3d.com/wiki/index.php?title=Nodeeditor&amp;diff=839"/>
		<updated>2016-12-11T02:09:14Z</updated>

		<summary type="html">&lt;p&gt;Karsten: /* Adding new nodes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===== Intro =====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Which version is the actual one? nodeeditor V0.85 - You can find it here: http://moi3d.com/forum/index.php?webtag=MOI&amp;amp;msg=7713.457&lt;br /&gt;
&lt;br /&gt;
A version with some additions is available here: http://moi3d.com/forum/messages.php?webtag=MOI&amp;amp;msg=8197.1&lt;br /&gt;
&lt;br /&gt;
'''Consider this: The nodeeditor is still under development - so node files, you've created with one of these versions, can have problems with later ones.&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
== What is the nodeeditor? ==&lt;br /&gt;
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.&lt;br /&gt;
== Installation ==&lt;br /&gt;
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:&lt;br /&gt;
''moi.ui.createDialog( 'nodeeditor.v.0.85/index.html', 'resizeable,defaultWidth:680,defaultHeight:420', moi.ui.mainWindow )''&lt;br /&gt;
Now press close - and enter your shortcut key. - Hopefully it works. If not, you can find some tips [[troubleshooting|here]]&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* [[numarray]] -&amp;gt; for numbers and arrays of them&lt;br /&gt;
* [[pointarray]] -&amp;gt; for points and sequences of points&lt;br /&gt;
* [[objectlist]] -&amp;gt; geometrical objects like points, lines, curves, bodies ...&lt;br /&gt;
* [[boolean]] -&amp;gt; for logical operations&lt;br /&gt;
&lt;br /&gt;
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 be 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 the Output is wired to the input. The color of the wire depends on the data type which will be &amp;quot;transported&amp;quot;. 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 [[Overview of the sub menues|here]].&lt;br /&gt;
&lt;br /&gt;
== nodeeditors canvas ==&lt;br /&gt;
&lt;br /&gt;
the following picture shows the nodeeditor canvas:&lt;br /&gt;
&lt;br /&gt;
[[image:canvas.png]]&lt;br /&gt;
&lt;br /&gt;
From the upper left to the upper right:&lt;br /&gt;
* '''New''' - Creates a new node project - doesn't work at the moment. As a workaround you can store an empty nodefile with '''Save''' and load it back with '''Load''' when needed.&lt;br /&gt;
* '''Load''' - loads a stored nod-file from disk. The file extension is '''.nod'''.&lt;br /&gt;
* '''Save''' - stores a node project&lt;br /&gt;
* '''Apply''' - The Apply button commits a geometry calculated with the nodeeditor to the Moi working enviroment. After pressing the Apply button the geometry is independent from the nodeeditor.&lt;br /&gt;
* '''Run''' - Starts the calculation&lt;br /&gt;
* '''Step''' - The node project will be calculated stepwise&lt;br /&gt;
* '''i'''(Info) - The Info button opens the info panel for nodes - shown on the right side of the picture. Here you can look a the properties of the node and change them. It shows the actual clicked node.. You can open it also with a double click on a node.&lt;br /&gt;
&lt;br /&gt;
To move the view, press down the left mouse button in a free area of the canvas and move the mouse. With your mouse wheel you can zoom in and out. If you press down the left mouse button inside a node, you can move it around. Release the mouse button places it to the mouse position. Pressing the left mouse button on a nodes output you will start a connection. Move the mouse cursor while keeping the button pressed to the input of another node, a connection is made when relase the button there. If you press the right mouse button in a free area of the canvas, a pull down menue opens. In the sub menues you can choose the node type you want to create. The node will placed at the position where you pressed the right mouse button. Pressing the right mouse button inside a node will open a menue with options for the node like clone or remove.&lt;br /&gt;
&lt;br /&gt;
== Adding new nodes ==&lt;br /&gt;
If you or someone else created new nodes, you have first to add them to the nodeeditor. The nodes are defined in a *.js file. This file has to be copied to the node folder.&lt;br /&gt;
&lt;br /&gt;
[[image:nodefolder.png]]&lt;br /&gt;
&lt;br /&gt;
After that you have add a entry in the index.html.&lt;br /&gt;
&lt;br /&gt;
[[image:indexhtml.png]]&lt;br /&gt;
&lt;br /&gt;
Open the file index.html with an editor and go to this lines:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/basic.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/points.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/curves.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/solids.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/construct.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/transform.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/objects.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/interface.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To insert the new nodes to the menu, you can choose the place:&lt;br /&gt;
e.g.: To insert after transform - insert a line here:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''.....&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/construct.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/transform.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/objects.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/interface.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Copy one of the lines e.g. ''&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/transform.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;'',insert and change it to&lt;br /&gt;
''&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/my_new_nodes.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;'' Where my_new_nodes.js is an example for the name of the new file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''.....&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/construct.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/transform.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/my_new_nodes.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/objects.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/interface.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''&lt;/div&gt;</summary>
		<author><name>Karsten</name></author>
		
	</entry>
	<entry>
		<id>https://moi3d.com/wiki/index.php?title=Nodeeditor&amp;diff=838</id>
		<title>Nodeeditor</title>
		<link rel="alternate" type="text/html" href="https://moi3d.com/wiki/index.php?title=Nodeeditor&amp;diff=838"/>
		<updated>2016-12-11T02:07:27Z</updated>

		<summary type="html">&lt;p&gt;Karsten: /* Adding new nodes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===== Intro =====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Which version is the actual one? nodeeditor V0.85 - You can find it here: http://moi3d.com/forum/index.php?webtag=MOI&amp;amp;msg=7713.457&lt;br /&gt;
&lt;br /&gt;
A version with some additions is available here: http://moi3d.com/forum/messages.php?webtag=MOI&amp;amp;msg=8197.1&lt;br /&gt;
&lt;br /&gt;
'''Consider this: The nodeeditor is still under development - so node files, you've created with one of these versions, can have problems with later ones.&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
== What is the nodeeditor? ==&lt;br /&gt;
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.&lt;br /&gt;
== Installation ==&lt;br /&gt;
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:&lt;br /&gt;
''moi.ui.createDialog( 'nodeeditor.v.0.85/index.html', 'resizeable,defaultWidth:680,defaultHeight:420', moi.ui.mainWindow )''&lt;br /&gt;
Now press close - and enter your shortcut key. - Hopefully it works. If not, you can find some tips [[troubleshooting|here]]&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* [[numarray]] -&amp;gt; for numbers and arrays of them&lt;br /&gt;
* [[pointarray]] -&amp;gt; for points and sequences of points&lt;br /&gt;
* [[objectlist]] -&amp;gt; geometrical objects like points, lines, curves, bodies ...&lt;br /&gt;
* [[boolean]] -&amp;gt; for logical operations&lt;br /&gt;
&lt;br /&gt;
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 be 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 the Output is wired to the input. The color of the wire depends on the data type which will be &amp;quot;transported&amp;quot;. 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 [[Overview of the sub menues|here]].&lt;br /&gt;
&lt;br /&gt;
== nodeeditors canvas ==&lt;br /&gt;
&lt;br /&gt;
the following picture shows the nodeeditor canvas:&lt;br /&gt;
&lt;br /&gt;
[[image:canvas.png]]&lt;br /&gt;
&lt;br /&gt;
From the upper left to the upper right:&lt;br /&gt;
* '''New''' - Creates a new node project - doesn't work at the moment. As a workaround you can store an empty nodefile with '''Save''' and load it back with '''Load''' when needed.&lt;br /&gt;
* '''Load''' - loads a stored nod-file from disk. The file extension is '''.nod'''.&lt;br /&gt;
* '''Save''' - stores a node project&lt;br /&gt;
* '''Apply''' - The Apply button commits a geometry calculated with the nodeeditor to the Moi working enviroment. After pressing the Apply button the geometry is independent from the nodeeditor.&lt;br /&gt;
* '''Run''' - Starts the calculation&lt;br /&gt;
* '''Step''' - The node project will be calculated stepwise&lt;br /&gt;
* '''i'''(Info) - The Info button opens the info panel for nodes - shown on the right side of the picture. Here you can look a the properties of the node and change them. It shows the actual clicked node.. You can open it also with a double click on a node.&lt;br /&gt;
&lt;br /&gt;
To move the view, press down the left mouse button in a free area of the canvas and move the mouse. With your mouse wheel you can zoom in and out. If you press down the left mouse button inside a node, you can move it around. Release the mouse button places it to the mouse position. Pressing the left mouse button on a nodes output you will start a connection. Move the mouse cursor while keeping the button pressed to the input of another node, a connection is made when relase the button there. If you press the right mouse button in a free area of the canvas, a pull down menue opens. In the sub menues you can choose the node type you want to create. The node will placed at the position where you pressed the right mouse button. Pressing the right mouse button inside a node will open a menue with options for the node like clone or remove.&lt;br /&gt;
&lt;br /&gt;
== Adding new nodes ==&lt;br /&gt;
If you or someone else created new nodes, you have first to add them to the nodeeditor. The nodes are defined in a *.js file. This file has to be copied to the node folder.&lt;br /&gt;
&lt;br /&gt;
[[image:nodefolder.png]]&lt;br /&gt;
&lt;br /&gt;
After that you have add a entry in the index.html.&lt;br /&gt;
&lt;br /&gt;
[[image:indexhtml.png]]&lt;br /&gt;
&lt;br /&gt;
Open the file index.html with an editor and go to this lines:&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/basic.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/points.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/curves.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/solids.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/construct.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/transform.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/objects.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/interface.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
To insert the new nodes to the menu, you can choose the place:&lt;br /&gt;
e.g.: To insert after transform - insert a line here:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''.....&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/construct.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/transform.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/objects.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/interface.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
'''&lt;br /&gt;
Copy one of the lines e.g. ''&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/transform.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;'',insert and change it to&lt;br /&gt;
''&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/my_new_nodes.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;'' Where my_new_nodes.js is an example for the name of the new file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''.....&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/construct.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/transform.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/my_new_nodes.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/objects.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/interface.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''&lt;/div&gt;</summary>
		<author><name>Karsten</name></author>
		
	</entry>
	<entry>
		<id>https://moi3d.com/wiki/index.php?title=Nodeeditor&amp;diff=837</id>
		<title>Nodeeditor</title>
		<link rel="alternate" type="text/html" href="https://moi3d.com/wiki/index.php?title=Nodeeditor&amp;diff=837"/>
		<updated>2016-12-11T02:02:52Z</updated>

		<summary type="html">&lt;p&gt;Karsten: /* Adding new nodes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===== Intro =====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Which version is the actual one? nodeeditor V0.85 - You can find it here: http://moi3d.com/forum/index.php?webtag=MOI&amp;amp;msg=7713.457&lt;br /&gt;
&lt;br /&gt;
A version with some additions is available here: http://moi3d.com/forum/messages.php?webtag=MOI&amp;amp;msg=8197.1&lt;br /&gt;
&lt;br /&gt;
'''Consider this: The nodeeditor is still under development - so node files, you've created with one of these versions, can have problems with later ones.&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
== What is the nodeeditor? ==&lt;br /&gt;
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.&lt;br /&gt;
== Installation ==&lt;br /&gt;
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:&lt;br /&gt;
''moi.ui.createDialog( 'nodeeditor.v.0.85/index.html', 'resizeable,defaultWidth:680,defaultHeight:420', moi.ui.mainWindow )''&lt;br /&gt;
Now press close - and enter your shortcut key. - Hopefully it works. If not, you can find some tips [[troubleshooting|here]]&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* [[numarray]] -&amp;gt; for numbers and arrays of them&lt;br /&gt;
* [[pointarray]] -&amp;gt; for points and sequences of points&lt;br /&gt;
* [[objectlist]] -&amp;gt; geometrical objects like points, lines, curves, bodies ...&lt;br /&gt;
* [[boolean]] -&amp;gt; for logical operations&lt;br /&gt;
&lt;br /&gt;
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 be 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 the Output is wired to the input. The color of the wire depends on the data type which will be &amp;quot;transported&amp;quot;. 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 [[Overview of the sub menues|here]].&lt;br /&gt;
&lt;br /&gt;
== nodeeditors canvas ==&lt;br /&gt;
&lt;br /&gt;
the following picture shows the nodeeditor canvas:&lt;br /&gt;
&lt;br /&gt;
[[image:canvas.png]]&lt;br /&gt;
&lt;br /&gt;
From the upper left to the upper right:&lt;br /&gt;
* '''New''' - Creates a new node project - doesn't work at the moment. As a workaround you can store an empty nodefile with '''Save''' and load it back with '''Load''' when needed.&lt;br /&gt;
* '''Load''' - loads a stored nod-file from disk. The file extension is '''.nod'''.&lt;br /&gt;
* '''Save''' - stores a node project&lt;br /&gt;
* '''Apply''' - The Apply button commits a geometry calculated with the nodeeditor to the Moi working enviroment. After pressing the Apply button the geometry is independent from the nodeeditor.&lt;br /&gt;
* '''Run''' - Starts the calculation&lt;br /&gt;
* '''Step''' - The node project will be calculated stepwise&lt;br /&gt;
* '''i'''(Info) - The Info button opens the info panel for nodes - shown on the right side of the picture. Here you can look a the properties of the node and change them. It shows the actual clicked node.. You can open it also with a double click on a node.&lt;br /&gt;
&lt;br /&gt;
To move the view, press down the left mouse button in a free area of the canvas and move the mouse. With your mouse wheel you can zoom in and out. If you press down the left mouse button inside a node, you can move it around. Release the mouse button places it to the mouse position. Pressing the left mouse button on a nodes output you will start a connection. Move the mouse cursor while keeping the button pressed to the input of another node, a connection is made when relase the button there. If you press the right mouse button in a free area of the canvas, a pull down menue opens. In the sub menues you can choose the node type you want to create. The node will placed at the position where you pressed the right mouse button. Pressing the right mouse button inside a node will open a menue with options for the node like clone or remove.&lt;br /&gt;
&lt;br /&gt;
== Adding new nodes ==&lt;br /&gt;
If you or someone else created new nodes, you have first to add them to the nodeeditor. The nodes are defined in a *.js file. This file has to be copied to the node folder.&lt;br /&gt;
&lt;br /&gt;
[[image:nodefolder.png]]&lt;br /&gt;
&lt;br /&gt;
After that you have add a entry in the index.html.&lt;br /&gt;
&lt;br /&gt;
[[image:indexhtml.png]]&lt;br /&gt;
&lt;br /&gt;
Open the file index.html with an editor and go to this lines:&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;nowiki&amp;gt;&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/basic.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
		&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/points.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
		&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/curves.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
		&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/solids.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
		&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/construct.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
		&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/transform.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
		&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/objects.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
		&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/interface.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To insert the new nodes to the menu, you can choose the place:&lt;br /&gt;
e.g.: To insert after transform - insert a line here:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;	.....&lt;br /&gt;
		&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/construct.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
		&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/transform.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/objects.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
		&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/interface.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Copy one of the lines e.g. ''&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/transform.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;'',insert and change it to&lt;br /&gt;
''&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/my_new_nodes.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;'' Where my_new_nodes.js is an example for the name of the new file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;nowiki&amp;gt;.....&lt;br /&gt;
		&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/construct.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
		&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/transform.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
		&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/my_new_nodes.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
		&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/objects.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
		&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/interface.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Karsten</name></author>
		
	</entry>
	<entry>
		<id>https://moi3d.com/wiki/index.php?title=Nodeeditor&amp;diff=836</id>
		<title>Nodeeditor</title>
		<link rel="alternate" type="text/html" href="https://moi3d.com/wiki/index.php?title=Nodeeditor&amp;diff=836"/>
		<updated>2016-12-11T02:00:14Z</updated>

		<summary type="html">&lt;p&gt;Karsten: /* Adding new nodes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===== Intro =====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Which version is the actual one? nodeeditor V0.85 - You can find it here: http://moi3d.com/forum/index.php?webtag=MOI&amp;amp;msg=7713.457&lt;br /&gt;
&lt;br /&gt;
A version with some additions is available here: http://moi3d.com/forum/messages.php?webtag=MOI&amp;amp;msg=8197.1&lt;br /&gt;
&lt;br /&gt;
'''Consider this: The nodeeditor is still under development - so node files, you've created with one of these versions, can have problems with later ones.&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
== What is the nodeeditor? ==&lt;br /&gt;
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.&lt;br /&gt;
== Installation ==&lt;br /&gt;
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:&lt;br /&gt;
''moi.ui.createDialog( 'nodeeditor.v.0.85/index.html', 'resizeable,defaultWidth:680,defaultHeight:420', moi.ui.mainWindow )''&lt;br /&gt;
Now press close - and enter your shortcut key. - Hopefully it works. If not, you can find some tips [[troubleshooting|here]]&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* [[numarray]] -&amp;gt; for numbers and arrays of them&lt;br /&gt;
* [[pointarray]] -&amp;gt; for points and sequences of points&lt;br /&gt;
* [[objectlist]] -&amp;gt; geometrical objects like points, lines, curves, bodies ...&lt;br /&gt;
* [[boolean]] -&amp;gt; for logical operations&lt;br /&gt;
&lt;br /&gt;
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 be 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 the Output is wired to the input. The color of the wire depends on the data type which will be &amp;quot;transported&amp;quot;. 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 [[Overview of the sub menues|here]].&lt;br /&gt;
&lt;br /&gt;
== nodeeditors canvas ==&lt;br /&gt;
&lt;br /&gt;
the following picture shows the nodeeditor canvas:&lt;br /&gt;
&lt;br /&gt;
[[image:canvas.png]]&lt;br /&gt;
&lt;br /&gt;
From the upper left to the upper right:&lt;br /&gt;
* '''New''' - Creates a new node project - doesn't work at the moment. As a workaround you can store an empty nodefile with '''Save''' and load it back with '''Load''' when needed.&lt;br /&gt;
* '''Load''' - loads a stored nod-file from disk. The file extension is '''.nod'''.&lt;br /&gt;
* '''Save''' - stores a node project&lt;br /&gt;
* '''Apply''' - The Apply button commits a geometry calculated with the nodeeditor to the Moi working enviroment. After pressing the Apply button the geometry is independent from the nodeeditor.&lt;br /&gt;
* '''Run''' - Starts the calculation&lt;br /&gt;
* '''Step''' - The node project will be calculated stepwise&lt;br /&gt;
* '''i'''(Info) - The Info button opens the info panel for nodes - shown on the right side of the picture. Here you can look a the properties of the node and change them. It shows the actual clicked node.. You can open it also with a double click on a node.&lt;br /&gt;
&lt;br /&gt;
To move the view, press down the left mouse button in a free area of the canvas and move the mouse. With your mouse wheel you can zoom in and out. If you press down the left mouse button inside a node, you can move it around. Release the mouse button places it to the mouse position. Pressing the left mouse button on a nodes output you will start a connection. Move the mouse cursor while keeping the button pressed to the input of another node, a connection is made when relase the button there. If you press the right mouse button in a free area of the canvas, a pull down menue opens. In the sub menues you can choose the node type you want to create. The node will placed at the position where you pressed the right mouse button. Pressing the right mouse button inside a node will open a menue with options for the node like clone or remove.&lt;br /&gt;
&lt;br /&gt;
== Adding new nodes ==&lt;br /&gt;
If you or someone else created new nodes, you have first to add them to the nodeeditor. The nodes are defined in a *.js file. This file has to be copied to the node folder.&lt;br /&gt;
&lt;br /&gt;
[[image:nodefolder.png]]&lt;br /&gt;
&lt;br /&gt;
After that you have add a entry in the index.html.&lt;br /&gt;
&lt;br /&gt;
[[image:indexhtml.png]]&lt;br /&gt;
&lt;br /&gt;
Open the file index.html with an editor and go to this lines:&lt;br /&gt;
&lt;br /&gt;
[[		&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/basic.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
		&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/points.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
		&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/curves.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
		&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/solids.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
		&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/construct.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
		&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/transform.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
		&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/objects.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
		&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/interface.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
To insert the new nodes to the menu, you can choose the place:&lt;br /&gt;
e.g.: To insert after transform - insert a line here:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	[[	.....&lt;br /&gt;
		&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/construct.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
		&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/transform.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/objects.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
		&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/interface.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
]]&lt;br /&gt;
Copy one of the lines e.g. ''&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/transform.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;'',insert and change it to&lt;br /&gt;
''&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/my_new_nodes.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;'' Where my_new_nodes.js is an example for the name of the new file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[		.....&lt;br /&gt;
		&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/construct.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
		&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/transform.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
		&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/my_new_nodes.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
		&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/objects.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
		&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/interface.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
]]&lt;/div&gt;</summary>
		<author><name>Karsten</name></author>
		
	</entry>
	<entry>
		<id>https://moi3d.com/wiki/index.php?title=File:Indexhtml.png&amp;diff=835</id>
		<title>File:Indexhtml.png</title>
		<link rel="alternate" type="text/html" href="https://moi3d.com/wiki/index.php?title=File:Indexhtml.png&amp;diff=835"/>
		<updated>2016-12-11T01:57:48Z</updated>

		<summary type="html">&lt;p&gt;Karsten: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Karsten</name></author>
		
	</entry>
	<entry>
		<id>https://moi3d.com/wiki/index.php?title=File:Nodefolder.png&amp;diff=834</id>
		<title>File:Nodefolder.png</title>
		<link rel="alternate" type="text/html" href="https://moi3d.com/wiki/index.php?title=File:Nodefolder.png&amp;diff=834"/>
		<updated>2016-12-11T01:56:49Z</updated>

		<summary type="html">&lt;p&gt;Karsten: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Karsten</name></author>
		
	</entry>
	<entry>
		<id>https://moi3d.com/wiki/index.php?title=Nodeeditor&amp;diff=833</id>
		<title>Nodeeditor</title>
		<link rel="alternate" type="text/html" href="https://moi3d.com/wiki/index.php?title=Nodeeditor&amp;diff=833"/>
		<updated>2016-12-11T01:55:37Z</updated>

		<summary type="html">&lt;p&gt;Karsten: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===== Intro =====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Which version is the actual one? nodeeditor V0.85 - You can find it here: http://moi3d.com/forum/index.php?webtag=MOI&amp;amp;msg=7713.457&lt;br /&gt;
&lt;br /&gt;
A version with some additions is available here: http://moi3d.com/forum/messages.php?webtag=MOI&amp;amp;msg=8197.1&lt;br /&gt;
&lt;br /&gt;
'''Consider this: The nodeeditor is still under development - so node files, you've created with one of these versions, can have problems with later ones.&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
== What is the nodeeditor? ==&lt;br /&gt;
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.&lt;br /&gt;
== Installation ==&lt;br /&gt;
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:&lt;br /&gt;
''moi.ui.createDialog( 'nodeeditor.v.0.85/index.html', 'resizeable,defaultWidth:680,defaultHeight:420', moi.ui.mainWindow )''&lt;br /&gt;
Now press close - and enter your shortcut key. - Hopefully it works. If not, you can find some tips [[troubleshooting|here]]&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* [[numarray]] -&amp;gt; for numbers and arrays of them&lt;br /&gt;
* [[pointarray]] -&amp;gt; for points and sequences of points&lt;br /&gt;
* [[objectlist]] -&amp;gt; geometrical objects like points, lines, curves, bodies ...&lt;br /&gt;
* [[boolean]] -&amp;gt; for logical operations&lt;br /&gt;
&lt;br /&gt;
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 be 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 the Output is wired to the input. The color of the wire depends on the data type which will be &amp;quot;transported&amp;quot;. 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 [[Overview of the sub menues|here]].&lt;br /&gt;
&lt;br /&gt;
== nodeeditors canvas ==&lt;br /&gt;
&lt;br /&gt;
the following picture shows the nodeeditor canvas:&lt;br /&gt;
&lt;br /&gt;
[[image:canvas.png]]&lt;br /&gt;
&lt;br /&gt;
From the upper left to the upper right:&lt;br /&gt;
* '''New''' - Creates a new node project - doesn't work at the moment. As a workaround you can store an empty nodefile with '''Save''' and load it back with '''Load''' when needed.&lt;br /&gt;
* '''Load''' - loads a stored nod-file from disk. The file extension is '''.nod'''.&lt;br /&gt;
* '''Save''' - stores a node project&lt;br /&gt;
* '''Apply''' - The Apply button commits a geometry calculated with the nodeeditor to the Moi working enviroment. After pressing the Apply button the geometry is independent from the nodeeditor.&lt;br /&gt;
* '''Run''' - Starts the calculation&lt;br /&gt;
* '''Step''' - The node project will be calculated stepwise&lt;br /&gt;
* '''i'''(Info) - The Info button opens the info panel for nodes - shown on the right side of the picture. Here you can look a the properties of the node and change them. It shows the actual clicked node.. You can open it also with a double click on a node.&lt;br /&gt;
&lt;br /&gt;
To move the view, press down the left mouse button in a free area of the canvas and move the mouse. With your mouse wheel you can zoom in and out. If you press down the left mouse button inside a node, you can move it around. Release the mouse button places it to the mouse position. Pressing the left mouse button on a nodes output you will start a connection. Move the mouse cursor while keeping the button pressed to the input of another node, a connection is made when relase the button there. If you press the right mouse button in a free area of the canvas, a pull down menue opens. In the sub menues you can choose the node type you want to create. The node will placed at the position where you pressed the right mouse button. Pressing the right mouse button inside a node will open a menue with options for the node like clone or remove.&lt;br /&gt;
&lt;br /&gt;
== Adding new nodes ==&lt;br /&gt;
If you or someone else created new nodes, you have first to add them to the nodeeditor. The nodes are defined in a *.js file. This file has to be copied to the node folder.&lt;br /&gt;
[[image:nodefolder.png]]&lt;br /&gt;
&lt;br /&gt;
After that you have add a entry in the index.html.&lt;br /&gt;
[[image:indexhtml.png]]&lt;br /&gt;
&lt;br /&gt;
Open the file index.html with an editor and go to this lines:&lt;br /&gt;
''&lt;br /&gt;
		&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/basic.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
		&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/points.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
		&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/curves.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
		&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/solids.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
		&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/construct.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
		&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/transform.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
		&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/objects.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
		&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/interface.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;''&lt;br /&gt;
&lt;br /&gt;
To insert the new nodes to the menu, you can choose the place:&lt;br /&gt;
e.g.: To insert after transform - insert a line here:&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
		.....&lt;br /&gt;
		&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/construct.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
		&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/transform.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/objects.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
		&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/interface.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;''&lt;br /&gt;
&lt;br /&gt;
Copy one of the lines e.g. ''&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/transform.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;'',insert and change it to&lt;br /&gt;
''&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/my_new_nodes.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;'' Where my_new_nodes.js is an example for the name of the new file.&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
		.....&lt;br /&gt;
		&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/construct.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
		&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/transform.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
		&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/my_new_nodes.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
		&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/objects.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
		&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;nodes/interface.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;''&lt;/div&gt;</summary>
		<author><name>Karsten</name></author>
		
	</entry>
	<entry>
		<id>https://moi3d.com/wiki/index.php?title=Node_Programming&amp;diff=832</id>
		<title>Node Programming</title>
		<link rel="alternate" type="text/html" href="https://moi3d.com/wiki/index.php?title=Node_Programming&amp;diff=832"/>
		<updated>2016-12-08T07:16:53Z</updated>

		<summary type="html">&lt;p&gt;Karsten: Blanked the page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Karsten</name></author>
		
	</entry>
	<entry>
		<id>https://moi3d.com/wiki/index.php?title=Node_Programming&amp;diff=830</id>
		<title>Node Programming</title>
		<link rel="alternate" type="text/html" href="https://moi3d.com/wiki/index.php?title=Node_Programming&amp;diff=830"/>
		<updated>2016-12-08T07:15:54Z</updated>

		<summary type="html">&lt;p&gt;Karsten: Karsten moved page Nodeeditors canvas to Node Programming&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== nodeeditors canvas ==&lt;br /&gt;
&lt;br /&gt;
the following picture shows the nodeeditor canvas:&lt;br /&gt;
&lt;br /&gt;
[[image:canvas.png]]&lt;br /&gt;
&lt;br /&gt;
From the upper left to the upper right:&lt;br /&gt;
* '''New''' - Creates a new node project - doesn't work at the moment. As a workaround you can store an empty nodefile with '''Save''' and load it back with '''Load''' when needed.&lt;br /&gt;
* '''Load''' - loads a stored nod-file from disk. The file extension is '''.nod'''.&lt;br /&gt;
* '''Save''' - stores a node project&lt;br /&gt;
* '''Apply''' - The Apply button commits a geometry calculated with the nodeeditor to the Moi working enviroment. After pressing the Apply button the geometry is independent from the nodeeditor.&lt;br /&gt;
* '''Run''' - Starts the calculation&lt;br /&gt;
* '''Step''' - The node project will be calculated stepwise&lt;br /&gt;
* '''i'''(Info) - The Info button opens the info panel for nodes - shown on the right side of the picture. Here you can look a the properties of the node and change them. It shows the actual clicked node.. You can open it also with a double click on a node.&lt;br /&gt;
&lt;br /&gt;
To move the view, press down the left mouse button in a free area of the canvas and move the mouse. With your mouse wheel you can zoom in and out. If you press down the left mouse button inside a node, you can move it around. Release the mouse button places it to the mouse position. Pressing the left mouse button on a nodes output you will start a connection. Move the mouse cursor while keeping the button pressed to the input of another node, a connection is made when relase the button there. If you press the right mouse button in a free area of the canvas, a pull down menue opens. In the sub menues you can choose the node type you want to create. The node will placed at the position where you pressed the right mouse button. Pressing the right mouse button inside a node will open a menue with options for the node like clone or remove.&lt;/div&gt;</summary>
		<author><name>Karsten</name></author>
		
	</entry>
	<entry>
		<id>https://moi3d.com/wiki/index.php?title=Nodeeditors_canvas&amp;diff=831</id>
		<title>Nodeeditors canvas</title>
		<link rel="alternate" type="text/html" href="https://moi3d.com/wiki/index.php?title=Nodeeditors_canvas&amp;diff=831"/>
		<updated>2016-12-08T07:15:54Z</updated>

		<summary type="html">&lt;p&gt;Karsten: Karsten moved page Nodeeditors canvas to Node Programming&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Node Programming]]&lt;/div&gt;</summary>
		<author><name>Karsten</name></author>
		
	</entry>
	<entry>
		<id>https://moi3d.com/wiki/index.php?title=Nodeeditor&amp;diff=829</id>
		<title>Nodeeditor</title>
		<link rel="alternate" type="text/html" href="https://moi3d.com/wiki/index.php?title=Nodeeditor&amp;diff=829"/>
		<updated>2016-12-08T07:10:56Z</updated>

		<summary type="html">&lt;p&gt;Karsten: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===== Intro =====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Which version is the actual one? nodeeditor V0.85 - You can find it here: http://moi3d.com/forum/index.php?webtag=MOI&amp;amp;msg=7713.457&lt;br /&gt;
&lt;br /&gt;
A version with some additions is available here: http://moi3d.com/forum/messages.php?webtag=MOI&amp;amp;msg=8197.1&lt;br /&gt;
&lt;br /&gt;
'''Consider this: The nodeeditor is still under development - so node files, you've created with one of these versions, can have problems with later ones.&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
== What is the nodeeditor? ==&lt;br /&gt;
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.&lt;br /&gt;
== Installation ==&lt;br /&gt;
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:&lt;br /&gt;
''moi.ui.createDialog( 'nodeeditor.v.0.85/index.html', 'resizeable,defaultWidth:680,defaultHeight:420', moi.ui.mainWindow )''&lt;br /&gt;
Now press close - and enter your shortcut key. - Hopefully it works. If not, you can find some tips [[troubleshooting|here]]&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* [[numarray]] -&amp;gt; for numbers and arrays of them&lt;br /&gt;
* [[pointarray]] -&amp;gt; for points and sequences of points&lt;br /&gt;
* [[objectlist]] -&amp;gt; geometrical objects like points, lines, curves, bodies ...&lt;br /&gt;
* [[boolean]] -&amp;gt; for logical operations&lt;br /&gt;
&lt;br /&gt;
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 be 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 the Output is wired to the input. The color of the wire depends on the data type which will be &amp;quot;transported&amp;quot;. 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 [[Overview of the sub menues|here]].&lt;br /&gt;
&lt;br /&gt;
== nodeeditors canvas ==&lt;br /&gt;
&lt;br /&gt;
the following picture shows the nodeeditor canvas:&lt;br /&gt;
&lt;br /&gt;
[[image:canvas.png]]&lt;br /&gt;
&lt;br /&gt;
From the upper left to the upper right:&lt;br /&gt;
* '''New''' - Creates a new node project - doesn't work at the moment. As a workaround you can store an empty nodefile with '''Save''' and load it back with '''Load''' when needed.&lt;br /&gt;
* '''Load''' - loads a stored nod-file from disk. The file extension is '''.nod'''.&lt;br /&gt;
* '''Save''' - stores a node project&lt;br /&gt;
* '''Apply''' - The Apply button commits a geometry calculated with the nodeeditor to the Moi working enviroment. After pressing the Apply button the geometry is independent from the nodeeditor.&lt;br /&gt;
* '''Run''' - Starts the calculation&lt;br /&gt;
* '''Step''' - The node project will be calculated stepwise&lt;br /&gt;
* '''i'''(Info) - The Info button opens the info panel for nodes - shown on the right side of the picture. Here you can look a the properties of the node and change them. It shows the actual clicked node.. You can open it also with a double click on a node.&lt;br /&gt;
&lt;br /&gt;
To move the view, press down the left mouse button in a free area of the canvas and move the mouse. With your mouse wheel you can zoom in and out. If you press down the left mouse button inside a node, you can move it around. Release the mouse button places it to the mouse position. Pressing the left mouse button on a nodes output you will start a connection. Move the mouse cursor while keeping the button pressed to the input of another node, a connection is made when relase the button there. If you press the right mouse button in a free area of the canvas, a pull down menue opens. In the sub menues you can choose the node type you want to create. The node will placed at the position where you pressed the right mouse button. Pressing the right mouse button inside a node will open a menue with options for the node like clone or remove.&lt;/div&gt;</summary>
		<author><name>Karsten</name></author>
		
	</entry>
	<entry>
		<id>https://moi3d.com/wiki/index.php?title=Nodeeditor&amp;diff=828</id>
		<title>Nodeeditor</title>
		<link rel="alternate" type="text/html" href="https://moi3d.com/wiki/index.php?title=Nodeeditor&amp;diff=828"/>
		<updated>2016-12-08T07:02:50Z</updated>

		<summary type="html">&lt;p&gt;Karsten: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===== Intro =====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Which version is the actual one? nodeeditor V0.85 - You can find it here: http://moi3d.com/forum/index.php?webtag=MOI&amp;amp;msg=7713.457&lt;br /&gt;
&lt;br /&gt;
A version with some additions is available here: http://moi3d.com/forum/messages.php?webtag=MOI&amp;amp;msg=8197.1&lt;br /&gt;
&lt;br /&gt;
'''Consider this: The nodeeditor is still under development - so node files, you've created with one of these versions, can have problems with later ones.&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
== What is the nodeeditor? ==&lt;br /&gt;
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.&lt;br /&gt;
== Installation ==&lt;br /&gt;
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:&lt;br /&gt;
''moi.ui.createDialog( 'nodeeditor.v.0.85/index.html', 'resizeable,defaultWidth:680,defaultHeight:420', moi.ui.mainWindow )''&lt;br /&gt;
Now press close - and enter your shortcut key. - Hopefully it works. If not, you can find some tips [[troubleshooting|here]]&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* [[numarray]] -&amp;gt; for numbers and arrays of them&lt;br /&gt;
* [[pointarray]] -&amp;gt; for points and sequences of points&lt;br /&gt;
* [[objectlist]] -&amp;gt; geometrical objects like points, lines, curves, bodies ...&lt;br /&gt;
* [[boolean]] -&amp;gt; for logical operations&lt;br /&gt;
&lt;br /&gt;
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 be 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 the Output is wired to the input. The color of the wire depends on the data type which will be &amp;quot;transported&amp;quot;. 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 [[Overview of the sub menues|here]].&lt;br /&gt;
&lt;br /&gt;
== nodeeditors canvas ==&lt;br /&gt;
&lt;br /&gt;
the following picture shows the nodeeditor canvas:&lt;br /&gt;
&lt;br /&gt;
[[image:canvas.png]]&lt;br /&gt;
&lt;br /&gt;
From the upper left to the upper right:&lt;br /&gt;
* '''New''' - Creates a new node project - doesn't work at the moment. As a workaround you can store an empty nodefile with '''Save''' and load it back with '''Load''' when needed.&lt;br /&gt;
* '''Load''' - loads a stored nod-file from disk. The file extension is '''.nod'''.&lt;br /&gt;
* '''Save''' - stores a node project&lt;br /&gt;
* '''Apply''' - The Apply button commits a geometry calculated with the nodeeditor to the Moi working enviroment. After pressing the Apply button the geometry is independent from the nodeeditor.&lt;br /&gt;
* '''Run''' - Starts the calculation&lt;br /&gt;
* '''Step''' - The node project will be calculated stepwise&lt;br /&gt;
* '''i'''(Info) - The Info button opens the info panel for nodes - shown on the right side of the picture. Here you can look a the properties of the node and change them. It shows the actual clicked node.. You can open it also with a double click on a node.&lt;br /&gt;
&lt;br /&gt;
To move the view, press down the left mouse button in a free area of the canvas and move the mouse. With your mouse wheel you can zoom in and out. If you press down the left mouse button inside a node, you can move it around. Release the mouse button places it to the mouse position. Pressing the left mouse button on a nodes output you will start a connection. Move the mouse cursor while keeping the button pressed to the input of another node, a connection is made when relase the button there. If you press the right mouse button in a free area of the canvas, a pull down menue opens. In the sub menues you can choose the node type you want to create. The node will placed at the position where you pressed the right mouse button. Pressing the right mouse button inside a node will open a menue with options for the node like clone or remove.&lt;/div&gt;</summary>
		<author><name>Karsten</name></author>
		
	</entry>
	<entry>
		<id>https://moi3d.com/wiki/index.php?title=Nodeeditor&amp;diff=827</id>
		<title>Nodeeditor</title>
		<link rel="alternate" type="text/html" href="https://moi3d.com/wiki/index.php?title=Nodeeditor&amp;diff=827"/>
		<updated>2016-12-08T07:01:08Z</updated>

		<summary type="html">&lt;p&gt;Karsten: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===== Intro =====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Which version is the actual one? nodeeditor V0.85 - You can find it here: http://moi3d.com/forum/index.php?webtag=MOI&amp;amp;msg=7713.457&lt;br /&gt;
&lt;br /&gt;
A version with some additions is available here: http://moi3d.com/forum/messages.php?webtag=MOI&amp;amp;msg=8197.1&lt;br /&gt;
&lt;br /&gt;
'''Consider this: The nodeeditor is still under development - so node files, you've created with one of these versions, can have problems with later ones.&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
== What is the nodeeditor? ==&lt;br /&gt;
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.&lt;br /&gt;
== Installation ==&lt;br /&gt;
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:&lt;br /&gt;
''moi.ui.createDialog( 'nodeeditor.v.0.85/index.html', 'resizeable,defaultWidth:680,defaultHeight:420', moi.ui.mainWindow )''&lt;br /&gt;
Now press close - and enter your shortcut key. - Hopefully it works. If not, you can find some tips [[troubleshooting|here]]&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* [[numarray]] -&amp;gt; for numbers and arrays of them&lt;br /&gt;
* [[pointarray]] -&amp;gt; for points and sequences of points&lt;br /&gt;
* [[objectlist]] -&amp;gt; geometrical objects like points, lines, curves, bodies ...&lt;br /&gt;
* [[boolean]] -&amp;gt; for logical operations&lt;br /&gt;
&lt;br /&gt;
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 be 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 the Output is wired to the input. The color of the wire depends on the data type which will be &amp;quot;transported&amp;quot;. 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 [[Overview of the sub menues|here]].&lt;br /&gt;
&lt;br /&gt;
==[[nodeeditors canvas]]==&lt;/div&gt;</summary>
		<author><name>Karsten</name></author>
		
	</entry>
	<entry>
		<id>https://moi3d.com/wiki/index.php?title=Overview_of_the_sub_menues&amp;diff=823</id>
		<title>Overview of the sub menues</title>
		<link rel="alternate" type="text/html" href="https://moi3d.com/wiki/index.php?title=Overview_of_the_sub_menues&amp;diff=823"/>
		<updated>2016-12-04T06:31:24Z</updated>

		<summary type="html">&lt;p&gt;Karsten: /* basic */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==basic==&lt;br /&gt;
* '''Const''' Manual input of number or numbers seperated with “,“ [[Const|more Details]]&lt;br /&gt;
* '''Point''' Creates one or more points by coordinates [[Point|more Details]]&lt;br /&gt;
* '''Math''' Connects and processes multiple numarrays by evaluating a formula [[Math|more Details]]&lt;br /&gt;
* '''Interp''' [[Interp|more Details]]&lt;br /&gt;
* '''Random''' [[Random|more Details]]&lt;br /&gt;
* '''Quartz''' [[Quartz|more Details]]&lt;br /&gt;
* '''Length''' [[Length|more Details]]&lt;br /&gt;
* '''Output''' Takes input objects and bring them to the graphical display in MoI [[Output|more Details]]&lt;br /&gt;
&lt;br /&gt;
==Points==&lt;br /&gt;
* Points [[Points|more Details]]&lt;br /&gt;
* MathPts [[MathPts|more Details]]&lt;br /&gt;
* TextPts [[TextPts|more Details]]&lt;br /&gt;
* SpherePts [[SpherePts|more Details]]&lt;br /&gt;
* PolygonPts [[PolygonPts|more Details]]&lt;br /&gt;
* TransformPts [[TransformPts|more Details]]&lt;br /&gt;
* MovePts [[MovePts|more Details]]&lt;br /&gt;
* RotatePts [[RotatePts|more Details]]&lt;br /&gt;
* JitterPts [[JitterPts|more Details]]&lt;br /&gt;
* ConcatPts [[ConcatPts|more Details]]&lt;br /&gt;
* ConvertPts [[ConvertPts|more Details]]&lt;br /&gt;
* CloneToPts [[CloneToPts|more Details]]&lt;br /&gt;
&lt;br /&gt;
==Curves==&lt;br /&gt;
* Line [[Line|more Details]]&lt;br /&gt;
* Circle [[Circle|more Details]]&lt;br /&gt;
* Rectangle [[Rectangle|more Details]]&lt;br /&gt;
* Polygon [[Polygon|more Details]]&lt;br /&gt;
* Star [[Star|more Details]]&lt;br /&gt;
* Curve [[Curve|more Details]]&lt;br /&gt;
* Polyline [[Polyline|more Details]]&lt;br /&gt;
&lt;br /&gt;
==Solids==&lt;br /&gt;
* [[Cone]]&lt;br /&gt;
* [[Cylinder]]&lt;br /&gt;
* [[Sphere]]&lt;br /&gt;
&lt;br /&gt;
==Construct==&lt;br /&gt;
* [[Loft]]&lt;br /&gt;
* [[Extrude]]&lt;br /&gt;
* [[Revolve]]&lt;br /&gt;
* [[Difference]]&lt;br /&gt;
* [[Intersection]]&lt;br /&gt;
* [[Union]]&lt;br /&gt;
&lt;br /&gt;
==Transform==&lt;br /&gt;
* [[MovePts]]&lt;br /&gt;
* [[Orient]]&lt;br /&gt;
* [[Rotate]]&lt;br /&gt;
* [[Circular Array]]&lt;br /&gt;
&lt;br /&gt;
==Objects==&lt;br /&gt;
* [[Clone]]&lt;br /&gt;
* [[Concat]]&lt;br /&gt;
* [[Selected]]&lt;br /&gt;
* [[GetByName]]&lt;br /&gt;
* [[GetByStyle]]&lt;br /&gt;
* [[ObjToArray]]&lt;br /&gt;
* [[BoundingBox]]&lt;br /&gt;
&lt;br /&gt;
==Widgets==&lt;br /&gt;
* [[Knob]]&lt;br /&gt;
* [[Slider]]&lt;br /&gt;
* [[Range]]&lt;br /&gt;
&lt;br /&gt;
Back to [[Nodeeditor|main page]]&lt;/div&gt;</summary>
		<author><name>Karsten</name></author>
		
	</entry>
	<entry>
		<id>https://moi3d.com/wiki/index.php?title=Output&amp;diff=822</id>
		<title>Output</title>
		<link rel="alternate" type="text/html" href="https://moi3d.com/wiki/index.php?title=Output&amp;diff=822"/>
		<updated>2016-12-04T06:28:51Z</updated>

		<summary type="html">&lt;p&gt;Karsten: /* properties */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Function=&lt;br /&gt;
&lt;br /&gt;
Takes input objects and bring them to the graphical display in MoI&lt;br /&gt;
&lt;br /&gt;
=Inputs=&lt;br /&gt;
* [[objectlist]]&lt;br /&gt;
&lt;br /&gt;
=outputs=&lt;br /&gt;
&lt;br /&gt;
* (MoI)&lt;br /&gt;
&lt;br /&gt;
=properties=&lt;br /&gt;
* [[Style]] option (assigns an (in MoI defined) style to the output objects)&lt;br /&gt;
&lt;br /&gt;
=Type=&lt;br /&gt;
Basic/MoIOutput&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Back to [[Overview_of_the_sub_menues]]&lt;/div&gt;</summary>
		<author><name>Karsten</name></author>
		
	</entry>
	<entry>
		<id>https://moi3d.com/wiki/index.php?title=Output&amp;diff=821</id>
		<title>Output</title>
		<link rel="alternate" type="text/html" href="https://moi3d.com/wiki/index.php?title=Output&amp;diff=821"/>
		<updated>2016-12-04T06:25:19Z</updated>

		<summary type="html">&lt;p&gt;Karsten: Created page with &amp;quot;=Function=  Takes input objects and bring them to the graphical display in MoI  =Inputs= * objectlist  =outputs=  * (MoI)  =properties= * Style option (assigns an in M...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Function=&lt;br /&gt;
&lt;br /&gt;
Takes input objects and bring them to the graphical display in MoI&lt;br /&gt;
&lt;br /&gt;
=Inputs=&lt;br /&gt;
* [[objectlist]]&lt;br /&gt;
&lt;br /&gt;
=outputs=&lt;br /&gt;
&lt;br /&gt;
* (MoI)&lt;br /&gt;
&lt;br /&gt;
=properties=&lt;br /&gt;
* [[Style]] option (assigns an in MoI available style to the output objects)&lt;br /&gt;
&lt;br /&gt;
=Type=&lt;br /&gt;
Basic/MoIOutput&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Back to [[Overview_of_the_sub_menues]]&lt;/div&gt;</summary>
		<author><name>Karsten</name></author>
		
	</entry>
	<entry>
		<id>https://moi3d.com/wiki/index.php?title=Nodeeditor&amp;diff=820</id>
		<title>Nodeeditor</title>
		<link rel="alternate" type="text/html" href="https://moi3d.com/wiki/index.php?title=Nodeeditor&amp;diff=820"/>
		<updated>2016-12-03T06:06:58Z</updated>

		<summary type="html">&lt;p&gt;Karsten: /* Intro */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===== Intro =====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Which version is the actual one? nodeeditor V0.85 - You can find it here: http://moi3d.com/forum/index.php?webtag=MOI&amp;amp;msg=7713.457&lt;br /&gt;
&lt;br /&gt;
A version with some additions is available here: http://moi3d.com/forum/messages.php?webtag=MOI&amp;amp;msg=8197.1&lt;br /&gt;
&lt;br /&gt;
'''Consider this: The nodeeditor is still under development - so node files, you've created with one of this versions, can have problems with later ones.&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
== What is the nodeeditor? ==&lt;br /&gt;
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.&lt;br /&gt;
== Installation ==&lt;br /&gt;
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:&lt;br /&gt;
''moi.ui.createDialog( 'nodeeditor.v.0.85/index.html', 'resizeable,defaultWidth:680,defaultHeight:420', moi.ui.mainWindow )''&lt;br /&gt;
Now press close - and enter your shortcut key. - Hopefully it works. If not, you can find some tips [[troubleshooting|here]]&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* [[numarray]] -&amp;gt; for numbers and arrays of them&lt;br /&gt;
* [[pointarray]] -&amp;gt; for points and sequences of points&lt;br /&gt;
* [[objectlist]] -&amp;gt; geometrical objects like points, lines, curves, bodies ...&lt;br /&gt;
* [[boolean]] -&amp;gt; for logical operations&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;transported&amp;quot;. 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 [[Overview of the sub menues|here]].&lt;/div&gt;</summary>
		<author><name>Karsten</name></author>
		
	</entry>
	<entry>
		<id>https://moi3d.com/wiki/index.php?title=Nodeeditor&amp;diff=819</id>
		<title>Nodeeditor</title>
		<link rel="alternate" type="text/html" href="https://moi3d.com/wiki/index.php?title=Nodeeditor&amp;diff=819"/>
		<updated>2016-12-03T06:06:18Z</updated>

		<summary type="html">&lt;p&gt;Karsten: /* Intro */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===== Intro =====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Which version is the actual one? nodeeditor V0.85 - You can find it here: http://moi3d.com/forum/index.php?webtag=MOI&amp;amp;msg=7713.457&lt;br /&gt;
A version with some additions is available here: http://moi3d.com/forum/messages.php?webtag=MOI&amp;amp;msg=8197.1&lt;br /&gt;
&lt;br /&gt;
'''Consider this: The nodeeditor is still under development - so node files, you've created with one of this versions, can have problems with later ones.&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
== What is the nodeeditor? ==&lt;br /&gt;
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.&lt;br /&gt;
== Installation ==&lt;br /&gt;
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:&lt;br /&gt;
''moi.ui.createDialog( 'nodeeditor.v.0.85/index.html', 'resizeable,defaultWidth:680,defaultHeight:420', moi.ui.mainWindow )''&lt;br /&gt;
Now press close - and enter your shortcut key. - Hopefully it works. If not, you can find some tips [[troubleshooting|here]]&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* [[numarray]] -&amp;gt; for numbers and arrays of them&lt;br /&gt;
* [[pointarray]] -&amp;gt; for points and sequences of points&lt;br /&gt;
* [[objectlist]] -&amp;gt; geometrical objects like points, lines, curves, bodies ...&lt;br /&gt;
* [[boolean]] -&amp;gt; for logical operations&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;transported&amp;quot;. 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 [[Overview of the sub menues|here]].&lt;/div&gt;</summary>
		<author><name>Karsten</name></author>
		
	</entry>
	<entry>
		<id>https://moi3d.com/wiki/index.php?title=Nodeeditor&amp;diff=818</id>
		<title>Nodeeditor</title>
		<link rel="alternate" type="text/html" href="https://moi3d.com/wiki/index.php?title=Nodeeditor&amp;diff=818"/>
		<updated>2016-12-03T05:56:07Z</updated>

		<summary type="html">&lt;p&gt;Karsten: /* Intro */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===== Intro =====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Which version is the actual one? nodeeditor V0.85 - You can find it [http://moi3d.com/forum/index.php?webtag=MOI&amp;amp;msg=7713.457|here]&lt;br /&gt;
&lt;br /&gt;
== What is the nodeeditor? ==&lt;br /&gt;
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.&lt;br /&gt;
== Installation ==&lt;br /&gt;
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:&lt;br /&gt;
''moi.ui.createDialog( 'nodeeditor.v.0.85/index.html', 'resizeable,defaultWidth:680,defaultHeight:420', moi.ui.mainWindow )''&lt;br /&gt;
Now press close - and enter your shortcut key. - Hopefully it works. If not, you can find some tips [[troubleshooting|here]]&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* [[numarray]] -&amp;gt; for numbers and arrays of them&lt;br /&gt;
* [[pointarray]] -&amp;gt; for points and sequences of points&lt;br /&gt;
* [[objectlist]] -&amp;gt; geometrical objects like points, lines, curves, bodies ...&lt;br /&gt;
* [[boolean]] -&amp;gt; for logical operations&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;transported&amp;quot;. 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 [[Overview of the sub menues|here]].&lt;/div&gt;</summary>
		<author><name>Karsten</name></author>
		
	</entry>
	<entry>
		<id>https://moi3d.com/wiki/index.php?title=Interp&amp;diff=817</id>
		<title>Interp</title>
		<link rel="alternate" type="text/html" href="https://moi3d.com/wiki/index.php?title=Interp&amp;diff=817"/>
		<updated>2016-12-02T05:14:49Z</updated>

		<summary type="html">&lt;p&gt;Karsten: /* properties */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Function=&lt;br /&gt;
&lt;br /&gt;
Takes support values and makes  n evenly distibuted interpolation values  between them (start/end value included) I&lt;br /&gt;
nterpolation strategy:&lt;br /&gt;
* linear&lt;br /&gt;
* Catumul-Rom&lt;br /&gt;
* Cubic&lt;br /&gt;
* Cosine&lt;br /&gt;
* Hermite&lt;br /&gt;
* Fritsch-Carlson&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Inputs=&lt;br /&gt;
* Array type:[[numarray]] minimum 2 values to interpolate between&lt;br /&gt;
* count type:[[numarray]] an integer for the number of interpolation values&lt;br /&gt;
&lt;br /&gt;
=outputs=&lt;br /&gt;
&lt;br /&gt;
* [numarray]]&lt;br /&gt;
&lt;br /&gt;
=properties=&lt;br /&gt;
*Mode:&lt;br /&gt;
   linear&lt;br /&gt;
   Catumul-Rom&lt;br /&gt;
   Cubic&lt;br /&gt;
   Cosine&lt;br /&gt;
   Hermite&lt;br /&gt;
   Fritsch-Carlson&lt;br /&gt;
* Array&lt;br /&gt;
* Count integer value&lt;br /&gt;
&lt;br /&gt;
=Type=&lt;br /&gt;
Basic/Interp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Back to [[Overview_of_the_sub_menues]]&lt;/div&gt;</summary>
		<author><name>Karsten</name></author>
		
	</entry>
	<entry>
		<id>https://moi3d.com/wiki/index.php?title=Interp&amp;diff=816</id>
		<title>Interp</title>
		<link rel="alternate" type="text/html" href="https://moi3d.com/wiki/index.php?title=Interp&amp;diff=816"/>
		<updated>2016-12-02T05:13:52Z</updated>

		<summary type="html">&lt;p&gt;Karsten: Created page with &amp;quot;=Function=  Takes support values and makes  n evenly distibuted interpolation values  between them (start/end value included) I nterpolation strategy: * linear * Catumul-Rom *...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Function=&lt;br /&gt;
&lt;br /&gt;
Takes support values and makes  n evenly distibuted interpolation values  between them (start/end value included) I&lt;br /&gt;
nterpolation strategy:&lt;br /&gt;
* linear&lt;br /&gt;
* Catumul-Rom&lt;br /&gt;
* Cubic&lt;br /&gt;
* Cosine&lt;br /&gt;
* Hermite&lt;br /&gt;
* Fritsch-Carlson&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Inputs=&lt;br /&gt;
* Array type:[[numarray]] minimum 2 values to interpolate between&lt;br /&gt;
* count type:[[numarray]] an integer for the number of interpolation values&lt;br /&gt;
&lt;br /&gt;
=outputs=&lt;br /&gt;
&lt;br /&gt;
* [numarray]]&lt;br /&gt;
&lt;br /&gt;
=properties=&lt;br /&gt;
*Mode:&lt;br /&gt;
   # linear&lt;br /&gt;
   # Catumul-Rom&lt;br /&gt;
   # Cubic&lt;br /&gt;
   # Cosine&lt;br /&gt;
   # Hermite&lt;br /&gt;
   # Fritsch-Carlson&lt;br /&gt;
* Array&lt;br /&gt;
* Count integer value&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Type=&lt;br /&gt;
Basic/Interp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Back to [[Overview_of_the_sub_menues]]&lt;/div&gt;</summary>
		<author><name>Karsten</name></author>
		
	</entry>
	<entry>
		<id>https://moi3d.com/wiki/index.php?title=Overview_of_the_sub_menues&amp;diff=815</id>
		<title>Overview of the sub menues</title>
		<link rel="alternate" type="text/html" href="https://moi3d.com/wiki/index.php?title=Overview_of_the_sub_menues&amp;diff=815"/>
		<updated>2016-12-02T03:53:09Z</updated>

		<summary type="html">&lt;p&gt;Karsten: /* basic */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==basic==&lt;br /&gt;
* '''Const''' Manual input of number or numbers seperated with “,“ [[Const|more Details]]&lt;br /&gt;
* '''Point''' Creates one or more points by coordinates [[Point|more Details]]&lt;br /&gt;
* '''Math''' Connects and processes multiple numarrays by evaluating a formula [[Math|more Details]]&lt;br /&gt;
* '''Interp''' [[Interp|more Details]]&lt;br /&gt;
* '''Random''' [[Random|more Details]]&lt;br /&gt;
* '''Quartz''' [[Quartz|more Details]]&lt;br /&gt;
* '''Length''' [[Length|more Details]]&lt;br /&gt;
* '''Output''' [[Output|more Details]]&lt;br /&gt;
&lt;br /&gt;
==Points==&lt;br /&gt;
* Points [[Points|more Details]]&lt;br /&gt;
* MathPts [[MathPts|more Details]]&lt;br /&gt;
* TextPts [[TextPts|more Details]]&lt;br /&gt;
* SpherePts [[SpherePts|more Details]]&lt;br /&gt;
* PolygonPts [[PolygonPts|more Details]]&lt;br /&gt;
* TransformPts [[TransformPts|more Details]]&lt;br /&gt;
* MovePts [[MovePts|more Details]]&lt;br /&gt;
* RotatePts [[RotatePts|more Details]]&lt;br /&gt;
* JitterPts [[JitterPts|more Details]]&lt;br /&gt;
* ConcatPts [[ConcatPts|more Details]]&lt;br /&gt;
* ConvertPts [[ConvertPts|more Details]]&lt;br /&gt;
* CloneToPts [[CloneToPts|more Details]]&lt;br /&gt;
&lt;br /&gt;
==Curves==&lt;br /&gt;
* Line [[Line|more Details]]&lt;br /&gt;
* Circle [[Circle|more Details]]&lt;br /&gt;
* Rectangle [[Rectangle|more Details]]&lt;br /&gt;
* Polygon [[Polygon|more Details]]&lt;br /&gt;
* Star [[Star|more Details]]&lt;br /&gt;
* Curve [[Curve|more Details]]&lt;br /&gt;
* Polyline [[Polyline|more Details]]&lt;br /&gt;
&lt;br /&gt;
==Solids==&lt;br /&gt;
* [[Cone]]&lt;br /&gt;
* [[Cylinder]]&lt;br /&gt;
* [[Sphere]]&lt;br /&gt;
&lt;br /&gt;
==Construct==&lt;br /&gt;
* [[Loft]]&lt;br /&gt;
* [[Extrude]]&lt;br /&gt;
* [[Revolve]]&lt;br /&gt;
* [[Difference]]&lt;br /&gt;
* [[Intersection]]&lt;br /&gt;
* [[Union]]&lt;br /&gt;
&lt;br /&gt;
==Transform==&lt;br /&gt;
* [[MovePts]]&lt;br /&gt;
* [[Orient]]&lt;br /&gt;
* [[Rotate]]&lt;br /&gt;
* [[Circular Array]]&lt;br /&gt;
&lt;br /&gt;
==Objects==&lt;br /&gt;
* [[Clone]]&lt;br /&gt;
* [[Concat]]&lt;br /&gt;
* [[Selected]]&lt;br /&gt;
* [[GetByName]]&lt;br /&gt;
* [[GetByStyle]]&lt;br /&gt;
* [[ObjToArray]]&lt;br /&gt;
* [[BoundingBox]]&lt;br /&gt;
&lt;br /&gt;
==Widgets==&lt;br /&gt;
* [[Knob]]&lt;br /&gt;
* [[Slider]]&lt;br /&gt;
* [[Range]]&lt;br /&gt;
&lt;br /&gt;
Back to [[Nodeeditor|main page]]&lt;/div&gt;</summary>
		<author><name>Karsten</name></author>
		
	</entry>
	<entry>
		<id>https://moi3d.com/wiki/index.php?title=Math&amp;diff=814</id>
		<title>Math</title>
		<link rel="alternate" type="text/html" href="https://moi3d.com/wiki/index.php?title=Math&amp;diff=814"/>
		<updated>2016-12-02T03:52:27Z</updated>

		<summary type="html">&lt;p&gt;Karsten: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Function=&lt;br /&gt;
&lt;br /&gt;
Connects and processes multiple numarrays by evaluating a formula. The formula can be defined under the info panel (properties)&lt;br /&gt;
&lt;br /&gt;
=Inputs=&lt;br /&gt;
* a type:[[numarray]]&lt;br /&gt;
* b type:[[numarray]]&lt;br /&gt;
* [c..f] type:[[numarray]] option on RMB&lt;br /&gt;
=outputs=&lt;br /&gt;
&lt;br /&gt;
* [numarray]]&lt;br /&gt;
&lt;br /&gt;
=properties=&lt;br /&gt;
* [[multiprocess]] option [long] [short]&lt;br /&gt;
* Predefined function&lt;br /&gt;
* input field for mathematical expression&lt;br /&gt;
&lt;br /&gt;
=Type=&lt;br /&gt;
Basic/mathFunc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Back to [[Overview_of_the_sub_menues]]&lt;/div&gt;</summary>
		<author><name>Karsten</name></author>
		
	</entry>
	<entry>
		<id>https://moi3d.com/wiki/index.php?title=Point&amp;diff=813</id>
		<title>Point</title>
		<link rel="alternate" type="text/html" href="https://moi3d.com/wiki/index.php?title=Point&amp;diff=813"/>
		<updated>2016-12-02T03:51:05Z</updated>

		<summary type="html">&lt;p&gt;Karsten: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Function=&lt;br /&gt;
&lt;br /&gt;
Creates one or more points by coordinates&lt;br /&gt;
&lt;br /&gt;
=Inputs=&lt;br /&gt;
* x type:[[numarray]]&lt;br /&gt;
* y type:[[numarray]]&lt;br /&gt;
* z type:[[numarray]]&lt;br /&gt;
=outputs=&lt;br /&gt;
&lt;br /&gt;
* [[pointarray]]&lt;br /&gt;
&lt;br /&gt;
=properties=&lt;br /&gt;
* [[multiprocess]] option [long] [short]&lt;br /&gt;
* x coordinate or x coordinates, separated with &amp;quot;,&amp;quot;&lt;br /&gt;
* y coordinate or y coordinates, separated with &amp;quot;,&amp;quot;&lt;br /&gt;
* z coordinate or z coordinates, separated with &amp;quot;,&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=Type=&lt;br /&gt;
Basic/Point&lt;br /&gt;
&lt;br /&gt;
Back to [[Overview_of_the_sub_menues]]&lt;/div&gt;</summary>
		<author><name>Karsten</name></author>
		
	</entry>
	<entry>
		<id>https://moi3d.com/wiki/index.php?title=Const&amp;diff=812</id>
		<title>Const</title>
		<link rel="alternate" type="text/html" href="https://moi3d.com/wiki/index.php?title=Const&amp;diff=812"/>
		<updated>2016-12-02T03:49:52Z</updated>

		<summary type="html">&lt;p&gt;Karsten: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Function=&lt;br /&gt;
Manual input of number or numbers seperated with “,“&lt;br /&gt;
=Inputs=&lt;br /&gt;
* -&lt;br /&gt;
=outputs=&lt;br /&gt;
* numarray&lt;br /&gt;
&lt;br /&gt;
=properties=&lt;br /&gt;
* Input field for constants&lt;br /&gt;
&lt;br /&gt;
=Type=&lt;br /&gt;
Basic/Constant&lt;br /&gt;
&lt;br /&gt;
Back to [[Overview_of_the_sub_menues]]&lt;/div&gt;</summary>
		<author><name>Karsten</name></author>
		
	</entry>
	<entry>
		<id>https://moi3d.com/wiki/index.php?title=Const&amp;diff=811</id>
		<title>Const</title>
		<link rel="alternate" type="text/html" href="https://moi3d.com/wiki/index.php?title=Const&amp;diff=811"/>
		<updated>2016-12-02T03:48:37Z</updated>

		<summary type="html">&lt;p&gt;Karsten: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Function=&lt;br /&gt;
Manual input of number or numbers seperated with “,“&lt;br /&gt;
=Inputs=&lt;br /&gt;
* -&lt;br /&gt;
=outputs=&lt;br /&gt;
* numarray&lt;br /&gt;
&lt;br /&gt;
=properties=&lt;br /&gt;
* Input field for constants&lt;br /&gt;
&lt;br /&gt;
=Type=&lt;br /&gt;
basic/Constant&lt;br /&gt;
&lt;br /&gt;
Back to [[Overview_of_the_sub_menues]]&lt;/div&gt;</summary>
		<author><name>Karsten</name></author>
		
	</entry>
	<entry>
		<id>https://moi3d.com/wiki/index.php?title=Math&amp;diff=810</id>
		<title>Math</title>
		<link rel="alternate" type="text/html" href="https://moi3d.com/wiki/index.php?title=Math&amp;diff=810"/>
		<updated>2016-12-02T03:46:46Z</updated>

		<summary type="html">&lt;p&gt;Karsten: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Function=&lt;br /&gt;
&lt;br /&gt;
Connects and processes multiple numarrays by evaluating a formula. The formula can be defined under the info panel (properties)&lt;br /&gt;
&lt;br /&gt;
=Inputs=&lt;br /&gt;
* a type:[[numarray]]&lt;br /&gt;
* b type:[[numarray]]&lt;br /&gt;
* [c..f] type:[[numarray]] option on RMB&lt;br /&gt;
=outputs=&lt;br /&gt;
&lt;br /&gt;
* [numarray]]&lt;br /&gt;
&lt;br /&gt;
=properties=&lt;br /&gt;
* [[multiprocess]] option [long] [short]&lt;br /&gt;
* Predefined function&lt;br /&gt;
* input field for mathematical expression&lt;br /&gt;
&lt;br /&gt;
=Type=&lt;br /&gt;
basic/mathFunc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Back to [[Overview_of_the_sub_menues]]&lt;/div&gt;</summary>
		<author><name>Karsten</name></author>
		
	</entry>
	<entry>
		<id>https://moi3d.com/wiki/index.php?title=Math&amp;diff=809</id>
		<title>Math</title>
		<link rel="alternate" type="text/html" href="https://moi3d.com/wiki/index.php?title=Math&amp;diff=809"/>
		<updated>2016-12-02T03:36:28Z</updated>

		<summary type="html">&lt;p&gt;Karsten: Created page with &amp;quot;Connects and processes multiple numarrays by evaluating a formula. The formula can be defined under the info panel (properties)&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Connects and processes multiple numarrays by evaluating a formula. The formula can be defined under the info panel (properties)&lt;/div&gt;</summary>
		<author><name>Karsten</name></author>
		
	</entry>
	<entry>
		<id>https://moi3d.com/wiki/index.php?title=Overview_of_the_sub_menues&amp;diff=808</id>
		<title>Overview of the sub menues</title>
		<link rel="alternate" type="text/html" href="https://moi3d.com/wiki/index.php?title=Overview_of_the_sub_menues&amp;diff=808"/>
		<updated>2016-12-02T03:34:37Z</updated>

		<summary type="html">&lt;p&gt;Karsten: /* Widgets */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==basic==&lt;br /&gt;
* '''Const''' Manual input of number or numbers seperated with “,“ [[Const|more Details]]&lt;br /&gt;
* '''Point''' Creates one or more points by coordinates [[Point|more Details]]&lt;br /&gt;
* '''Math''' [[Math|more Details]]&lt;br /&gt;
* '''Interp''' [[Interp|more Details]]&lt;br /&gt;
* '''Random''' [[Random|more Details]]&lt;br /&gt;
* '''Quartz''' [[Quartz|more Details]]&lt;br /&gt;
* '''Length''' [[Length|more Details]]&lt;br /&gt;
* '''Output''' [[Output|more Details]]&lt;br /&gt;
&lt;br /&gt;
==Points==&lt;br /&gt;
* Points [[Points|more Details]]&lt;br /&gt;
* MathPts [[MathPts|more Details]]&lt;br /&gt;
* TextPts [[TextPts|more Details]]&lt;br /&gt;
* SpherePts [[SpherePts|more Details]]&lt;br /&gt;
* PolygonPts [[PolygonPts|more Details]]&lt;br /&gt;
* TransformPts [[TransformPts|more Details]]&lt;br /&gt;
* MovePts [[MovePts|more Details]]&lt;br /&gt;
* RotatePts [[RotatePts|more Details]]&lt;br /&gt;
* JitterPts [[JitterPts|more Details]]&lt;br /&gt;
* ConcatPts [[ConcatPts|more Details]]&lt;br /&gt;
* ConvertPts [[ConvertPts|more Details]]&lt;br /&gt;
* CloneToPts [[CloneToPts|more Details]]&lt;br /&gt;
&lt;br /&gt;
==Curves==&lt;br /&gt;
* Line [[Line|more Details]]&lt;br /&gt;
* Circle [[Circle|more Details]]&lt;br /&gt;
* Rectangle [[Rectangle|more Details]]&lt;br /&gt;
* Polygon [[Polygon|more Details]]&lt;br /&gt;
* Star [[Star|more Details]]&lt;br /&gt;
* Curve [[Curve|more Details]]&lt;br /&gt;
* Polyline [[Polyline|more Details]]&lt;br /&gt;
&lt;br /&gt;
==Solids==&lt;br /&gt;
* [[Cone]]&lt;br /&gt;
* [[Cylinder]]&lt;br /&gt;
* [[Sphere]]&lt;br /&gt;
&lt;br /&gt;
==Construct==&lt;br /&gt;
* [[Loft]]&lt;br /&gt;
* [[Extrude]]&lt;br /&gt;
* [[Revolve]]&lt;br /&gt;
* [[Difference]]&lt;br /&gt;
* [[Intersection]]&lt;br /&gt;
* [[Union]]&lt;br /&gt;
&lt;br /&gt;
==Transform==&lt;br /&gt;
* [[MovePts]]&lt;br /&gt;
* [[Orient]]&lt;br /&gt;
* [[Rotate]]&lt;br /&gt;
* [[Circular Array]]&lt;br /&gt;
&lt;br /&gt;
==Objects==&lt;br /&gt;
* [[Clone]]&lt;br /&gt;
* [[Concat]]&lt;br /&gt;
* [[Selected]]&lt;br /&gt;
* [[GetByName]]&lt;br /&gt;
* [[GetByStyle]]&lt;br /&gt;
* [[ObjToArray]]&lt;br /&gt;
* [[BoundingBox]]&lt;br /&gt;
&lt;br /&gt;
==Widgets==&lt;br /&gt;
* [[Knob]]&lt;br /&gt;
* [[Slider]]&lt;br /&gt;
* [[Range]]&lt;br /&gt;
&lt;br /&gt;
Back to [[Nodeeditor|main page]]&lt;/div&gt;</summary>
		<author><name>Karsten</name></author>
		
	</entry>
	<entry>
		<id>https://moi3d.com/wiki/index.php?title=Overview_of_the_sub_menues&amp;diff=807</id>
		<title>Overview of the sub menues</title>
		<link rel="alternate" type="text/html" href="https://moi3d.com/wiki/index.php?title=Overview_of_the_sub_menues&amp;diff=807"/>
		<updated>2016-12-02T03:32:53Z</updated>

		<summary type="html">&lt;p&gt;Karsten: /* Objects */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==basic==&lt;br /&gt;
* '''Const''' Manual input of number or numbers seperated with “,“ [[Const|more Details]]&lt;br /&gt;
* '''Point''' Creates one or more points by coordinates [[Point|more Details]]&lt;br /&gt;
* '''Math''' [[Math|more Details]]&lt;br /&gt;
* '''Interp''' [[Interp|more Details]]&lt;br /&gt;
* '''Random''' [[Random|more Details]]&lt;br /&gt;
* '''Quartz''' [[Quartz|more Details]]&lt;br /&gt;
* '''Length''' [[Length|more Details]]&lt;br /&gt;
* '''Output''' [[Output|more Details]]&lt;br /&gt;
&lt;br /&gt;
==Points==&lt;br /&gt;
* Points [[Points|more Details]]&lt;br /&gt;
* MathPts [[MathPts|more Details]]&lt;br /&gt;
* TextPts [[TextPts|more Details]]&lt;br /&gt;
* SpherePts [[SpherePts|more Details]]&lt;br /&gt;
* PolygonPts [[PolygonPts|more Details]]&lt;br /&gt;
* TransformPts [[TransformPts|more Details]]&lt;br /&gt;
* MovePts [[MovePts|more Details]]&lt;br /&gt;
* RotatePts [[RotatePts|more Details]]&lt;br /&gt;
* JitterPts [[JitterPts|more Details]]&lt;br /&gt;
* ConcatPts [[ConcatPts|more Details]]&lt;br /&gt;
* ConvertPts [[ConvertPts|more Details]]&lt;br /&gt;
* CloneToPts [[CloneToPts|more Details]]&lt;br /&gt;
&lt;br /&gt;
==Curves==&lt;br /&gt;
* Line [[Line|more Details]]&lt;br /&gt;
* Circle [[Circle|more Details]]&lt;br /&gt;
* Rectangle [[Rectangle|more Details]]&lt;br /&gt;
* Polygon [[Polygon|more Details]]&lt;br /&gt;
* Star [[Star|more Details]]&lt;br /&gt;
* Curve [[Curve|more Details]]&lt;br /&gt;
* Polyline [[Polyline|more Details]]&lt;br /&gt;
&lt;br /&gt;
==Solids==&lt;br /&gt;
* [[Cone]]&lt;br /&gt;
* [[Cylinder]]&lt;br /&gt;
* [[Sphere]]&lt;br /&gt;
&lt;br /&gt;
==Construct==&lt;br /&gt;
* [[Loft]]&lt;br /&gt;
* [[Extrude]]&lt;br /&gt;
* [[Revolve]]&lt;br /&gt;
* [[Difference]]&lt;br /&gt;
* [[Intersection]]&lt;br /&gt;
* [[Union]]&lt;br /&gt;
&lt;br /&gt;
==Transform==&lt;br /&gt;
* [[MovePts]]&lt;br /&gt;
* [[Orient]]&lt;br /&gt;
* [[Rotate]]&lt;br /&gt;
* [[Circular Array]]&lt;br /&gt;
&lt;br /&gt;
==Objects==&lt;br /&gt;
* [[Clone]]&lt;br /&gt;
* [[Concat]]&lt;br /&gt;
* [[Selected]]&lt;br /&gt;
* [[GetByName]]&lt;br /&gt;
* [[GetByStyle]]&lt;br /&gt;
* [[ObjToArray]]&lt;br /&gt;
* [[BoundingBox]]&lt;br /&gt;
&lt;br /&gt;
==Widgets==&lt;br /&gt;
&lt;br /&gt;
Back to [[Nodeeditor|main page]]&lt;/div&gt;</summary>
		<author><name>Karsten</name></author>
		
	</entry>
	<entry>
		<id>https://moi3d.com/wiki/index.php?title=Overview_of_the_sub_menues&amp;diff=806</id>
		<title>Overview of the sub menues</title>
		<link rel="alternate" type="text/html" href="https://moi3d.com/wiki/index.php?title=Overview_of_the_sub_menues&amp;diff=806"/>
		<updated>2016-12-02T03:31:17Z</updated>

		<summary type="html">&lt;p&gt;Karsten: /* Transform */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==basic==&lt;br /&gt;
* '''Const''' Manual input of number or numbers seperated with “,“ [[Const|more Details]]&lt;br /&gt;
* '''Point''' Creates one or more points by coordinates [[Point|more Details]]&lt;br /&gt;
* '''Math''' [[Math|more Details]]&lt;br /&gt;
* '''Interp''' [[Interp|more Details]]&lt;br /&gt;
* '''Random''' [[Random|more Details]]&lt;br /&gt;
* '''Quartz''' [[Quartz|more Details]]&lt;br /&gt;
* '''Length''' [[Length|more Details]]&lt;br /&gt;
* '''Output''' [[Output|more Details]]&lt;br /&gt;
&lt;br /&gt;
==Points==&lt;br /&gt;
* Points [[Points|more Details]]&lt;br /&gt;
* MathPts [[MathPts|more Details]]&lt;br /&gt;
* TextPts [[TextPts|more Details]]&lt;br /&gt;
* SpherePts [[SpherePts|more Details]]&lt;br /&gt;
* PolygonPts [[PolygonPts|more Details]]&lt;br /&gt;
* TransformPts [[TransformPts|more Details]]&lt;br /&gt;
* MovePts [[MovePts|more Details]]&lt;br /&gt;
* RotatePts [[RotatePts|more Details]]&lt;br /&gt;
* JitterPts [[JitterPts|more Details]]&lt;br /&gt;
* ConcatPts [[ConcatPts|more Details]]&lt;br /&gt;
* ConvertPts [[ConvertPts|more Details]]&lt;br /&gt;
* CloneToPts [[CloneToPts|more Details]]&lt;br /&gt;
&lt;br /&gt;
==Curves==&lt;br /&gt;
* Line [[Line|more Details]]&lt;br /&gt;
* Circle [[Circle|more Details]]&lt;br /&gt;
* Rectangle [[Rectangle|more Details]]&lt;br /&gt;
* Polygon [[Polygon|more Details]]&lt;br /&gt;
* Star [[Star|more Details]]&lt;br /&gt;
* Curve [[Curve|more Details]]&lt;br /&gt;
* Polyline [[Polyline|more Details]]&lt;br /&gt;
&lt;br /&gt;
==Solids==&lt;br /&gt;
* [[Cone]]&lt;br /&gt;
* [[Cylinder]]&lt;br /&gt;
* [[Sphere]]&lt;br /&gt;
&lt;br /&gt;
==Construct==&lt;br /&gt;
* [[Loft]]&lt;br /&gt;
* [[Extrude]]&lt;br /&gt;
* [[Revolve]]&lt;br /&gt;
* [[Difference]]&lt;br /&gt;
* [[Intersection]]&lt;br /&gt;
* [[Union]]&lt;br /&gt;
&lt;br /&gt;
==Transform==&lt;br /&gt;
* [[MovePts]]&lt;br /&gt;
* [[Orient]]&lt;br /&gt;
* [[Rotate]]&lt;br /&gt;
* [[Circular Array]]&lt;br /&gt;
&lt;br /&gt;
==Objects==&lt;br /&gt;
==Widgets==&lt;br /&gt;
&lt;br /&gt;
Back to [[Nodeeditor|main page]]&lt;/div&gt;</summary>
		<author><name>Karsten</name></author>
		
	</entry>
	<entry>
		<id>https://moi3d.com/wiki/index.php?title=Overview_of_the_sub_menues&amp;diff=805</id>
		<title>Overview of the sub menues</title>
		<link rel="alternate" type="text/html" href="https://moi3d.com/wiki/index.php?title=Overview_of_the_sub_menues&amp;diff=805"/>
		<updated>2016-12-02T03:29:14Z</updated>

		<summary type="html">&lt;p&gt;Karsten: /* Construct */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==basic==&lt;br /&gt;
* '''Const''' Manual input of number or numbers seperated with “,“ [[Const|more Details]]&lt;br /&gt;
* '''Point''' Creates one or more points by coordinates [[Point|more Details]]&lt;br /&gt;
* '''Math''' [[Math|more Details]]&lt;br /&gt;
* '''Interp''' [[Interp|more Details]]&lt;br /&gt;
* '''Random''' [[Random|more Details]]&lt;br /&gt;
* '''Quartz''' [[Quartz|more Details]]&lt;br /&gt;
* '''Length''' [[Length|more Details]]&lt;br /&gt;
* '''Output''' [[Output|more Details]]&lt;br /&gt;
&lt;br /&gt;
==Points==&lt;br /&gt;
* Points [[Points|more Details]]&lt;br /&gt;
* MathPts [[MathPts|more Details]]&lt;br /&gt;
* TextPts [[TextPts|more Details]]&lt;br /&gt;
* SpherePts [[SpherePts|more Details]]&lt;br /&gt;
* PolygonPts [[PolygonPts|more Details]]&lt;br /&gt;
* TransformPts [[TransformPts|more Details]]&lt;br /&gt;
* MovePts [[MovePts|more Details]]&lt;br /&gt;
* RotatePts [[RotatePts|more Details]]&lt;br /&gt;
* JitterPts [[JitterPts|more Details]]&lt;br /&gt;
* ConcatPts [[ConcatPts|more Details]]&lt;br /&gt;
* ConvertPts [[ConvertPts|more Details]]&lt;br /&gt;
* CloneToPts [[CloneToPts|more Details]]&lt;br /&gt;
&lt;br /&gt;
==Curves==&lt;br /&gt;
* Line [[Line|more Details]]&lt;br /&gt;
* Circle [[Circle|more Details]]&lt;br /&gt;
* Rectangle [[Rectangle|more Details]]&lt;br /&gt;
* Polygon [[Polygon|more Details]]&lt;br /&gt;
* Star [[Star|more Details]]&lt;br /&gt;
* Curve [[Curve|more Details]]&lt;br /&gt;
* Polyline [[Polyline|more Details]]&lt;br /&gt;
&lt;br /&gt;
==Solids==&lt;br /&gt;
* [[Cone]]&lt;br /&gt;
* [[Cylinder]]&lt;br /&gt;
* [[Sphere]]&lt;br /&gt;
&lt;br /&gt;
==Construct==&lt;br /&gt;
* [[Loft]]&lt;br /&gt;
* [[Extrude]]&lt;br /&gt;
* [[Revolve]]&lt;br /&gt;
* [[Difference]]&lt;br /&gt;
* [[Intersection]]&lt;br /&gt;
* [[Union]]&lt;br /&gt;
&lt;br /&gt;
==Transform==&lt;br /&gt;
==Objects==&lt;br /&gt;
==Widgets==&lt;br /&gt;
&lt;br /&gt;
Back to [[Nodeeditor|main page]]&lt;/div&gt;</summary>
		<author><name>Karsten</name></author>
		
	</entry>
	<entry>
		<id>https://moi3d.com/wiki/index.php?title=Overview_of_the_sub_menues&amp;diff=804</id>
		<title>Overview of the sub menues</title>
		<link rel="alternate" type="text/html" href="https://moi3d.com/wiki/index.php?title=Overview_of_the_sub_menues&amp;diff=804"/>
		<updated>2016-12-02T03:27:37Z</updated>

		<summary type="html">&lt;p&gt;Karsten: /* Solids */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==basic==&lt;br /&gt;
* '''Const''' Manual input of number or numbers seperated with “,“ [[Const|more Details]]&lt;br /&gt;
* '''Point''' Creates one or more points by coordinates [[Point|more Details]]&lt;br /&gt;
* '''Math''' [[Math|more Details]]&lt;br /&gt;
* '''Interp''' [[Interp|more Details]]&lt;br /&gt;
* '''Random''' [[Random|more Details]]&lt;br /&gt;
* '''Quartz''' [[Quartz|more Details]]&lt;br /&gt;
* '''Length''' [[Length|more Details]]&lt;br /&gt;
* '''Output''' [[Output|more Details]]&lt;br /&gt;
&lt;br /&gt;
==Points==&lt;br /&gt;
* Points [[Points|more Details]]&lt;br /&gt;
* MathPts [[MathPts|more Details]]&lt;br /&gt;
* TextPts [[TextPts|more Details]]&lt;br /&gt;
* SpherePts [[SpherePts|more Details]]&lt;br /&gt;
* PolygonPts [[PolygonPts|more Details]]&lt;br /&gt;
* TransformPts [[TransformPts|more Details]]&lt;br /&gt;
* MovePts [[MovePts|more Details]]&lt;br /&gt;
* RotatePts [[RotatePts|more Details]]&lt;br /&gt;
* JitterPts [[JitterPts|more Details]]&lt;br /&gt;
* ConcatPts [[ConcatPts|more Details]]&lt;br /&gt;
* ConvertPts [[ConvertPts|more Details]]&lt;br /&gt;
* CloneToPts [[CloneToPts|more Details]]&lt;br /&gt;
&lt;br /&gt;
==Curves==&lt;br /&gt;
* Line [[Line|more Details]]&lt;br /&gt;
* Circle [[Circle|more Details]]&lt;br /&gt;
* Rectangle [[Rectangle|more Details]]&lt;br /&gt;
* Polygon [[Polygon|more Details]]&lt;br /&gt;
* Star [[Star|more Details]]&lt;br /&gt;
* Curve [[Curve|more Details]]&lt;br /&gt;
* Polyline [[Polyline|more Details]]&lt;br /&gt;
&lt;br /&gt;
==Solids==&lt;br /&gt;
* [[Cone]]&lt;br /&gt;
* [[Cylinder]]&lt;br /&gt;
* [[Sphere]]&lt;br /&gt;
&lt;br /&gt;
==Construct==&lt;br /&gt;
==Transform==&lt;br /&gt;
==Objects==&lt;br /&gt;
==Widgets==&lt;br /&gt;
&lt;br /&gt;
Back to [[Nodeeditor|main page]]&lt;/div&gt;</summary>
		<author><name>Karsten</name></author>
		
	</entry>
	<entry>
		<id>https://moi3d.com/wiki/index.php?title=Nodeeditor&amp;diff=803</id>
		<title>Nodeeditor</title>
		<link rel="alternate" type="text/html" href="https://moi3d.com/wiki/index.php?title=Nodeeditor&amp;diff=803"/>
		<updated>2016-12-01T17:53:45Z</updated>

		<summary type="html">&lt;p&gt;Karsten: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===== Intro =====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Which version is the actual one?&lt;br /&gt;
nodeeditor V0.85&lt;br /&gt;
&lt;br /&gt;
== What is the nodeeditor? ==&lt;br /&gt;
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.&lt;br /&gt;
== Installation ==&lt;br /&gt;
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:&lt;br /&gt;
''moi.ui.createDialog( 'nodeeditor.v.0.85/index.html', 'resizeable,defaultWidth:680,defaultHeight:420', moi.ui.mainWindow )''&lt;br /&gt;
Now press close - and enter your shortcut key. - Hopefully it works. If not, you can find some tips [[troubleshooting|here]]&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* [[numarray]] -&amp;gt; for numbers and arrays of them&lt;br /&gt;
* [[pointarray]] -&amp;gt; for points and sequences of points&lt;br /&gt;
* [[objectlist]] -&amp;gt; geometrical objects like points, lines, curves, bodies ...&lt;br /&gt;
* [[boolean]] -&amp;gt; for logical operations&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;transported&amp;quot;. 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 [[Overview of the sub menues|here]].&lt;/div&gt;</summary>
		<author><name>Karsten</name></author>
		
	</entry>
	<entry>
		<id>https://moi3d.com/wiki/index.php?title=Nodeeditor&amp;diff=802</id>
		<title>Nodeeditor</title>
		<link rel="alternate" type="text/html" href="https://moi3d.com/wiki/index.php?title=Nodeeditor&amp;diff=802"/>
		<updated>2016-12-01T17:51:48Z</updated>

		<summary type="html">&lt;p&gt;Karsten: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===== Intro =====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Which version is the actual one?&lt;br /&gt;
nodeeditor V0.85&lt;br /&gt;
&lt;br /&gt;
== What is the nodeeditor? ==&lt;br /&gt;
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.&lt;br /&gt;
== Installation ==&lt;br /&gt;
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:&lt;br /&gt;
''moi.ui.createDialog( 'nodeeditor.v.0.85/index.html', 'resizeable,defaultWidth:680,defaultHeight:420', moi.ui.mainWindow )''&lt;br /&gt;
Now press close - and enter your shortcut key. - Hopefully it works. If not, you can find some tips [[troubleshooting|here]]&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* [[numarray]] -&amp;gt; for numbers and arrays of them&lt;br /&gt;
* [[pointarray]] -&amp;gt; for points and sequences of points&lt;br /&gt;
* [[objectlist]] -&amp;gt; geometrical objects like points, lines, curves, bodies ...&lt;br /&gt;
* [[boolean]] -&amp;gt; for logical operations&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;transported&amp;quot;. 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 [[Overview of the sub menues|here]].&lt;/div&gt;</summary>
		<author><name>Karsten</name></author>
		
	</entry>
	<entry>
		<id>https://moi3d.com/wiki/index.php?title=Nodeeditor&amp;diff=801</id>
		<title>Nodeeditor</title>
		<link rel="alternate" type="text/html" href="https://moi3d.com/wiki/index.php?title=Nodeeditor&amp;diff=801"/>
		<updated>2016-12-01T12:09:15Z</updated>

		<summary type="html">&lt;p&gt;Karsten: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===== Intro =====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Which version is the actual one?&lt;br /&gt;
nodeeditor V0.85&lt;br /&gt;
&lt;br /&gt;
== What is the nodeeditor? ==&lt;br /&gt;
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 Mois API and uses it for generating 3d geometric data.&lt;br /&gt;
== Installation ==&lt;br /&gt;
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:&lt;br /&gt;
''moi.ui.createDialog( 'nodeeditor.v.0.85/index.html', 'resizeable,defaultWidth:680,defaultHeight:420', moi.ui.mainWindow )''&lt;br /&gt;
Now press close - and enter your shortcut key. - Hopefully it works. If not, you can find some tips [[troubleshooting|here]]&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* [[numarray]] -&amp;gt; for numbers and arrays of them&lt;br /&gt;
* [[pointarray]] -&amp;gt; for points and sequences of points&lt;br /&gt;
* [[objectlist]] -&amp;gt; geometrical objects like points, lines, curves, bodies ...&lt;br /&gt;
* [[boolean]] -&amp;gt; for logical operations&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;transported&amp;quot;. 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 [[Overview of the sub menues|here]].&lt;/div&gt;</summary>
		<author><name>Karsten</name></author>
		
	</entry>
	<entry>
		<id>https://moi3d.com/wiki/index.php?title=Multiprocess&amp;diff=800</id>
		<title>Multiprocess</title>
		<link rel="alternate" type="text/html" href="https://moi3d.com/wiki/index.php?title=Multiprocess&amp;diff=800"/>
		<updated>2016-12-01T07:18:40Z</updated>

		<summary type="html">&lt;p&gt;Karsten: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Multiprocess in a strong feature of the nodeeditor, that makes it possible to choose between different assignment strategies of the data. In other words a single datum of a [[numarray]] can be assigned to all members of another [[numarray]] or an [[objectlist]]. This is called '''long mode''' (1:n). In the so called short mode every element of a e.g. numarray matches to one element of another numarray (1:1). Here the shorter list defines the number of elements are processed.&lt;br /&gt;
&lt;br /&gt;
Here is picture taken from a post of Max Smirnov [http://moi3d.com/forum/index.php?webtag=MOI&amp;amp;msg=7713.383] that shows the behavior:&lt;br /&gt;
&lt;br /&gt;
[[image:arraymodes.gif]]&lt;/div&gt;</summary>
		<author><name>Karsten</name></author>
		
	</entry>
	<entry>
		<id>https://moi3d.com/wiki/index.php?title=File:Arraymodes.gif&amp;diff=799</id>
		<title>File:Arraymodes.gif</title>
		<link rel="alternate" type="text/html" href="https://moi3d.com/wiki/index.php?title=File:Arraymodes.gif&amp;diff=799"/>
		<updated>2016-12-01T07:16:48Z</updated>

		<summary type="html">&lt;p&gt;Karsten: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Karsten</name></author>
		
	</entry>
	<entry>
		<id>https://moi3d.com/wiki/index.php?title=Multiprocess&amp;diff=798</id>
		<title>Multiprocess</title>
		<link rel="alternate" type="text/html" href="https://moi3d.com/wiki/index.php?title=Multiprocess&amp;diff=798"/>
		<updated>2016-12-01T07:15:28Z</updated>

		<summary type="html">&lt;p&gt;Karsten: Created page with &amp;quot;Multiprocess in a strong feature of the nodeeditor, that makes it possible to choose between different assignment strategies of the data. In other words a single datum of a ...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Multiprocess in a strong feature of the nodeeditor, that makes it possible to choose between different assignment strategies of the data. In other words a single datum of a [[numarray]] can be assigned to all members of another [[numarray]] or an [[objectlist]. This is called '''long mode''' (1:n). In the so called short mode every element of a e.g. numarray matches to one element of another numarray (1:1). Here the shorter list defines the number of elements are processed.&lt;br /&gt;
&lt;br /&gt;
Here is picture taken from a post of Max Smirnov [[http://moi3d.com/forum/index.php?webtag=MOI&amp;amp;msg=7713.383]] that shows the behavior:&lt;br /&gt;
&lt;br /&gt;
[[image:arraymodes.gif]]&lt;/div&gt;</summary>
		<author><name>Karsten</name></author>
		
	</entry>
	<entry>
		<id>https://moi3d.com/wiki/index.php?title=Numarrays&amp;diff=797</id>
		<title>Numarrays</title>
		<link rel="alternate" type="text/html" href="https://moi3d.com/wiki/index.php?title=Numarrays&amp;diff=797"/>
		<updated>2016-12-01T06:53:30Z</updated>

		<summary type="html">&lt;p&gt;Karsten: Karsten moved page Numarrays to Numarray&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Numarray]]&lt;/div&gt;</summary>
		<author><name>Karsten</name></author>
		
	</entry>
	<entry>
		<id>https://moi3d.com/wiki/index.php?title=Numarray&amp;diff=796</id>
		<title>Numarray</title>
		<link rel="alternate" type="text/html" href="https://moi3d.com/wiki/index.php?title=Numarray&amp;diff=796"/>
		<updated>2016-12-01T06:53:29Z</updated>

		<summary type="html">&lt;p&gt;Karsten: Karsten moved page Numarrays to Numarray&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Numarrays are a sequence of numbers stored in an JavaScript array. It is the standard datatype to process values in the nodeeditor.&lt;/div&gt;</summary>
		<author><name>Karsten</name></author>
		
	</entry>
	<entry>
		<id>https://moi3d.com/wiki/index.php?title=Nodeeditor&amp;diff=795</id>
		<title>Nodeeditor</title>
		<link rel="alternate" type="text/html" href="https://moi3d.com/wiki/index.php?title=Nodeeditor&amp;diff=795"/>
		<updated>2016-12-01T06:50:40Z</updated>

		<summary type="html">&lt;p&gt;Karsten: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===== Intro =====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Which version is the actual one?&lt;br /&gt;
nodeeditor V0.85&lt;br /&gt;
&lt;br /&gt;
== What is the nodeeditor? ==&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
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:&lt;br /&gt;
''moi.ui.createDialog( 'nodeeditor.v.0.85/index.html', 'resizeable,defaultWidth:680,defaultHeight:420', moi.ui.mainWindow )''&lt;br /&gt;
Now press close - and enter your shortcut key. - Hopefully it works. If not, you can find some tips [[troubleshooting|here]]&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* [[numarray]] -&amp;gt; for numbers and arrays of them&lt;br /&gt;
* [[pointarray]] -&amp;gt; for points and sequences of points&lt;br /&gt;
* [[objectlist]] -&amp;gt; geometrical objects like points, lines, curves, bodies ...&lt;br /&gt;
* [[boolean]] -&amp;gt; for logical operations&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;transported&amp;quot;. 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 [[Overview of the sub menues|here]].&lt;/div&gt;</summary>
		<author><name>Karsten</name></author>
		
	</entry>
</feed>