Stl-tools get some work in the last couple of days which will be the basis for future development.
The main point I nailed out is to have a structure that can support commands that needs different number of parameters.
The old implementation needs to specify the axis for all the operations, but while adding the new operation stubs, I realize that not all of the operations I’d like to implement need the axis specification and, more important, not all of them refer to an axis.
With this in mind I removed the -x option and update the mirror operation to reflect this. The new method is based on a structure (technically a python dict) which hase a “name” , which is the operation itself, and a nested structure (another python dict) which contain all the couples option-value for the operation. This give the required liberty to implement every operation without the risk to touch every part of the code every time I will need to have another option for a new operation.
While working on this, I also corrected the mirror operation definition so now the it is defined to refer to a plane instead of an axis, which is way too more logical.
The last thing done is to move all the help related function to specific class. With this I hope to have a clearer code