I’m beginning to think I’m going to have to restructure my modules again. Currently my program assumes that all modules can take and make an unlimited number of connections and that they are all of the same type. It’s automatically handling it all nicely, but in practice NeatTools modules have many different input and output requirements. Some have multiple outputs of the same kinds, some multiple, each of a different kind. Some have a fixed number, some have unlimited. You can see where I’m going with this. Currently all modules start out with 0 inputs and outputs on all sides. When a connection is created it creates one. What I guess I need to do is start differentiating my modules’ connections. Crap. Any suggestions would be appreciated.
Bottom outputs seem pretty rare, so I’m ignoring them until I can’t anymore. For the modules that need two inputs, like subtractions, I’ve created two types of “mom”s (the arrays that hold the parent connections), mom and topMom. Which allows the module to tell which inputs are from the top and which are from the left. This should pretty easily work with division too.
As an interesting difference between my subtraction module and NeatTools’. Mine will accept unlimited top and side inputs and sum them before performing the subtraction.
I like that the sides add before the subtraction. Perhaps this behavior should be extended to other operations like division. However, I would prefer to see the minuend on top with the subtrahend on the side. I’m just saying …
I’m just copying the NeatTools with the position of the minuend and the subtrahend ( I’m impressed you remembered their names, I had to look it up ). Why would you like it to work the other way?