Nodebundle for playing with nodes
 1-8  …  1289-1308  1309-1328  1329-1348  1349-1368  1369-1388  …  1849-1859
Thread Split: Some posts in this thread have been moved here

Previous
Next
 From:  Michael Gibson
7777.1329 In reply to 7777.1328 
Hi Brian, for the escape key handling, one possibility could be to put in an onunload="" handler which can go on the <body> element, and save work there. There's an example of that in the Options.htm dialog.

Also in v4 it is possible for a dialog to do custom handling of keyboard events and it is possible to override escape key handling. There's an example of dialog keyboard event handling in ShortcutKeyDialog.htm .

Putting in a function like this should prevent the default escape key processing which closes dialogs:
code:
			function OnKeyDownEvent( e )
			{
				if ( e.isEscapeKey )
					e.handled = true;
			}


- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  bemfarmer
7777.1330 In reply to 7777.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.

EDITED: 30 Dec 2018 by BEMFARMER

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  James (JFH)
7777.1331 In reply to 7777.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/

EDITED: 31 Dec 2018 by JFH

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  bemfarmer
7777.1332 In reply to 7777.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
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
7777.1333 In reply to 7777.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
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  bemfarmer
7777.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

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Karsten (KMRQUS)
7777.1335 In reply to 7777.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:-)
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Karsten (KMRQUS)
7777.1336 In reply to 7777.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.

EDITED: 19 Jan 2019 by KMRQUS

Attachments:

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  bemfarmer
7777.1337 In reply to 7777.1336 
Thank you Karsten,
You are very skilled and informed.

- Brian

I'll study more, as time allows. House remodeling is calling...
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  James (JFH)
7777.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/

EDITED: 14 May 2019 by JFH

Attachments:

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  bemfarmer
7777.1339 In reply to 7777.1338 
Hi James,
I'm getting an orange flagged output node.
None of the nodes are red

Test outputs are working elsewhere.

?

- Brian
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  James (JFH)
7777.1340 In reply to 7777.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/

EDITED: 28 Jan 2019 by JFH

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  bemfarmer
7777.1341 In reply to 7777.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
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Karsten (KMRQUS)
7777.1342 In reply to 7777.1341 
Hello Brian,

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

Have a nice day
Karsten
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  bemfarmer
7777.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
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  bemfarmer
7777.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
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  bemfarmer
7777.1345 In reply to 7777.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

EDITED: 9 Feb 2019 by BEMFARMER

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Message 7777.1346 deleted 9 Feb 2019 by BEMFARMER

Previous
Next
 From:  bemfarmer
7777.1347 In reply to 7777.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
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Barry-H
7777.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


Attachments:

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged
 

Reply to All Reply to All

 

 
Show messages:  1-8  …  1269-1288  1289-1308  1309-1328  1329-1348  1349-1368  1369-1388  1389-1408  …  1849-1859