MoI discussion forum
MoI discussion forum

Full Version: Nodebundle for playing with nodes

Show messages:  1-14  …  1555-1574  1575-1594  1595-1614  1615-1634  1635-1654  1655-1674  1675-1694  …  1855-1859

Thread Split: Some posts in this thread have been moved here

From: Frenchy Pilou (PILOU)
6 Oct 2019   [#1615]
Ok i haved finished the Section Not Native Construct2 all English ;) Next will be Curve2
http://moiscript.weebly.com/construct2.html

...except these 2 little things where i am sucked! :(

if you have some ideas ?


From: James (JFH)
19 Oct 2019   [#1616]
Hi All,

I am getting an error message when using curveLength node. (see below)

code:
TypeError: undefined is not an object (evaluating 'this.outputs[1].label = len[0].toFixed(2)')

moi://appdata/nodeeditor/nodes/extensions/infonodes.js   line 74

70:               out.addObject(inObj.item(i).clone());
71:               } 
72:             }
73:             this.setOutputData(0, out);
74: >>          if(len.length>0) this.outputs[1].label = len[0].toFixed(2);
75:             this.setOutputData(1, len);
76:         }
77:         crv_length.prototype.onPropertyChange = function ()
78:         {


I have attached a simple .nod file. Can someone please run it to see if problem is universal or specific to my setup. I have already tried reloading both my v4beta & nodeEditor folder without fixing this issue.

I would greatly appreciate any assistance
Have a great weekend
James
https://www.instagram.com/nodeology/

Attachments:
crvLenTest.nod


From: Frenchy Pilou (PILOU)
19 Oct 2019   [#1617]
You ask a curve's length of a Point ?


From: bemfarmer
19 Oct 2019   [#1618] In reply to [#1616]
Hi James,
How did you get a gold output to connect to a green input?
Once detached, I cannot get this incorrect connection to reconnect.

The green output hooked to the green input shows the length as 57.38.

Gold output to an Output node draws the curve.
Its MoI length with unwrap curve script is 57.3800598.

- Brian
From: James (JFH)
19 Oct 2019   [#1619] In reply to [#1618]
Thanks Brian & Pilou,

Is is apparent now that my fiddling with the code is the issue.
I will overwrite with original code.

Thanks again
James
From: Michael Gibson
19 Oct 2019   [#1620] In reply to [#1619]
Hi James, also the new v4 beta has the arrowheads that rotate towards the viewer that you were asking about a while ago for showing directions.

They can be created like this:

code:
	var startpt = moi.vectorMath.createPoint(5,5,5);
	var endpt = moi.vectorMath.createPoint(10,10,10);
	var f = moi.command.createFactory( 'arrow3d' );
	f.setInput( 0, startpt );
	f.setInput( 1, endpt );
	var arrow = f.calculate().item(0);
	moi.geometryDatabase.addObject( arrow );
	f.cancel();


That creates a Leader with its plane perpendicular to the arrow direction and sets the .rotateArrowheadPlaneTowardsViewer property on it.

- Michael
From: wayne hill (WAYNEHILL5202)
20 Oct 2019   [#1621] In reply to [#1619]
@James,

Create a test directory for the Node Editor and call it with a shortcut. This way you keep the original directory and have a test area for playing with nodes.

moi.ui.createDialog( 'moi://appdata/nodeeditortest/index.html?scheme=Light', 'resizeable,defaultWidth:1000,defaultHeight:1000', moi.ui.mainWindow );

The original and test area node editor use the same MOI instance so the nodes are viewable in both the original and test area editors.

You can cut and paste nodes between the node editors and run them separately. How cool is that?

Wayne
From: James (JFH)
20 Oct 2019   [#1622] In reply to [#1620]
Michael

Yes, thank you for the code to address new arrowheads. This will be a real boon for future development of vector nodes.



Wayne

Thanks for the tip of parallel NE for testing coding. This is indeed a "cool" technique.



Thanks again,
James
https://www.instagram.com/nodeology/
From: bemfarmer
22 Oct 2019   [#1623]
Question about writing a new node.

The scripts in MoI often have Functions{} in their code.

The node programs do not seem to use such Functions{} very much.
Instead they use ...prototype...function().
So to use a function from a script, in a node, should they be written as ...prototype...function()?

Or,
I see that in the Lib folder under nodeeditor\nodes\extensions, there is a file called basicFunctions.js,
which is full of miscellaneous functions.

So when writing a node which uses a MoI script with functions, can or should I put the needed functions in a new lib file called, for example, basicFunctions2.js?

- Brian

It seems that the functions in basicFunctions.js can be (re-)used in any new node?
From: Karsten (KMRQUS)
22 Oct 2019   [#1624] In reply to [#1623]
Hello, Brian,

the prototype function gives the objects created by using the nodeeditor a uniform interface for the processing. Same method names for the various
Knots. So every code of the node creates a type. Later by using the node editor you create objects of these types with a uniform interface of functions.
You can of course use the functions in basicFunctions.js and also create a basicFunctions2.js. You can also write your functions to the same file as your nodes.
For more frequently used functions, it makes sense to store them in a library.

Have a nice day
Karsten
From: bemfarmer
22 Oct 2019   [#1625] In reply to [#1624]
Thank you Karsten.

Two additional related questions:
1. Where would a function go in a node? Inside the .prototype.onExecute = function (), or
just before it?
I have not found any examples, as far as I know.

2. Is it necessary to "link" say basicFunctions2.js somewhere? Or is this already set up?
(I have not searched for an example useage of basicFunctions.js yet.)

- Brian
From: Karsten (KMRQUS)
23 Oct 2019   [#1626] In reply to [#1625]
Hello Brian,

you can find examples where to place "normal" functions in vector.js. If you want to create a lib of functions you can place it in the libs folder under extensions. Max has made an autoload for files placed in that folder. So no link.

Have a nice day
Karsten
From: bemfarmer
23 Oct 2019   [#1627] In reply to [#1626]
That information is very helpful.
Thank you Karsten.

- Brian
From: Frenchy Pilou (PILOU)
31 Oct 2019   [#1628]
Maybe this can interest you! :)

https://nodevember.io
From: James (JFH)
8 Nov 2019   [#1629]
Hi All,

Surface Tweening Animations: interpolating z values between 2 point Arrays with randomised z values.

Have a great weekend
James
https://www.instagram.com/nodeology/


From: Frenchy Pilou (PILOU)
9 Nov 2019   [#1630] In reply to [#1629]
Cool!
Does exist a trick for see if the are Macros or not ?
And i see (1-a)*b how do you enter (1-a) ?
From: James (JFH)
9 Nov 2019   [#1631] In reply to [#1630]
Pilou,

>> Does exist a trick for see if the are Macros or not ? <<

Yes, the macros are darker, but there are no macros used in example above.

>> And i see (1-a)*b how do you enter (1-a) ? <<

As well as preset functions, you can type custom functions into Math node's F field.
See image below

>> Cool <<

Cheers
James
https://www.instagram.com/nodeology/

Image Attachments:
Ffieid.gif 


From: Frenchy Pilou (PILOU)
9 Nov 2019   [#1632] In reply to [#1631]
I must retry because this F case return me nothing! :)
From: bemfarmer
9 Nov 2019   [#1633] In reply to [#1632]
After typing in an equation in the F field, press enter, otherwise the entry goes away.
(Slightly annoying). When typing a more complex equation, save a partly correct entry, then re-edit,
otherwise partial work could be lost.
- Brian
From: Frenchy Pilou (PILOU)
10 Nov 2019   [#1634] In reply to [#1633]
Good to know!

Show messages:  1-14  …  1555-1574  1575-1594  1595-1614  1615-1634  1635-1654  1655-1674  1675-1694  …  1855-1859