MCad, Tue Nov 30 13:19:37 CET 2004
Cosa c'è (della traccia iniziale)
- Tutte le shape richieste (linea, multilinea, cerchio, poligono, arco, ellissi)
- Layer. Possibilità di inserirne di nuovi, cancellarne, cambiarne l'ordine, cambiarne gli attributi (visible e locked)
- Viewer con possibilità di gestire più Drawing, traslare la vista, effettuare zoom, selezionare, modificare e inserire Shape.
Cosa non c'e' (della traccia iniziale)
- Esportazione/importazione DXF
Extra rispetto alla traccia iniziale
- Portabilità: mcad gira su linux/GTK, Solaris/Motif, Windows
- Clone: l'ambiente garbage-collected permette la possibilità di avere feature avanzate, come il tool Clona (clona una shape generandone un riferimento. La shape clonata è identica all'originale, e ogni modifica apportata su una delle due si rispecchia su una modifica dell'altra)
- Formato di salvataggio MCD (xml senza dtd tramite DOM via Xerces-C)
Feature previste ma non implementate
- Ogni shape è incapsulata in un modifierstack (attualmente vuoto), il cui scopo è di fornire, tramite l'editframe, la possibilità di concatenare più modificatori (rotazioni, cambiamenti di scala)
- Supporto moduli: la struttura base permette l'aggiunta di Shape (nuove geometrie) o Serializer (moduli per l'importazione/esportazione) in maniera dinamica
Known bugs:
- La rasterizzazione delle primitive di wxWindows dà risultati diversi su piattaforme diverse (vedere gli screenshot sopra). GTK interpreta arc come una pie, Motif non riempie i poligoni.
- La serializzazione provoca memory leak.
- Motif(?): crash in chiusura, forse tenta di liberare una xmp statica.
Build howto (unix/linux)
Entrate nella directory di mcad e fate il build usando GNU make. Se wxWindows o xerces-c sono installate in path non implicitamente incluse dal compilatore/linker, modificate CXXFLAGS e LDFLAGS alla fine di build.mk.
Compilazione su windows
MCad è stato compilato con successo su Visual Studio .net 2001. Impostare Visual Studio per utilizzare correttamente wxWindows e Xerces, aprire la soluzione msvc/mcad.sln e compilare il progetto.