This is a program, written using Open Inventor to be used to map one or more objects into the 'parametric' space defined by a regular polygon mesh.
The program reads and writes Open Inventor format geometrical obejct description files.
The program has an interactive and a non-interactive, batchable mode.
When the -gui option is specified on the command line (and outfile is omitted), the program launches an Open Inventor SoXtExaminerViewer containing the the specified Open Inventor mesh.iv with the specified 'mapped' (o1.iv, o2.iv, etc.) mapped into the parametric space of the surface mesh.iv.
mesh.iv must contain only an Open Inventor SoQuadMesh node type and its associated SoCoordinate3 vertex node.
The only restriction on the 'mapped' object is that it contain Coordinate3 nodes for its vertices.
The SoXtExaminerViewer allows the user to interactively zoom and tumble the object under control of the mouse. The user may also change the style of rendering of the displayed object.
Along with the SoXtExaminerViewer is displayed a UI window marked Parametric Mapping Control. This window contains Thumbwheel and TextField pairs to allow the user to adjust the scale, U, V and N(ormal) direction displacements and rotation of the 'mapped' object relative to the parametric space of the surface mesh.iv.
When the -gui option is used, the user is expected to use the File->Save... menu in the user interface to save the modified objects, when the parameters are adjusted to the desired values.
ParaMeshMap assumes that the given mesh.iv contains exactly and only one Open Inventor QuadMesh node and its Coordinate3. This restriction exploits the intrinsic order implied in the QuadMesh, allowing it to be easily parameterized.
fromThreescript, below, exploits the intrinsic order implied in the Mathematica Graphics/ParametricPlot3D to optionally convert a surface in two parameters to an Open Inventor QuadMesh.