MoI discussion forum
MoI discussion forum

Full Version: Nodebundle for playing with nodes

Show messages:  1-9  …  1270-1289  1290-1309  1310-1329  1330-1349  1350-1369  1370-1389  1390-1409  …  1850-1859

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

From: bemfarmer
29 Dec 2018   [#1330] In reply to [#1329]
Thank you Michael.

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.
(The upper left area of the nodeeditor window does not have to be over the origin.)


- Brian

p.s. This does not seem to be occuring in MoI3 with the same nodeeditor version 1, rc3.

Nodes activity in this area has the node flying way way off to the Northwest of the node screen...
They can be moved back into viewing range...

EDIT: The above behavior did not occur the next day, with a reboot. But later in the day, the "zooming" is back.
From: James (JFH)
30 Dec 2018   [#1331] In reply to [#1328]
Hi Brian,

I’m sorry if my Hex Grid macros were a source of frustration for you. You’re right that there several incompatible versions. It was more a cobbled-together contraption to perform a given need than a definitive macro for broadcast. So thank you for your work in producing a universal macro for hexagonal grids.

I am, right now, on an island: “Phi Phi” off Thailand, with no means of testing / playing with it, but thank you for your hard work; it is much appreciated. I look forward to seeing your documentation.

Warm regards
James
https://www.instagram.com/nodeology/
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

Show messages:  1-9  …  1270-1289  1290-1309  1310-1329  1330-1349  1350-1369  1370-1389  1390-1409  …  1850-1859