wiki:SCENE_COMMONS_R0
Last modified 3 years ago Last modified on 01/22/09 20:29:02

Ticket Summary Owner Status Type Component Priority Effort Importance
#258 SCENE_COMMONS_R0 peko closed planned_task BASE_SCENE 3 0.5 30

Reported by Astea, 4 years ago.

Description

wiki page: SCENE_COMMONS_R0 - effort: 0.5d

Analysis_owners

pap

Analysis_reviewers

peko

Analysis_score

3.5

Design_owners

pap, peko

Design_reviewers

tanya

Design_score

4

Imp._owners

pap, peko

Imp._reviewers

boyan

Imp._score

3

Test_score

0

Analysis

Overview

The page scene is responsible for displaying objects inside the page work area. The page scene provides an object model for the contents of the page work area. It is supposed that different implementations of the scene should exist. They will actually display the given model using the primitives of some library. Base scene is a mediator that contstructs the object model and then uses a concrete implementation to get the graphical result.

Task requirements

  • Define the elements of the scene model.
  • The model should be able to handle different page elements.
  • The scene should be able to provide a swing component.

Task result

The result of this task should be source code.

Implementation idea

Probably it will be good to have these elements in the model:

  • Frame
  • Swing component

How to demo

  • Describe the model
  • Show the interfaces/classes.

Design

  • We will use the Composite design pattern to build our model.
  • Here is the UML diagram for the object model

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

  • Each element's graphic will have its own coordinate system
  • Each element contains an affine transformation that will position the element at the correct place.
  • Element style is supposed hold information about borders, opacity, shadows, etc.
  • Each element belongs to a layer.
    • The higher the layer the closer the object is to the viewer.
    • If the an object has no layer set, it inherits it from its parent object(ultimately the scene).
    • In each layer objects are sorted by their index in the scene object tree.
  • There will be Scene objects. They'll hold the information about the whole scene.
  • Swing element provisioning mechanism should be provided in the module class. To be done in SCENE_POINT task.

Demo: 771

Implementation

Testing

Comments

Log

Analysis: Pap - done(25m)
Reivew: Peko - 3.5p OK.
Design:
Implementation:
Testing:
Comments: