MeshLab: Development page

This page is devoted to some internal development notes. Given the linguistic coherency among developers they will be only in italian. Sorry.

CVS        

Al solito mi raccomando di seguire tutte le solite pratiche del bravo programmatore:

Web

Le paginette web di sourceforge sono tenute anche loro in cvs.
Quindi se fate modifiche fatele sul vostro file system, committatele e poi a mano fate update tramite ftp.
(in alternativa qualcuno che ha voglia potrebbe settare un task cron sulla shell di sf che aggiorni la copia in public_html direttamente via cvs update una volta al giorno). Il comando da dare su shell.sf.net una volta dentro la dir meshlab/htdocs e'

cvs -d :pserver:anonymous@cvs1:/cvsroot/meshlab update

Mailing List

C'e' una mailing list su sourceforge cui siete pregati di iscrivervi tutti:

http://lists.sourceforge.net/lists/listinfo/meshlab-devel

La lista la useremo per tutte le comunicazioni semi-urgenti (e.g. quelle che uno si aspetta vengano recepite entro un giorno) che riguardano soprattutto lo sviluppo di MeshLab. Ad esempio per essere sicuri che tutti sappiano cosa succede nel caso di cambi significativi di interfacce comuni...

Note di Compilazione

Si assume che 

  1. QT 4.0 sia installato
  2. il modulo cvs meshlab e quello di vcg siano allo stesso livello e che il modulo che contiene la vcg lib sia in una dir chiamata sf. (ad es. dovreste avere qualcosa tipo \doc\sf\vcg\space\point3.h e \doc\meshlab\src\meshlab\meshlab.pro )

La libreria VCG, pagina ufficiale vcg.sf.net, e' scaricabile in cvs anonimo

 :ext:anonymous@cvs.sourceforge.net:/cvsroot/vcg

Gli esempi di base della libreria li trovate sotto sf/apps/sample. Lasciate perdere la roba sotto test.

Guida di stile.

Task

I vari task che vi sono assegnati sono registrati come task dei rispettivi sottoprogetti che fanno parte di MeshLab 

Gruppo Filtering

Latronico, Venturi
  1. LOOP Implementare la tecnica di subdivision surface di Loop.
  2. DECIMATOR Implementare con algoritmo di cluster.
  3. REMOVER Implementare la rimozione i triangoli che hanno almeno un lato piu' lungo di una soglia
  4. APPLY TRASFORM Applicare le trasformazioni Scala, Rotazione, Traslazione 
  5. COLOR NON MANIFOLD Colorare i vertici che non sono 2-manifold

Gruppo Interface Framework

Mochi, Vacca, Portelli
  1. Release: Iniziate a prendere confidenza con il meccanismo di release di SF e fate la prima rel dei binari e dei src di MeshLab. Aggiungete una dir "docs" dove mettete i readme che accompagnano la release. Suggerisco di scegliere subito un naming preciso per le release (e per i file che compongono la release) copiate da altri progetti (ad es metro di vcg) e scrivete le vostre scelte da qualche parte. Procuratevi anche un ambiente linux e compilate anche anche per qualche distrib. Fate un solo package (chiamato MeshLab) e tre file al suo interno (binari win linux e src).
  2. Logging e toolbar, Adattate la classe LogStream.h alle nostre necessita', inizialmente fate solo che mostra il dump delle varie scritte (ad es. usate la classe callback nella lettura ply) e modificate la classe di interfaccia dei filtri in modo da fornire un modo per fare output. Aggiungete anche una toolbar di rendering option stile quella di Easy3dView (per ottenere i vari modi basta cambiare i  parametri della chiamata alla glw.draw() nella Render) ritagliate pure le icone da meshlab/images/easyIcons.png (o fatene di migliori se ne avete voglia) 

Gruppo Rendering 

Vannini, Gangemi, Pirro
  1. CURVATURE Implementare il calcolo delle curvature principali gaussiane e media per una mesh. Inizialmente fate una dir meshlab/src/test/curvature e fate esperimenti li' dentro prendendo spunto come stile dagli esempi che trovate sotto sf/apps/sample. Inizialmente partite aggiungendo ad un vostro tipo vertice un membro di tipo curvature con tutto quello che vi serve. Poi se tutto funge come si deve lo si aggiunge come componente.

Gruppo Selection and IO

Buzzelli, Mazzanti
  1. Obj file format input Aggiungere il supporto del formato obj, come documentazione del formato 3d partite da:
    http://www.csit.fsu.edu/~burkardt/data/obj/obj.html
    http://www.dcs.ed.ac.uk/home/mxr/gfx/3d/OBJ.spec
    Raccogliete anche un po di modelli 3d obj liberi che esemplifichino i vari tipi di attributi che possono comparire nei modelli.

   
SourceForge.net Logo