← Back to team overview

a4-dev team mailing list archive

Re: merge per trasformazioni

 

Andrea Corbellini spiffera, alle Monday 31 May 2010 circa:
> Per lxml sono d'accordo con te: è effettivamente più comodo dei moduli
> nella libreria standard. Ma per quanto riguarda numpy: quali sono le
> feature che ci servono?

matrici e relative (veloci) operazioni.
Visto che in pratica la trafsormazione da applicare al sistema di 
riferimento è data dalla matrice, ci viene comodo parlare in questi 
termini.

> I metadati correntemente non vengono utilizzati. L'unica cosa che
> sappiamo su di essi è che sono contenuti in un oggetto JSON all'interno
> del file SVG. Ora c'è da decidere cosa mettere esattamente in quei
> metadati. Io farei una cosa del genere:
> 
>   {"path": ["frame-1", "frame-2", ...]}
> 
> Dove "path" identifica il percorso della presentazione e "frame-X" sono
> degli ID di oggetti contenuti nel file XML.

Ok, volevo capire se avevi pensato ad qualosa di piu' strutturato. Ma per 
cominciare parto con questo.

> > 3) ho aggiunto una keyword al costruttore di Presentation(), per
> > riuscire ad aprire anche SVG fatti alla bisogna senza stare a
> > scrivere i metadati della presentazione.
> 
> Con il tuo branch e quello di Gualano siamo molto vicini ad usare i
> metadati, quindi tra poco questa modifica potrebbe portare a dei
> problemi. 

Tipo? 

> > 4) funziona: :D
> > 
> > >>>filename='/home/gaspa/Projects/a4/a4-textbox/svg/A4testdrive.svg'
> > >>>pres = presentation.Presentation(filename,force_loading=True)
> > >>>pres.get_item_properties_by_id('rect2816-4')
> > 
> > REDUCE: [[0.76962955, -0.63849069000000003, 0.63849069000000003,
> > 0.76962955, 0.0, 0.0]]
> > Out[12]:
> > {'height': 91.428573999999998,
> > 
> >  'rotation': 0.69253557787351905,
> >  'transform': array([[ 0.76962955,  0.63849069,  0.        ],
> >  
> >        [-0.63849069,  0.76962955,  0.        ],
> >        [ 0.        ,  0.        ,  1.        ]]),
> >  
> >  'width': 172.85714999999999,
> >  'x': 44.288573999999997,
> >  'y': 362.78784000000002}
> 
> Bello, ma... esattamente quei numeri a cosa servono? Potresti creare un
> oggetto Transformation con dei comodi commenti/docstring al posto di
> usare un dizionario?

Certo, ma per cominciare partirei con questo. I dict() son comodi e veloci.
Se vediamo che serve qualcosa di piu' complicato si fa in fretta a 
sottoclassare dict, e finchè non serve è inutile scriverlo, IMHO.

Vorrei cercare di avere uno scheletro funzionante il prima possibile, tutto 
qua.

Comunque, appena ho un secondo (direi stasera/notte) sistemo il merge, poi 
cercherei di andare avanti.

ciaociao
-- 
-gaspa-
-----------------------------------------------
-------- https://launchpad.net/~gaspa ---------
----- HomePage: http://gaspa.yattaweb.it ------
-Il lunedi'dell'arrampicatore: www.lunedi.org -



References