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