bmcs-group / oricreate

Modeling framework for design and manufacturing of folded plate structure
GNU General Public License v3.0
0 stars 0 forks source link

UI & Visualization - generalize #3

Open rosoba opened 10 years ago

rosoba commented 10 years ago

Provide the standard structure of modules for the visualization, user interface.

rosoba commented 10 years ago

For 3D visualization, the concept of a separate view class should be preserved. The SimulationHistory and CreasePatternState should provide the interface for the 3D view object. Both an interactive and scripting interface of the view object should be elaborated.

Thus, the View3D object interacts with the IModel3D Interface. The interface data to be supplied by the model consists of topological data and time dependent data in terms of nodal coordinates x_t.

The visualization could be solved by designing a base class Has3DStates which might be seen as a partner of the the class View3DStates.

rosoba commented 9 years ago

ui structure

Visualization

Each state and operator object can be associated with several visualization objects (with a shortened class name Viz3D. In order to introduce a n independent class subsystem into the class structure, objects supporting visualization inherit from Visual which introduces a dictionary viz3d objects.

Classes implementing visualizations inherit from Viz3D. Their names also end with Viz3D, i.e. CreasePatternViz3D of DofConstraintsViz3D.

Visualization objects are assembled within a Viz3DPipeline. The pipeline is constructed by a FormingTask and registered within the FTView3D target object. When plotting or updating the view, the pipeline iterates through the registered Viz3D objects and calls their plot( view3d ) or update( view 3d ) methods.

FTView3D object provides an mlab interface as an mlab attribute.

Window structure

The MainWindow consists of two components

The FormingTaskTree shows the design process along the dependencies between the tasks and provides the possibility to browse them through. FormingTask3DView shows the animation of a single forming task. FormingTaskEditor shows the editor pane with the parametesr of the forming task.