35 #ifndef __QGoDBMeshManager_h
36 #define __QGoDBMeshManager_h
44 #include "QGoGUILibConfigure.h"
64 void SetMeshesInfoContainerForVisu(
MeshContainer *iContainerForVisu);
71 void DisplayInfoAndLoadVisuContainerForAllMeshes(vtkMySQLDatabase *iDatabaseConnector);
73 void DisplayInfoAndLoadVisuContainerForAllMeshesForSpecificTPs(
74 vtkMySQLDatabase *iDatabaseConnector,
const std::list<unsigned int> & iListTPs);
76 void AddInfoInTWAndVisuContainerForMeshesForSpecificTPs(
77 vtkMySQLDatabase *iDatabaseConnector,
const std::list<unsigned int> & iListTPs);
79 void RemoveTracesFromTWAndContainerForVisuForSpecificTPs(
80 vtkMySQLDatabase *iDatabaseConnector,
81 const std::list<unsigned int> & iListTPs);
85 void DisplayInfoForLastCreatedMesh(vtkMySQLDatabase *iDatabaseConnector,
91 void DisplayInfoForExistingTraceForMesh(vtkMySQLDatabase *iDatabaseConnector,
104 unsigned int CreateNewMeshWithNoContourNoPoints(
105 vtkMySQLDatabase *iDatabaseConnector);
107 unsigned int SaveNewMeshFromVisu(
unsigned int iXCoordMin,
108 unsigned int iYCoordMin,
109 unsigned int iZCoordMin,
110 unsigned int iXCoordMax,
111 unsigned int iYCoordMax,
112 unsigned int iZCoordMax,
114 vtkPolyData *iTraceNodes,
115 vtkMySQLDatabase *iDatabaseConnector,
118 unsigned int SaveNewMeshFromVisu(
unsigned int iXCoordMin,
119 unsigned int iYCoordMin,
120 unsigned int iZCoordMin,
121 unsigned int iXCoordMax,
122 unsigned int iYCoordMax,
123 unsigned int iZCoordMax,
125 vtkPolyData *iTraceNodes,
126 vtkMySQLDatabase *iDatabaseConnector,
128 unsigned int iTrackID);
130 unsigned int SaveNewMeshWithNoTrackFromVisu(
unsigned int iXCoordMin,
131 unsigned int iYCoordMin,
132 unsigned int iZCoordMin,
133 unsigned int iXCoordMax,
134 unsigned int iYCoordMax,
135 unsigned int iZCoordMax,
137 vtkPolyData *iTraceNodes,
138 vtkMySQLDatabase *iDatabaseConnector,
141 void SaveGeneratedMeshFromVisu(
unsigned int iXCoordMin,
unsigned int iYCoordMin,
142 unsigned int iZCoordMin,
143 unsigned int iXCoordMax,
unsigned int iYCoordMax,
144 unsigned int iZCoordMax, vtkPolyData *iTraceNodes,
145 vtkMySQLDatabase *iDatabaseConnector,
157 const std::list< unsigned int > & iListTracesIDs);
161 const std::vector< int > & iVectorImportedTraces,
162 vtkMySQLDatabase *iDatabaseConnector);
174 void SetSelectedCellType(std::string* iCellType);
180 void SetSelectedSubCellType(std::string* iSubCellType);
191 vtkMySQLDatabase* iDatabaseConnector,
192 const std::list< unsigned int > & iListCollectionIDs);
196 vtkMySQLDatabase *iDatabaseConnector, std::string & ioIDToSelect);
201 std::list< std::pair<unsigned int, double> > GetListVolumes();
206 std::list< std::pair<unsigned int, double> > GetListVolumes(
207 const std::list<unsigned int> & iMeshIDs);
212 double GetVolume(
unsigned int iMeshID);
214 void CleanTWAndContainerForGivenTimePoint(vtkMySQLDatabase *iDatabaseConnector,
215 const std::list<unsigned int>& iTimePoints);
217 void ModifyTrackIDInVisuContainer(
unsigned int iTrackID,
218 const std::list< unsigned int > & iToTrack,
219 const std::list< unsigned int > & iToNull);
229 std::map<unsigned int,double*> GetMeshesInfoForImportedMesh(
230 std::list<unsigned int> iMeshesIDs);
242 unsigned int ReassignTrackIDForPreviousMeshWithSameTimePoint(
243 vtkMySQLDatabase *iDatabaseConnector,
unsigned int iTrackID,
244 unsigned int iTimePoint);
256 QString CheckExistingMeshesForTheTrack(
257 unsigned int iTrackID, vtkMySQLDatabase* iDatabaseConnector,
int iTCoord);
262 QString CheckExistingMeshesForTheTrack(
263 unsigned int iTrackID,vtkMySQLDatabase* iDatabaseConnector,
264 std::list<unsigned int> & ioListMeshIDs,
265 std::list< unsigned int > & ioNullListMeshIDs);
281 std::string CheckListMeshesFromDifferentTimePoints(
282 vtkMySQLDatabase *iDatabaseConnector,
283 std::list< unsigned int > iListMeshIDs,
284 std::list<unsigned int> & ioListMeshIDsToBePartOfTrack,
285 std::list<unsigned int> & ioListMeshIDsToReassign);
297 std::list<unsigned int> GetMeshesWithTimePointInfToTheCheckedOne(
298 unsigned int iTrackID, vtkMySQLDatabase* iDatabaseConnector,
299 std::list<unsigned int> iListMeshesBelongingToTrack);
310 void PrintValuesForMeshWithNoPoints(
unsigned int iTraceID);
319 const std::list<unsigned int> & iListTPs);
321 void AddInfoForMeshesInTWForSpecificTPs(vtkMySQLDatabase *iDatabaseConnector,
322 const std::list<unsigned int> & iListTPs);
324 void SetMeshBoundingBoxAndPoints(
unsigned int iXCoordMin,
325 unsigned int iYCoordMin,
326 unsigned int iZCoordMin,
327 unsigned int iXCoordMax,
328 unsigned int iYCoordMax,
329 unsigned int iZCoordMax,
330 vtkPolyData *iTraceNodes,
331 vtkMySQLDatabase *iDatabaseConnector,
337 vtkMySQLDatabase* iDatabaseConnector,
338 std::list<unsigned int> iVectIDs = std::list< unsigned int >());
347 std::pair<unsigned int, unsigned int> GetInfoForTheOnlyOneCheckedMeshOfTheTrack(
348 vtkMySQLDatabase* iDatabaseConnector,
unsigned int iTrackID);
363 void UpdateCellType();
368 void UpdateSubCellType();