source: Sophya/trunk/SophyaLib/Manual/afaire2003.txt@ 3815

Last change on this file since 3815 was 2452, checked in by ansari, 22 years ago

fichier liste de chose a faire pour SOPHYA V2.0 - Reza 30/10/03

File size: 5.7 KB
Line 
1:::::::::::: Plan de modifs pour SOPHYA V 2.0 PI/piapp V 4.0 ::::::::::::
2
3 ----------------------------
4 | Gestion du code (Mgr/ ) |
5 ----------------------------
6
7 o Chemins/variables d'environnement
8 - Remplacer DPCDEVREP DPCBASEREP par SOPHYADEVREP et SOPHYABASEREP
9 - Remplacer EROSCXX par SOPHYACXX (?)
10 o Simplifier/rationaliser les makefiles
11 - Mettre les flags de compils pour chaque compilo-systeme dans un fichier au lieu
12 d'avoir tout Makefile.h
13 Exemple fichier Mgr/linux_g++.flags
14 CPPFLAGS = ...
15 CXXFLAGS = ...
16 LIBS = ...
17
18o Mettre un script pour chercher les lib externes (c-fitsio, FFTW, ...) et creer
19 eventuellement l'arborescence ExtLibs
20
21o Inclure la definition des flags influant sur le code (comme -DOSF1/Linux/Darwin/IRIX64
22 SO_BOUNDCHECKING a la fin du fichier machdefs.h que l'on fabriquera a partir de du machdef_mkmf.h )
23 PB-> ce fichier deviendra alors dependant du systeme et de l'installation !
24 Faut-il deplacer alors Include/ sous uname-$EROSCXX (Linux-g++)
25 ou carrement considerer que la separation pour differents systemes doit se faire au
26 niveau de SOPHYADEV/BASE/REP ?
27
28o Abandonner (?) les regles de compilation par defaut
29 Inclure dans les Makefile la ligne de commande :
30 $(OBJ)toto.o : toto.cc toto.h titi.h ...
31 $(COMPILECXX) -$(CPPFLAGS) $(CXXFLAGS) -c -o $(OBJ)toto.o toto.cc
32
33o Garder les Makefile simple (eviter trop de tests et syntaxe complique)
34
35
36 -----------------------------------
37 | Code/Librairie SOPHYA (V2.0) |
38 -----------------------------------
39
40o Fichiers PPersist (BaseTools) :
41 - Ajouter la possibilite d'ecrire des complex(r_4> complex<r_8>
42 (actuellement c'est ecrit sous forme de 2*r_4 ou 2*r_8)
43 - Ajouter des tag de positionnement qui pourrait servir au cas
44 ou on utiliserait le fichier PPF comme fichier de swap
45 Ces tags ne peuvent pas etre les memes que les name-tag
46 existant actuellement.
47 Une utilisation annexe de ces tags peut etre alors un moyen
48 de verifier que le fichier n'est pas corrompu
49 Ce tag se presente alors sous forme de
50 <tag (1 byte)><FilePosition (8 byte, long int)>
51 On peut alors parcourir le fichier et verifier la coherence de
52 ces tags.
53 - Il faut aussi ajouter au niveau de POutPersist et PInPersist
54 les services pour ecrire et lire une collection de tag de
55 positionnement, afin qu'un objet puisse utiliser une liste de
56 tag pour se positionner
57
58o BaseTools/ Voir autres remarques ds fichier Manual/sophya_afaire.txt
59 concernant en particulier les NDataBlock<T> DataBlock<T> ...
60
61o Les tableaux : TArray/
62 - Ajouter une classe de base abstraite GenericMatrix<T>
63 avec methode d'acces aux elements, nb de lignes, nb de colonnes,
64 ...
65 - Introduire les TinyMatrix (TinyMatrix<T, int L, int C>)
66 avec passage de/vers TMatrix<T> (et TinyVector<T, int N>) ?
67
68 - Introduire des matrices creuses simples SpareMatrix<T>
69
70 - Introduire les DiagonalMatrix<T>
71
72 Remarque: Les TMatrix TinyMatrix et SparseMatrix heritent de GenericMatrix
73
74o HiStats
75 - Faire une classe SuperNTuple (!), facile a utiliser, sachant swaper sur les
76 PPF, avec des champs de differents type
77
78o IFFTW/
79 - Passage a FFTW 3.x ?
80
81o Voir autres remarques pour l'ensemble des modules ds Manual/sophya_afaire.txt
82
83
84 ---------------------------------
85 | Code/Librairie PI (->V 4.0) |
86 ---------------------------------
87
88o Menu contextuel pour les Drawers
89 - Ajouter a PIImage, PIScrDrawWdg(2D), PIDraw3DWdg(3D) un menu obtenu
90 sur <Shift><Bouton-1> par exemple, avec la liste de tous les Drawers
91 permettant d'afficher la fenetre des options graphiques, ou le fenetre
92 des options ou la fenetre des options texte, activer deplacement/resize
93 des drawers, suppression (delete) ou detach des drawers, et en fonction
94 du widgets, la fenetre des axes ou de controle d'image
95
96o Mettre l'option auto-scale (rapport entre axes X,Y,Z) pour les Drawers3D
97 verifer/debugger la definition de la boite 3D au niveau des Drawers3D
98
99o Traceur d'histos, NTuples, ...
100 Remplacer le trace des lignes par morceau fait par appel multiples
101 a DrawLine a un seul appel a DrawPolygon (si les lignes sont connectes
102 bien sur) --> Ca ameliore sensiblement l'aspect pour le trace en pointille
103
104o Ajouter un traceur de Bar-chart 2D OU ApplePie (facile !)
105 On donne une serie de nombres, serie de couleur, + serie de strings
106 et on trace alors une sorte d'histo, avec des barres (rectangles) espaces
107 Ou bien on trace un cercle divise en zones
108
109o Ajouter un traceur de Lego-Plot
110
111o PIImageWindow (Une fenetre avec une PIImage, un Zoom et une vue globale)
112 Assemblage
113
114o (?) Une fonction pour faire facilement une fenetre d'alerte ou d'info (?)
115
116 ---------------------------------
117 | piapp |
118 ---------------------------------
119
120o Verifier l'interpreteur et introduire le type de variable vecteur
121 qui peut etre detecte par exemple lors de l'initialisation par set
122 set a 'Bonjour CMV' # -> variable scalaire
123 set va [ 12 14 hello ... ] # variable de type vecteur $va[]
124
125o Voir comment on pourrait "joindre" deux objets ayant l'interface NTupleInterface
126 pour pouvoir plotter des objets, l'un vs l'autre
127
128o Separer la classe PIACmd en une classe de base (CShellLikeInterpreter)
129 (a mettre ds SysTools) et la classe PIACmd a laisser ds PIext
130
131o (???) Introduire quelque chose du style
132 AddDialogue("Cmd", "dialogue-description)
133 qui pourrait fabriquer automatiquement une fenetre avec des champs a remplir
134 pour les commandes usuelles (???)
135
136o Voir les autres commentaires ds Manual/spiapp_afaire.txt
137
138
139
Note: See TracBrowser for help on using the repository browser.