MoI discussion forum
MoI discussion forum

Full Version: Nodebundle for playing with nodes

Show messages:  1-11  …  1272-1291  1292-1311  1312-1331  1332-1351  1352-1371  1372-1391  1392-1411  …  1852-1859

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

From: bemfarmer
30 Dec 2018   [#1332] In reply to [#1331]
Hi James,
Your many .nod files are very interesting and educational. I've used your HexGrid
information a lot, and the equations that I figured out will be the same, or similar
to many of yours.
For myself, there is still a lot to learn about the Nodes, in order to be able to use them,
so in this winter "reduced workload" period, I'll try to do some documentation about
using some of the Nodes.
- Brian
From: Michael Gibson
31 Dec 2018   [#1333] In reply to [#1330]
Hi Brian,

re:
> I've recently noticed another "strange" behavior in MoI4Beta, or nodeeditor.
> When a nodeeditor window is open, and its upper left section, about 2 inches square,
> more or less, is overlaying the origin of the MoI screen,
> using the mouse scroll wheel in the nodeeditor window, causes the MoI grid to zoom in and out.

Thanks for reporting this - I was able to reproduce this over here and it should be fixed for the next v4 beta.

- Michael
From: bemfarmer
19 Jan 2019   [#1334]
There seems to be some kind of bug with mPath_Array.
After running the script, without Apply, the CurvesU are selectable and deletable by MoI, the points are not selectable nor deletable by MoI, until Apply is clicked.

After clicking Apply and deleting everything in MoI, and returning focus to the nodeeditor canvas, Run does not produce any result, until an input wire, or output wire is detached and re-attached, or knob is "rotated." Also detaching and reattaching the gold wire from ConvertPts, point mode, causes the points to re-appear.
Detaching and reattaching the gold wire from convertPts, CurvesUmode, causes the lines to re-appear.

Also, highlighting of the CurvesU lines will reappear inappropriately.

- Brian

Attachments:
testSplitPtsProblem.zip


From: Karsten (KMRQUS)
19 Jan 2019   [#1335] In reply to [#1334]
Hello Brian,

thanks for testing! I had a look to your example, but mPath-Array gives no Points or something else to the database. mPath-Array uses database elements, but only temporary. So it seems to be a diffenence of the handling in the convertPts noder in the output-node. I my opinion only a small problem, deleting object while running NE isn't a good idea. Maybe it's a bug, maybe it's a problem to implement a NE with the Moi-API. It isn't made for. Nevertheless I will have a look to the code the next days.

Have a nice day
Karsten

p.s.: Try changing along and across in the mPath-Array node - it gives you an impression how bundlePts work:-)
From: Karsten (KMRQUS)
19 Jan 2019   [#1336] In reply to [#1334]
By the way - It was the most difficult node in the extensions I made from scratch. You have to differentiate between open and closed curves, evaluate a tangent to the start points (no API function in V3), adjust a orientation of a frame with it. All points/frames on the curve are depending on the mode - orientated to the curve (used arraycruve). It takes not only a single value for the div - you can also put a numarray with monotonic increasing values to the input - so you get different distances for the points on the curve. Here I had to use the strategy to place them from both sides for performance issues. PLEASE - don't find a bug:-|

p.s.: If you want to see the frames in an pointarray, you can use showFrame. Also useful to understand the working of the Euler-angles.

Attachments:
sf.nod


From: bemfarmer
19 Jan 2019   [#1337] In reply to [#1336]
Thank you Karsten,
You are very skilled and informed.

- Brian

I'll study more, as time allows. House remodeling is calling...
From: James (JFH)
28 Jan 2019   [#1338]
Hi All,

Here's a rather trivial example of Max's improved Remapper node being used to define tooth profiles of a cog/sprocket.

Requires Max's latest interface.js found here:
http://moi.maxsm.net/files/nodeeditor/interface.js

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

Image Attachments:
cogParametric.gif 


From: bemfarmer
28 Jan 2019   [#1339] In reply to [#1338]
Hi James,
I'm getting an orange flagged output node.
None of the nodes are red

Test outputs are working elsewhere.

?

- Brian
From: James (JFH)
28 Jan 2019   [#1340] In reply to [#1339]
Hi Brian

Should have said "

Requires Max's latest interface.js found here:
http://moi.maxsm.net/files/nodeeditor/interface.js

". Does now!

Let me know if that does not fix issue.
James
https://www.instagram.com/nodeology/
From: bemfarmer
28 Jan 2019   [#1341] In reply to [#1339]
Note:
Loading a node assemblage with an obsolete node, and then saving the node assemblage from the nodeeditor canvas, may result in a node assemblage which will not work, even after the updated interface.js node has been added to the nodeeditor nodes directory.
The defective node (and assemblage) may look exactly like the good node. Re-upload the node assemblage from its original source.

Thank you James.
I had not updated the interface.js on Home computer.
I'd saved your cog node, from the nodeeditor canvas, making my copy defective.
Updated interface.js.
Defective node still would not work.
Downloaded your cog node AGAIN, from your forum post.
Now the cog node works fine.

- Brian
From: Karsten (KMRQUS)
30 Jan 2019   [#1342] In reply to [#1341]
Hello Brian,

maybe caused by JSON. If the Infos for the node are not completly availiable while saving?

Have a nice day
Karsten
From: bemfarmer
8 Feb 2019   [#1343]
Circles projected to sphere by stereographic projection are not closed. (Nor for conformal map to torus.)
Maybe an isclosed check, and if so a close command...

- Brian
From: bemfarmer
9 Feb 2019   [#1344]
The node "separateObj" seems to have a bug.
The node is blocking passage of circles and ellipses, which are closed curves, in a demo of ConformalMapT

It was fairly easy to get the conformal mapping of circles and ellipses to be closed.

- Brian
From: bemfarmer
9 Feb 2019   [#1345] In reply to [#1344]
The Separate factory only produces output for curves which can be separated.

The separate node needs to be altered, to pass on closed curves which are made up of only one segment, (including elementary circles and ellipses, etc.)
Closed polygons should be separated for the conformal mapping. (and stereo project?)
So test for isClosed, and also check for crv.getSubObjects().length ==1.

Is there a test to tell when a curve can be separated?
EDIT: Michaels previous answer from: https://moi3d.com/forum/index.php?webtag=MOI&msg=8818.8
"The segments of a curve are returned by the getSubObjects() method which is available on every object type in MoI. A curve always has at least one segment. To see if it's made up of multiple segments you could do crv.getSubObjects().length > 1."

- Brian

Message 7777.1346 was deleted


From: bemfarmer
13 Feb 2019   [#1347] In reply to [#1345]
After study of Karsten and James code from last December, here is my modification of the
"Separate" node. The code belongs in the objects2.js file of nodeeditor.

code:
    function separateObj()
    {
        this.addInput("In", "objectlist");
        this.addOutput("Out", "objectlist");
    }

    separateObj.title = "separateObj";
    separateObj.desc = "separateObj";

    separateObj.prototype.onExecute = function ()
    {
		var inObj = this.getInputData(0, moi.geometryDatabase.createObjectList());
        var out = moi.geometryDatabase.createObjectList();

        if (inObj.length > 0)
		{
            out = factory('separate', inObj); // Segments of Multi Subsegment curves.
        	for ( var i = 0; i < inObj.length; i++)
			{
				if ( inObj.item(i).getSubObjects().length === 1)
					out.addObject(inObj.item(i)); // Single SubSegment curves.
			}
	
		}
        this.setOutputData(0, out);
    }

    LiteGraph.registerNodeType("Objects2/separateObj", separateObj);






I think that the problem is that the Separate factory only works on geometry objects in the geometry database.
Separate will work on the InObj array of objects, as ONE entity, but not on each curve item in the array, (without more programming).
The above code outputs, to out_slot, the results of the Separate factory, consisting of the segments of curves with more than one sub_segment.
Each inObj object in the input slot is then tested to see if it has only one sub_segment, and if so, said curve is added to the output out_slot.
(This likely does change the order of the curves.)

The conformal mapping is now working well with various input curves. I'm back to Normals...
- Brian
From: Barry-H
15 Feb 2019   [#1348]
Hi,
is there a way of producing an isect node or a way of extracting the edges from the surface I have produced using
the intersection node.
Cheers
Barry


Image Attachments:
Screenshot (314).png 


From: Karsten (KMRQUS)
15 Feb 2019   [#1349] In reply to [#1348]
Hello Barry,

objects2\extractEdges
objects2\intersectObj

Have a nice day
Karsten
From: Barry-H
15 Feb 2019   [#1350] In reply to [#1349]
Hi Karsten,
your faster than Usain Bolt.
Many thanks
Barry
From: bemfarmer
15 Feb 2019   [#1351]
One of these days, an updated set of extension nodes, which can be found:-), would be nice.
I'm still doing some very minor "tweeking" on a few nodes...
- Brian

Show messages:  1-11  …  1272-1291  1292-1311  1312-1331  1332-1351  1352-1371  1372-1391  1392-1411  …  1852-1859