2 =============================== Hypothese de refonte de l'API de SMDS
4 n'utiliser que vtkUnstructuredGrid, ne pas avor d'objets SMDS_MeshElement mais seulement des index de vtkUnstructuredGrid.
5 2987 usages de SMDS_MeshNodes
8 ==> en dernier ressort, lourd
9 ================================================================================
11 Essai a API SMDS a peu pres constante
12 =====================================
15 static vector<SMDS_Mesh*> _meshList; --> retrouver un SMDS_Mesh
16 vtkUnstructuredGrid* myGrid;
18 vector<SMDS_MeshNode *> myNodes; --> meme index que dans le pointSet de myGrid
19 vector<SMDS_MeshCell *> myCells; --> index = ID client, pas le meme index que dans le cellTypes de myGrid (ID vtk)
24 int myID; --> index dans la structure geree par SMDS_Mesh
25 int myMeshId; --> pour retrouver SMDS_Mesh* dans _meshList
26 int myShapeId; --> pour retrouver la subShape
29 SMDS_MeshNode: SMDS_MeshElement
30 SMDS_PositionPtr myPosition; --> A REVOIR : objet position dans la shape geom
31 ##vector<int> myInverseElements; --> SUPPRIME : pour retrouver les elements, vtkCellLinks
34 SMDS_MeshCell: SMDS_MeshElement --> generique pour tous les elements (cells)
35 int myVtkID --> A SUPPRIMER
37 SMDS_MeshVolume: SMDS_MeshCell
39 SMDS_VolumeOfNodes: SMDS_MeshVolume --> Garder temporairement, utilisation dans StdMesher et SMDS_VolumeTool
40 const SMDS_MeshNode **myNodes; --> Couteux
43 SMDS_VolumeVtkNodes: SMDS_MeshVolume --> Utiliser systematiquement dans SMDS,
47 SMDS_MeshElementIDFactory: SMDS_MeshNodeIDFactory
48 vector<int> myIDElements; // index = ID client, value = ID vtk --> A SUPPRIMER, ne sert que dans SMDS_MeshElementIDFactory
49 vector<int> myVtkIndex; // index = ID vtk, value = ID client --> A REPORTER dans SMDS_Mesh
54 ========= TODO ============
56 enlever vtkId de SMDS_MeshCell, utiliser SMDS_MeshElementIDFactory.
58 ajouter ID dans SMDS_Mesh::createTriangle
59 verifier ID dans SMDS_Mesh::Find*OrCreate
61 ===================================================
62 occupation memoire cube 100*100*100 sans affichage
64 Reference : V513 Debian Sarge 64 bits: --> 463 - 33 = 430 Mo
65 -------------------------------------
67 system bytes = 43757568
68 in use bytes = 32909584 = 33M
70 max mmap bytes = 16371712
73 system bytes = 464670720
74 in use bytes = 463105120 = 463M
76 max mmap bytes = 28188672
78 Debian Sarge 64 bits, vtkUnstructuredGrid nodes et hexa, 4 janvier 2010 --> 512 - 41 = 471M
79 -----------------------------------
82 system bytes = 52133888
83 in use bytes = 41340320 : 41M
85 max mmap bytes = 24625152
88 system bytes = 520560640
89 in use bytes = 518735584 : 512M
91 max mmap bytes = 198385664
93 idem avec pool SMDS_MeshNodes --> 483 -33 = 450M
94 -----------------------------
96 system bytes = 43696128
97 in use bytes = 32915184 : 33M
99 max mmap bytes = 16371712
102 system bytes = 484806656
103 in use bytes = 482980992 : 483M
104 max mmap regions = 58
105 max mmap bytes = 184557568
107 idem ci-dessus + pool SMDS_VolumeVtkNodes --> 475 -33 = 442M (git: add ObjectPool.hxx)
108 -----------------------------------------
111 system bytes = 43200512
112 in use bytes = 32908576 : 33M
113 max mmap regions = 41
114 max mmap bytes = 16371712
117 system bytes = 478068736
118 in use bytes = 475144400 : 475M
119 max mmap regions = 59
120 max mmap bytes = 184692736
122 remplacement SMDS_PositionPtr: (boost::shared_ptr<SMDS_Position> --> SMDS_Position*) --> 436 - 35 = 401M (git SMDS_Position)
123 ------------------------------------------------------------------------------------
125 system bytes = 45408256
126 in use bytes = 35097680 : 35M
127 max mmap regions = 47
128 max mmap bytes = 18116608
131 system bytes = 438935552
132 in use bytes = 436116560 : 436M
133 max mmap regions = 65
134 max mmap bytes = 186437632
136 simplification SMDS_SpacePosition (pas de double[3]) --> 418 -33 = 385M (git SMDS_SpacePosition)
137 ----------------------------------------------------
139 system bytes = 42582016
140 in use bytes = 32883552 : 33M
141 max mmap regions = 41
142 max mmap bytes = 16371712
145 system bytes = 421728256
146 in use bytes = 418378000 : 418M
147 max mmap regions = 58
148 max mmap bytes = 183640064