What is looked for:
A program that will generate all available graphical diagrams that represent all possible combinations of elements, according to 3 possible relationships (1, means objects are linked directly. 0, means objects are linked indirectly by one item. ?, means objects have more than 1 element between them).
The user will be able to define the number of items he/she wants to have in each "run".
Important: the elements will be linked together by lines, and those lines shall not cross or cut each other. The program mustn’t combine 5 elements with 4 links/connections, or 6 elements with 3 links/connections. Program will notify user if/when a crossing takes place (may prove to be redundant but it´s mentioned anyway).
Note: the user will be able to EDIT the obtained diagram (slide the objects freely, shorten or elongate the lines connecting the objects with the MOUSE. In other words, modify the shape of the diagram freely after it has been generated by the program.
Important: the generated diagram will be enclosed inside a geometrical figure of x sides after it´s generation (user will be able to define the amount of sides, for example an hexagon, pentagon, etc.) and the diagram has to fit inside. After its definition, the geometrical figure can be edited by moving the mouse over the sides and dragging.
The length of the lines/links shall be expressed in meters and user will visualize the size of the line/link at the moment of mousing over the lines/links, or dragging/dropping the lines/links to make the diagram or the outer geometrical figure bigger or smaller. As scale, user will be able to define millimeters, centimeters or inches as reference. Default size of the lines should be big enough to allow user to view the diagram and figure easily, without having to increase diagram or geometrical figure´s size. But a ZOOM bar will be available to users.
If user reduces the size of the geometrical figure by the action of dragging and dropping, the inner diagram will automatically reduce in order to fit inside.
Attention: user will be able to define the amount of objects to include in the diagram and will be able to define different objects (using different colors, or different names inside the objects). User will be able to modify the shape of the objects with the mouse (drag/drop) as long as it stays inside the outer geometrical figure. The default shape of the objects will be a square.
Very important: user will be able to define turning points in any part of the outer geometrical figure or diagram objects, to increase the amount of sides. Any turning point may be eliminated (using the mouse) to convert two lines that meet in a single point into one line.
Both the diagram and the outer geometrical figure will be contained inside a compass-like structure that will serve for orientation purposes (north east south west).
The resulting geometrical shape and inner diagram may be saved as a file that is editable on other software like Autocad and other CAD software. Autocad file format is .DWG. This may be done directly without the need to use a vector converter to convert the file to a .DWG.
Very important about the diagram: user will be able to remove the lines linking the diagram objects to each other (one by one, or all at once) in order to allow user to modify the shape or increase the size of the diagram objects. It will be possible that objects that have a direct relationship can share a common side, or sides (turning point included).
The program has to run on a Windows environment and Iphone.