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();
virtual void DisplayInfoForLastCreatedTrace(vtkMySQLDatabase *iDatabaseConnector)=0
Virtual pure method: get the data needed from the database for the last created trace and display the...
virtual void UpdateBoundingBoxes(vtkMySQLDatabase *iDatabaseConnector, const std::list< unsigned int > &iListTracesIDs, bool UpdateTW=true)
update in the database the bounding boxes corresponding to the TracesIDs and update the corresponding...
MeshContainer * m_MeshContainerInfoForVisu
Abstract class inherited by QGoDBContourManager,Mesh,Track,Lineage.
virtual void SetCollectionsTraceNames()=0
virtual pure method: set the std::string class members
virtual void UpdateHighlightedElementsInVisuContainer(int iTraceID)=0
modify to the opposite one the highlighted property of the corresponding trace base on traceID in the...
std::string * m_SelectedSubCellType
GoDBTWContainerForMesh * m_TWContainer
virtual std::list< NameWithColorData > GetAllTraceIDsWithColor(vtkMySQLDatabase *iDatabaseConnector, std::string &ioIDToSelect)
return the distinct traces with their color for the imagingsession, for all timepoints if the timepoi...
virtual void DisplayInfoForExistingTrace(vtkMySQLDatabase *iDatabaseConnector, int iTraceID)=0
Virtual pure method: get the data needed from the database for the existing trace with iTraceID and u...
virtual void UpdateTWAndContainerForImportedTraces(const std::vector< int > &iVectorImportedTraces, vtkMySQLDatabase *iDatabaseConnector)=0
get the data needed from the database for the imported traces,display them in new inserted rows of th...
std::string * m_SelectedCellType
virtual void SetColorCoding(bool IsChecked)=0
ColorCode the traces in the visualization base on a selected column in the table widget.
virtual void DisplayInfoForTracesForSpecificTPs(vtkMySQLDatabase *iDatabaseConnector, const std::list< unsigned int > &iListTPs)=0
void GetTracesInfoFromDBAndModifyContainerForVisu(vtkMySQLDatabase *iDatabaseConnector, std::vector< int > iVectIDs, C *iContainerForVisu)
Wraps a boost::multi_index_container of ContourMeshStructure. This class is specialized for the means...
virtual void DeleteCheckedTraces(vtkMySQLDatabase *iDatabaseConnector)=0
delete the checked traces from the database, the TW and the container for visu
virtual std::list< unsigned int > GetListHighlightedIDs()=0
virtual std::list< unsigned int > UpdateTheTracesColor(vtkMySQLDatabase *iDatabaseConnector)=0
virtual pure. update the color of the checked traces in the database, the visu container and the TW a...
this class manages the map with the keys matching the fields of the Mesh gofiguredatabase table and v...
This class manages the database queries, the table widget and the data from the database in the Conta...
virtual void UpdateVisibleElementsInVisuContainer(int iTraceID)=0
modify to the opposite one the Visible property of the corresponding trace base on traceID in the con...
virtual void DisplayInfoForAllTraces(vtkMySQLDatabase *iDatabaseConnector)=0
Virtual pure method: get the data needed from the database and display them in the m_Table for all tr...
virtual void AddActionsContextMenu(QMenu *iMenu)