wiki:SCENE_TUTORIAL
Last modified 16 years ago Last modified on 12/19/08 19:25:21

General Information

Scene is the things that is visualized on the screen. It is model of elements that describes the actual visual representation. Usually there is a "base element" that contains the others. The scene contains a structure that is displayed on screen. This means that the "base element" can contain a list of elements or can be a root of a tree. If an element of the list or a node of the tree has changed, its visual representation also changes.

Scene in Sophie 2

The scene model of Sophie 2 is composed of different elements which have different properties like color, layer, image etc. They are divided in classes and there is a composite scene element that is used contain scene elements. This way we have a Tree of SceneElements. For more information see => SCENE_COMMONS_R0 Since we have a model in Sophie 2 which represents the book with pages and frames and etc, we need to have something that collects the information from the model, constructs a scene structure and actually display it. In order to do this we have the work area which on the other hand is divided by AuthorPageWorkArea and ReaderPageWorkArea. These are needed to acquire different scene for the Sophie Reader and Sophie Author. For more information about these see => PAGE_WORK_AREA_DESIGN. Up to now we have a scene model and something that actually constructs it. A thing that displays the scene should also be available. This is going to be done by a GUI library. For every element in the scene a corresponding visual part should be done. We will probably have two libraries displaying the same scene and in the end there should be only one.

Things connected with scenes

  • The base common scene model => SCENE_COMMONS_R0
  • The thing constructing the model => PAGE_WORK_AREA_DESIGN
  • The thing displaying the scene which is divided into three parts =>
  • The work area is part of the view since it is closely connected with it. To get familiar with the View see => CORE_MVC_BASE this will also help people understand where the model of the scene is constructed from. It is a visual model of the model of Sophie 2.
  • The Base scene is in the org.sophie2.base.scene module.
  • In order to be independent of the libraries we use for scene visualization we need to define a place where these libraries are attached. By design they will be extensions for the extension point of the base scene library.
    • SCENE_POINT_R0 - extension point for the libraries.
    • SCENE_AUDIO_POINT_R0 - which is an extension point for the video part of the scene. This is a separate library and may be same for audio and video.
    • SCENE_VIDEO_POINT_R0 - which is an extension point for the audio part of the scene. This is a separate library and may be same for audio and video.

Interaction of the scenes and Sophie 2

  • This is a general overview of the scene inraction:

source:/trunk/sophie2-platform/doc/uml-design-diagrams/SceneOverview.png

  • Note that this is not implemented yet. For the time being we use a SimpleSceneEngine that is in the org.sophie2.view.main.page.area package and displays very little. The module that uses the extension point of the org.sophie2.base.scene does not function for and an implementation with Java OpenGL does not exist.