EXODUS-työprojekti                               6. Pöytäkirja

Jyväskylän Yliopisto

Tietotekniikan laitos

 

Paikka: Ag C223.1

 

Aika: 22.10.2001, klo 12.15-14.30

 

Läsnäolijat:

Kari Kärkkäinen, projektin vastaava ohjaaja

Anni Toivola, tekninen ohjaaja

Markku Vire, tekninen ohjaaja

Mikko Ketola, projektiryhmä

Kaisa Kokko, projektiryhmä, sihteeri

Lasse Laukkanen, projektiryhmä, puheenjohtaja

 

Käsitellyt asiat:

 

1. Yleistä luokkakaaviosta

 

Luokkakaavioon päätettiin lisätä cManager-luokka sekä pohdittiin, tulisiko lisätä myös cDrawArea-luokka. cManager-luokka tulee vastaamaan tietorakenteen ylläpidosta ja operaatioista sekä ohjelman osioiden välisestä kommunikoinnista. Se pitää yllä listoja olemassaolevista ja valituista blokeista, tahkoista, särmistä ja kontrollispisteistä sekä listaa yhteenliitetyistä blokeista. Tallennus tullaan myös hoitamaan tässä luokassa.

 

PÄÄTÖKSET: Luokkakaavioon päätettiin lisätä cManager-luokka.

 

2. Siirtäminen ja pyörittäminen

 

Siirtäminen ja pyörittäminen suoritetaan Selected-listassa oleville kohteille, jotka voivat olla blokkeja, tahkoja, särmiä tai kontrollipisteitä. Combined-lista, joka kertoo yhdistetyt blokit, täytyy myös käydä läpi, jotta toimenpide suoritettaisiin myös niille blokeille, jotka ovat yhdistettynä valittuun blokkiin.

 

3. Poistaminen

 

Piirtoalueelta voidaan poistaa vain blokkeja. Tämän voi suorittaa kahdella eri tavalla. Vaihtoehdossa A. ensin kaikki cGraphicalElement3d-luokan oliot merkitään poistettaviksi. Sen jälkeen ne blokit, joita ei ole valittu,  merkitään säilytettäviksi, jonka jälkeen käydään listat kolmannen kerran läpi ja poistetaan poistettaviksi merkityt. Tämä tapa tulisi olemaan yksinkertainen, mutta hidas. Tavassa B. olisi käytössä Parent ja Child-listat. Ne kohteet (blokki, taho, särmä tai kontrollipiste), joista on poistettu viittaus Parent-olioon, poistetaan ja ne säilytetään, joissa tämä viittaus vielä on. Näin estettäisiin sellaisten kohteiden poistaminen, jotka kuuluvat johonkin toiseen kohteeseen, esim. jos tahko kuuluu kahteen blokkiin.

 

PÄÄTÖKSET: Valittiin vaihtoehto A.

 

4. Virheilmoitukset

 

Keskustelimme siitä, tulisiko try-catch:iä käyttää virheilmoituksien käsittelyyn. Sitä käytettäessä virheilmoituksen jälkeen ei päästäisi ohjelmassa samaan kohtaan, kuin missä oltiin ennen virhettä. Toinen tapa olisi hoitaa virheilmoitukset samalla tavoin kuin oli Genesiksessä eli C++-osio lähettäisi käyttöliittymälle virheilmoituksen näyttämisviestin, jossa virheilmoitus olisi parametrina. Tällöin ohjelmassa voitaisiin palata samaan paikkaan, jonne ennen virhettä jäätiin.

 

 

5. Bezier-pinta

 

Kärkkäinen ilmoitti, että bezier-pinnan tulisi todennäköisesti toteuttamaan joku ulkopuolinen henkilö hajoitustyönä. Tällöin rajapinta pitäisi määritellä tarkasti.

 

 

EXODUS-työprojekti

Lasse Laukkanen, Kaisa Kokko, Petri Eskelinen, Mikko Ketola

Puh. 014-2604966