diff --git a/Common/ListUtils.cpp b/Common/ListUtils.cpp index 922e13aebd5a2f0b73d089af8a1f8106a8eb6355..2cbb0eb33ed1871420b5a99879028aa44774904a 100644 --- a/Common/ListUtils.cpp +++ b/Common/ListUtils.cpp @@ -306,231 +306,6 @@ void List_Insert_In_List(List_T *a, int i, List_T *b) memcpy(List_Pointer_Fast(b, i + j), List_Pointer_Fast(a, j), b->size); } -void swap_bytes(char *array, int size, int n) -{ - int i, c; - char *x, *a; - - x = (char *)Malloc(size); - - for(i = 0; i < n; i++) { - a = &array[i * size]; - memcpy(x, a, size); - for(c = 0; c < size; c++) - a[size - 1 - c] = x[c]; - } - - Free(x); -} - -List_T *List_CreateFromFile(int n, int incr, int size, FILE * file, int format, - int swap) -{ - int i, error = 0; - List_T *liste; - - if(!n){ - liste = List_Create(1, incr, size); - return liste; - } - - liste = List_Create(n, incr, size); - liste->n = n; - switch (format) { - case LIST_FORMAT_ASCII: - if(size == sizeof(double)){ - for(i = 0; i < n; i++){ - if(!fscanf(file, "%lf", (double *)&liste->array[i * size])){ - error = 1; - break; - } - } - } - else if(size == sizeof(float)){ - for(i = 0; i < n; i++){ - if(!fscanf(file, "%f", (float *)&liste->array[i * size])){ - error = 1; - break; - } - } - } - else if(size == sizeof(int)){ - for(i = 0; i < n; i++){ - if(!fscanf(file, "%d", (int *)&liste->array[i * size])){ - error = 1; - break; - } - } - } - else if(size == sizeof(char)){ - for(i = 0; i < n; i++){ - char c = (char)fgetc(file); - if(c == EOF){ - error = 1; - break; - } - else{ - liste->array[i * size] = c; - } - } - } - else{ - Msg::Error("Bad type of data to create list from (size = %d)", size); - error = 1; - } - break; - case LIST_FORMAT_BINARY: - if(!fread(liste->array, size, n, file)){ - error = 1; - break; - } - if(swap) - swap_bytes(liste->array, size, n); - break; - default: - Msg::Error("Unknown list format"); - error = 1; - break; - } - - if(error){ - Msg::Error("Read error"); - liste->n = 0; - } - - return liste; -} - -static int safe_fwrite(const void *ptr, size_t size, size_t nmemb, FILE * stream) -{ - size_t result = fwrite(ptr, size, nmemb, stream); - - if(result < nmemb) { - if(result >= 0) /* Partial write */ - Msg::Error("Disk full"); - else - Msg::Error(strerror(errno)); - if(fflush(stream) < 0) - Msg::Error("EOF reached"); - if(fclose(stream) < 0) - Msg::Error(strerror(errno)); - return 1; - } - return 0; -} - -void List_WriteToFile(List_T * liste, FILE * file, int format) -{ - int i, n; - - if(!(n = List_Nbr(liste))) - return; - - switch (format) { - case LIST_FORMAT_ASCII: - if(liste->size == sizeof(double)) - for(i = 0; i < n; i++) - fprintf(file, " %.16g", *((double *)&liste->array[i * liste->size])); - else if(liste->size == sizeof(float)) - for(i = 0; i < n; i++) - fprintf(file, " %.16g", *((float *)&liste->array[i * liste->size])); - else if(liste->size == sizeof(int)) - for(i = 0; i < n; i++) - fprintf(file, " %d", *((int *)&liste->array[i * liste->size])); - else if(liste->size == sizeof(char)) - for(i = 0; i < n; i++) - fputc(*((char *)&liste->array[i * liste->size]), file); - else - Msg::Error("Bad type of data to write list to file (size = %d)", - liste->size); - break; - case LIST_FORMAT_BINARY: - safe_fwrite(liste->array, liste->size, n, file); - break; - default: - Msg::Error("Unknown list format"); - break; - } -} - -// For backward compatibility - -List_T *List_CreateFromFileOld(int n, int incr, int size, FILE * file, int format, - int swap) -{ - int i, error = 0; - List_T *liste; - - if(!n){ - liste = List_Create(1, incr, size); - return liste; - } - - liste = List_Create(n, incr, size); - liste->n = n; - switch (format) { - case LIST_FORMAT_ASCII: - if(size == sizeof(double)){ - for(i = 0; i < n; i++){ - if(!fscanf(file, "%lf", (double *)&liste->array[i * size])){ - error = 1; - break; - } - } - } - else if(size == sizeof(float)){ - for(i = 0; i < n; i++){ - if(!fscanf(file, "%f", (float *)&liste->array[i * size])){ - error = 1; - break; - } - } - } - else if(size == sizeof(int)){ - for(i = 0; i < n; i++){ - if(!fscanf(file, "%d", (int *)&liste->array[i * size])){ - error = 1; - break; - } - } - } - else if(size == sizeof(char)){ - for(i = 0; i < n; i++){ - if(!fscanf(file, "%c", (char *)&liste->array[i * size])){ - error = 1; - break; - } - if(liste->array[i * size] == '^') - liste->array[i * size] = '\0'; - } - } - else { - Msg::Error("Bad type of data to create list from (size = %d)", size); - error = 1; - } - return liste; - case LIST_FORMAT_BINARY: - if(!fread(liste->array, size, n, file)){ - error = 1; - break; - } - if(swap) - swap_bytes(liste->array, size, n); - return liste; - default: - Msg::Error("Unknown list format"); - error = 1; - break; - } - - if(error){ - Msg::Error("Read error"); - liste->n = 0; - } - - return liste; -} - // Comparison functions int fcmp_int(const void *a, const void *b) diff --git a/Common/ListUtils.h b/Common/ListUtils.h index ebf2d4220b313e4a5c3550c68e55738785e74ac2..4e659d8df1db8e4b1e2b6780157ecf44fa8af9c2 100644 --- a/Common/ListUtils.h +++ b/Common/ListUtils.h @@ -46,15 +46,9 @@ void List_Reset(List_T *liste); void List_Action(List_T *liste, void (*action)(void *data, void *dummy)); void List_Copy(List_T *a , List_T *b); void List_Merge(List_T *a , List_T *b); -List_T *List_CreateFromFile(int n, int incr, int size, FILE *file, int format, int swap); -void List_WriteToFile(List_T *liste, FILE *file, int format); void List_Remove (List_T *a, int i); -//insert a in b before i void List_Insert_In_List (List_T *a, int i, List_T *b); -// for backward compatibility -List_T *List_CreateFromFileOld(int n, int incr, int size, FILE *file, int format, int swap); - int fcmp_int(const void *a, const void *b); int fcmp_absint(const void *a, const void *b); int fcmp_double(const void *a, const void *b); diff --git a/Common/Makefile b/Common/Makefile index 36e3c13d2805fe91be1f33c3d1b3813a87fa27bb..c3ae321d7346e01c9bb789602d1fdc158715e67b 100644 --- a/Common/Makefile +++ b/Common/Makefile @@ -60,18 +60,20 @@ depend: Gmsh${OBJEXT}: Gmsh.cpp GmshConfig.h GmshDefines.h ../Numeric/GmshPredicates.h \ ../Geo/GModel.h ../Geo/GVertex.h ../Geo/GEntity.h ../Geo/Range.h \ ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h \ - ../Geo/GPoint.h ../Geo/SPoint2.h ../Geo/GEdge.h ../Geo/GEntity.h \ - ../Geo/GVertex.h ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint3.h \ - ../Geo/SPoint2.h ../Geo/GFace.h ../Geo/GEntity.h ../Geo/GPoint.h \ - ../Geo/GEdgeLoop.h ../Geo/GEdge.h ../Geo/SPoint2.h ../Geo/SVector3.h \ - ../Geo/Pair.h ../Geo/GRegion.h ../Geo/GEntity.h ../Geo/SPoint3.h \ - ../Geo/SBoundingBox3d.h GmshMessage.h OpenFile.h CreateFile.h Options.h \ - ../Post/ColorTable.h CommandLine.h OS.h ../Mesh/Generator.h \ - ../Mesh/Field.h ../Common/GmshConfig.h ../Geo/STensor3.h \ - ../Geo/SVector3.h ../Numeric/GmshMatrix.h ../Common/GmshMessage.h \ - ../Numeric/Numeric.h ../Numeric/GmshMatrix.h ../Post/PView.h Context.h \ - ../Geo/CGNSOptions.h ../Mesh/meshPartitionOptions.h \ - ../Mesh/meshPartition.h GmshDaemon.h ../Plugin/PluginManager.h + ../Geo/SOrientedBoundingBox.h ../Geo/SVector3.h ../Geo/SPoint3.h \ + ../Geo/SPoint2.h ../Geo/Pair.h ../Geo/GPoint.h ../Geo/SPoint2.h \ + ../Geo/GEdge.h ../Geo/GEntity.h ../Geo/GVertex.h ../Geo/SVector3.h \ + ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/GFace.h ../Geo/GEntity.h \ + ../Geo/GPoint.h ../Geo/GEdgeLoop.h ../Geo/GEdge.h ../Geo/SPoint2.h \ + ../Geo/SVector3.h ../Geo/Pair.h ../Geo/GRegion.h ../Geo/GEntity.h \ + ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h GmshMessage.h OpenFile.h \ + CreateFile.h Options.h ../Post/ColorTable.h CommandLine.h OS.h \ + ../Mesh/Generator.h ../Mesh/Field.h ../Common/GmshConfig.h \ + ../Geo/STensor3.h ../Geo/SVector3.h ../Numeric/GmshMatrix.h \ + ../Common/GmshMessage.h ../Numeric/Numeric.h ../Numeric/GmshMatrix.h \ + ../Post/PView.h Context.h ../Geo/CGNSOptions.h \ + ../Mesh/meshPartitionOptions.h ../Mesh/meshPartition.h GmshDaemon.h \ + ../Plugin/PluginManager.h GmshMessage${OBJEXT}: GmshMessage.cpp GmshConfig.h GmshMessage.h Gmsh.h \ Options.h ../Post/ColorTable.h Context.h ../Geo/CGNSOptions.h \ ../Mesh/meshPartitionOptions.h OS.h ../Fltk/GUI.h \ @@ -81,9 +83,10 @@ Context${OBJEXT}: Context.cpp GmshConfig.h Context.h ../Geo/CGNSOptions.h \ ../Mesh/meshPartitionOptions.h Options${OBJEXT}: Options.cpp GmshConfig.h GmshDefines.h ../Geo/GModel.h \ ../Geo/GVertex.h ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \ - ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/GPoint.h \ - ../Geo/SPoint2.h ../Geo/GEdge.h ../Geo/GEntity.h ../Geo/GVertex.h \ - ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint3.h ../Geo/SPoint2.h \ + ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/SOrientedBoundingBox.h \ + ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/Pair.h \ + ../Geo/GPoint.h ../Geo/SPoint2.h ../Geo/GEdge.h ../Geo/GEntity.h \ + ../Geo/GVertex.h ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint2.h \ ../Geo/GFace.h ../Geo/GEntity.h ../Geo/GPoint.h ../Geo/GEdgeLoop.h \ ../Geo/GEdge.h ../Geo/SPoint2.h ../Geo/SVector3.h ../Geo/Pair.h \ ../Geo/GRegion.h ../Geo/GEntity.h ../Geo/SPoint3.h \ @@ -96,9 +99,9 @@ Options${OBJEXT}: Options.cpp GmshConfig.h GmshDefines.h ../Geo/GModel.h \ ../Post/PView.h ../Mesh/BackgroundMesh.h ../Post/PViewOptions.h \ ../Post/ColorTable.h ../Post/PViewData.h ../Post/adaptiveData.h \ ../Plugin/PluginManager.h ../Plugin/Plugin.h ../Common/Options.h \ - ../Post/PViewDataList.h ../Post/PViewData.h ../Common/ListUtils.h \ - ../Fltk/GUI.h ../Fltk/Solvers.h ../Fltk/menuWindow.h \ - ../Fltk/popupButton.h ../Fltk/graphicWindow.h ../Fltk/openglWindow.h \ + ../Post/PViewDataList.h ../Post/PViewData.h ../Fltk/GUI.h \ + ../Fltk/Solvers.h ../Fltk/menuWindow.h ../Fltk/popupButton.h \ + ../Fltk/graphicWindow.h ../Fltk/openglWindow.h \ ../Graphics/drawContext.h ../Fltk/optionWindow.h \ ../Fltk/spherePositionWidget.h ../Fltk/colorbarWindow.h \ ../Fltk/solverWindow.h ../Fltk/manipWindow.h ../Fltk/messageWindow.h \ @@ -108,12 +111,14 @@ CommandLine${OBJEXT}: CommandLine.cpp GmshConfig.h GmshDefines.h GmshVersion.h \ ../Mesh/meshPartitionOptions.h Options.h ../Post/ColorTable.h \ ../Geo/GModel.h ../Geo/GVertex.h ../Geo/GEntity.h ../Geo/Range.h \ ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h \ - ../Geo/GPoint.h ../Geo/SPoint2.h ../Geo/GEdge.h ../Geo/GEntity.h \ - ../Geo/GVertex.h ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint3.h \ - ../Geo/SPoint2.h ../Geo/GFace.h ../Geo/GEntity.h ../Geo/GPoint.h \ - ../Geo/GEdgeLoop.h ../Geo/GEdge.h ../Geo/SPoint2.h ../Geo/SVector3.h \ - ../Geo/Pair.h ../Geo/GRegion.h ../Geo/GEntity.h ../Geo/SPoint3.h \ - ../Geo/SBoundingBox3d.h CreateFile.h OS.h ../Post/PView.h + ../Geo/SOrientedBoundingBox.h ../Geo/SVector3.h ../Geo/SPoint3.h \ + ../Geo/SPoint2.h ../Geo/Pair.h ../Geo/GPoint.h ../Geo/SPoint2.h \ + ../Geo/GEdge.h ../Geo/GEntity.h ../Geo/GVertex.h ../Geo/SVector3.h \ + ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/GFace.h ../Geo/GEntity.h \ + ../Geo/GPoint.h ../Geo/GEdgeLoop.h ../Geo/GEdge.h ../Geo/SPoint2.h \ + ../Geo/SVector3.h ../Geo/Pair.h ../Geo/GRegion.h ../Geo/GEntity.h \ + ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h CreateFile.h OS.h \ + ../Post/PView.h OS${OBJEXT}: OS.cpp GmshMessage.h OpenFile${OBJEXT}: OpenFile.cpp GmshConfig.h GmshMessage.h ../Geo/Geo.h \ ../Common/GmshDefines.h ../Geo/gmshSurface.h ../Geo/Pair.h \ @@ -124,23 +129,27 @@ OpenFile${OBJEXT}: OpenFile.cpp GmshConfig.h GmshMessage.h ../Geo/Geo.h \ ../Common/avl.h ../Common/ListUtils.h ../Geo/SPoint2.h \ ../Geo/ExtrudeParams.h ../Common/SmoothData.h ../Geo/GModel.h \ ../Geo/GVertex.h ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \ - ../Geo/SBoundingBox3d.h ../Geo/GPoint.h ../Geo/SPoint2.h ../Geo/GEdge.h \ - ../Geo/GEntity.h ../Geo/GVertex.h ../Geo/SVector3.h ../Geo/SPoint3.h \ - ../Geo/SPoint2.h ../Geo/GFace.h ../Geo/GEntity.h ../Geo/GPoint.h \ - ../Geo/GEdgeLoop.h ../Geo/GEdge.h ../Geo/SPoint2.h ../Geo/SVector3.h \ - ../Geo/Pair.h ../Geo/GRegion.h ../Geo/GEntity.h ../Geo/SPoint3.h \ - ../Geo/SBoundingBox3d.h ../Mesh/HighOrder.h ../Geo/MFace.h \ - ../Geo/MVertex.h ../Geo/SPoint2.h ../Geo/SPoint3.h ../Geo/MEdge.h \ - ../Geo/MVertex.h ../Geo/SVector3.h ../Geo/SVector3.h Context.h \ - ../Geo/CGNSOptions.h ../Mesh/meshPartitionOptions.h OpenFile.h \ - CommandLine.h ../Graphics/ReadImg.h OS.h StringUtils.h \ + ../Geo/SBoundingBox3d.h ../Geo/SOrientedBoundingBox.h ../Geo/SVector3.h \ + ../Geo/SPoint2.h ../Geo/Pair.h ../Geo/GPoint.h ../Geo/SPoint2.h \ + ../Geo/GEdge.h ../Geo/GEntity.h ../Geo/GVertex.h ../Geo/SVector3.h \ + ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/GFace.h ../Geo/GEntity.h \ + ../Geo/GPoint.h ../Geo/GEdgeLoop.h ../Geo/GEdge.h ../Geo/SPoint2.h \ + ../Geo/SVector3.h ../Geo/Pair.h ../Geo/GRegion.h ../Geo/GEntity.h \ + ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h ../Mesh/HighOrder.h \ + ../Geo/MFace.h ../Geo/MVertex.h ../Geo/SPoint2.h ../Geo/SPoint3.h \ + ../Geo/MEdge.h ../Geo/MVertex.h ../Geo/SVector3.h ../Geo/SVector3.h \ + Context.h ../Geo/CGNSOptions.h ../Mesh/meshPartitionOptions.h \ + OpenFile.h CommandLine.h ../Graphics/ReadImg.h OS.h StringUtils.h \ + ../Geo/GeomMeshMatcher.h ../Geo/GModel.h ../Geo/GVertex.h \ + ../Geo/GEdge.h ../Geo/GFace.h ../Geo/GRegion.h ../Geo/Pair.h \ ../Parser/Parser.h ../Post/PView.h ../Post/PViewData.h ../Fltk/GUI.h \ ../Fltk/Draw.h CreateFile${OBJEXT}: CreateFile.cpp GmshConfig.h GmshMessage.h ../Geo/GModel.h \ ../Geo/GVertex.h ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \ - ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/GPoint.h \ - ../Geo/SPoint2.h ../Geo/GEdge.h ../Geo/GEntity.h ../Geo/GVertex.h \ - ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint3.h ../Geo/SPoint2.h \ + ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/SOrientedBoundingBox.h \ + ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/Pair.h \ + ../Geo/GPoint.h ../Geo/SPoint2.h ../Geo/GEdge.h ../Geo/GEntity.h \ + ../Geo/GVertex.h ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint2.h \ ../Geo/GFace.h ../Geo/GEntity.h ../Geo/GPoint.h ../Geo/GEdgeLoop.h \ ../Geo/GEdge.h ../Geo/SPoint2.h ../Geo/SVector3.h ../Geo/Pair.h \ ../Geo/GRegion.h ../Geo/GEntity.h ../Geo/SPoint3.h \ diff --git a/Fltk/Makefile b/Fltk/Makefile index e4d3f6eb1c5de18c6fe03fd8b1a887a328681b16..98d64602984c02875e79df29cb5e5ba499440144 100644 --- a/Fltk/Makefile +++ b/Fltk/Makefile @@ -75,9 +75,10 @@ Main${OBJEXT}: Main.cpp GUI.h menuWindow.h popupButton.h ../Common/Gmsh.h \ ../Parser/Parser.h ../Common/OpenFile.h ../Common/CommandLine.h \ Solvers.h ../Plugin/PluginManager.h ../Geo/GModel.h ../Geo/GVertex.h \ ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \ - ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/GPoint.h \ - ../Geo/SPoint2.h ../Geo/GEdge.h ../Geo/GEntity.h ../Geo/GVertex.h \ - ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint3.h ../Geo/SPoint2.h \ + ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/SOrientedBoundingBox.h \ + ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/Pair.h \ + ../Geo/GPoint.h ../Geo/SPoint2.h ../Geo/GEdge.h ../Geo/GEntity.h \ + ../Geo/GVertex.h ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint2.h \ ../Geo/GFace.h ../Geo/GEntity.h ../Geo/GPoint.h ../Geo/GEdgeLoop.h \ ../Geo/GEdge.h ../Geo/SPoint2.h ../Geo/SVector3.h ../Geo/Pair.h \ ../Geo/GRegion.h ../Geo/GEntity.h ../Geo/SPoint3.h \ @@ -94,20 +95,21 @@ GUI${OBJEXT}: GUI.cpp GUI.h graphicWindow.h openglWindow.h \ solverWindow.h aboutWindow.h fileDialogs.h Draw.h \ ../Common/GmshDefines.h ../Common/GmshMessage.h ../Geo/GModel.h \ ../Geo/GVertex.h ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \ - ../Geo/SBoundingBox3d.h ../Geo/GPoint.h ../Geo/SPoint2.h ../Geo/GEdge.h \ - ../Geo/GEntity.h ../Geo/GVertex.h ../Geo/SVector3.h ../Geo/SPoint3.h \ - ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/GFace.h ../Geo/GEntity.h \ - ../Geo/GPoint.h ../Geo/GEdgeLoop.h ../Geo/GEdge.h ../Geo/SPoint2.h \ - ../Geo/SVector3.h ../Geo/Pair.h ../Geo/GRegion.h ../Geo/GEntity.h \ - ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h ../Geo/MElement.h \ - ../Geo/MVertex.h ../Geo/SPoint2.h ../Geo/SPoint3.h ../Geo/MEdge.h \ - ../Geo/MVertex.h ../Geo/SVector3.h ../Geo/MFace.h ../Geo/MVertex.h \ - ../Geo/MEdge.h ../Geo/SVector3.h ../Numeric/FunctionSpace.h \ - ../Numeric/GmshMatrix.h ../Numeric/Gauss.h ../Post/PView.h Solvers.h \ - ../Mesh/Field.h ../Geo/STensor3.h ../Geo/SVector3.h \ - ../Numeric/Numeric.h ../Numeric/GmshMatrix.h ../Plugin/Plugin.h \ - ../Common/Options.h ../Post/PViewDataList.h ../Post/PViewData.h \ - ../Common/ListUtils.h ../Plugin/PluginManager.h ../Common/OpenFile.h \ + ../Geo/SBoundingBox3d.h ../Geo/SOrientedBoundingBox.h ../Geo/SVector3.h \ + ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/Pair.h ../Geo/GPoint.h \ + ../Geo/SPoint2.h ../Geo/GEdge.h ../Geo/GEntity.h ../Geo/GVertex.h \ + ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/GFace.h \ + ../Geo/GEntity.h ../Geo/GPoint.h ../Geo/GEdgeLoop.h ../Geo/GEdge.h \ + ../Geo/SPoint2.h ../Geo/SVector3.h ../Geo/Pair.h ../Geo/GRegion.h \ + ../Geo/GEntity.h ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h \ + ../Geo/MElement.h ../Geo/MVertex.h ../Geo/SPoint2.h ../Geo/SPoint3.h \ + ../Geo/MEdge.h ../Geo/MVertex.h ../Geo/SVector3.h ../Geo/MFace.h \ + ../Geo/MVertex.h ../Geo/MEdge.h ../Geo/SVector3.h \ + ../Numeric/FunctionSpace.h ../Numeric/GmshMatrix.h ../Numeric/Gauss.h \ + ../Post/PView.h Solvers.h ../Mesh/Field.h ../Geo/STensor3.h \ + ../Geo/SVector3.h ../Numeric/Numeric.h ../Numeric/GmshMatrix.h \ + ../Plugin/Plugin.h ../Common/Options.h ../Post/PViewDataList.h \ + ../Post/PViewData.h ../Plugin/PluginManager.h ../Common/OpenFile.h \ Win32Icon.h ../Common/Context.h ../Geo/CGNSOptions.h \ ../Mesh/meshPartitionOptions.h graphicWindow${OBJEXT}: graphicWindow.cpp GUI.h graphicWindow.h openglWindow.h \ @@ -122,18 +124,20 @@ openglWindow${OBJEXT}: openglWindow.cpp openglWindow.h ../Graphics/drawContext.h contextWindow.h visibilityWindow.h ../Common/GmshConfig.h \ ../Common/GmshDefines.h ../Common/GmshMessage.h ../Geo/GModel.h \ ../Geo/GVertex.h ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \ - ../Geo/SBoundingBox3d.h ../Geo/GPoint.h ../Geo/SPoint2.h ../Geo/GEdge.h \ - ../Geo/GEntity.h ../Geo/GVertex.h ../Geo/SVector3.h ../Geo/SPoint3.h \ - ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/GFace.h ../Geo/GEntity.h \ - ../Geo/GPoint.h ../Geo/GEdgeLoop.h ../Geo/GEdge.h ../Geo/SPoint2.h \ - ../Geo/SVector3.h ../Geo/Pair.h ../Geo/GRegion.h ../Geo/GEntity.h \ - ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h ../Geo/MElement.h \ - ../Geo/MVertex.h ../Geo/SPoint2.h ../Geo/SPoint3.h ../Geo/MEdge.h \ - ../Geo/MVertex.h ../Geo/SVector3.h ../Geo/MFace.h ../Geo/MVertex.h \ - ../Geo/MEdge.h ../Geo/SVector3.h ../Numeric/FunctionSpace.h \ - ../Numeric/GmshMatrix.h ../Numeric/Gauss.h Draw.h ../Numeric/Numeric.h \ - ../Numeric/GmshMatrix.h GUI.h ../Common/VertexArray.h \ - ../Common/Context.h ../Geo/CGNSOptions.h ../Mesh/meshPartitionOptions.h + ../Geo/SBoundingBox3d.h ../Geo/SOrientedBoundingBox.h ../Geo/SVector3.h \ + ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/Pair.h ../Geo/GPoint.h \ + ../Geo/SPoint2.h ../Geo/GEdge.h ../Geo/GEntity.h ../Geo/GVertex.h \ + ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/GFace.h \ + ../Geo/GEntity.h ../Geo/GPoint.h ../Geo/GEdgeLoop.h ../Geo/GEdge.h \ + ../Geo/SPoint2.h ../Geo/SVector3.h ../Geo/Pair.h ../Geo/GRegion.h \ + ../Geo/GEntity.h ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h \ + ../Geo/MElement.h ../Geo/MVertex.h ../Geo/SPoint2.h ../Geo/SPoint3.h \ + ../Geo/MEdge.h ../Geo/MVertex.h ../Geo/SVector3.h ../Geo/MFace.h \ + ../Geo/MVertex.h ../Geo/MEdge.h ../Geo/SVector3.h \ + ../Numeric/FunctionSpace.h ../Numeric/GmshMatrix.h ../Numeric/Gauss.h \ + Draw.h ../Numeric/Numeric.h ../Numeric/GmshMatrix.h GUI.h \ + ../Common/VertexArray.h ../Common/Context.h ../Geo/CGNSOptions.h \ + ../Mesh/meshPartitionOptions.h menuWindow${OBJEXT}: menuWindow.cpp ../Common/GmshConfig.h \ ../Common/GmshMessage.h GUI.h Draw.h menuWindow.h popupButton.h \ mainWindow.h graphicWindow.h openglWindow.h ../Graphics/drawContext.h \ @@ -144,34 +148,36 @@ menuWindow${OBJEXT}: menuWindow.cpp ../Common/GmshConfig.h \ solverWindow.h aboutWindow.h fileDialogs.h partitionDialog.h \ projectionEditor.h ../Geo/fourierProjectionFace.h ../Geo/GModel.h \ ../Geo/GVertex.h ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \ - ../Geo/SBoundingBox3d.h ../Geo/GPoint.h ../Geo/SPoint2.h ../Geo/GEdge.h \ - ../Geo/GEntity.h ../Geo/GVertex.h ../Geo/SVector3.h ../Geo/SPoint3.h \ - ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/GFace.h ../Geo/GEntity.h \ - ../Geo/GPoint.h ../Geo/GEdgeLoop.h ../Geo/GEdge.h ../Geo/SPoint2.h \ - ../Geo/SVector3.h ../Geo/Pair.h ../Geo/GRegion.h ../Geo/GEntity.h \ - ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h ../Geo/Range.h \ - classificationEditor.h ../Geo/MElement.h ../Common/GmshDefines.h \ - ../Geo/MVertex.h ../Geo/SPoint2.h ../Geo/SPoint3.h ../Geo/MEdge.h \ - ../Geo/MVertex.h ../Geo/SVector3.h ../Geo/MFace.h ../Geo/MVertex.h \ - ../Geo/MEdge.h ../Geo/SVector3.h ../Numeric/FunctionSpace.h \ - ../Numeric/GmshMatrix.h ../Numeric/Gauss.h ../Common/Options.h \ - Solvers.h ../Common/CommandLine.h ../Mesh/Generator.h \ - ../Mesh/HighOrder.h ../Post/PView.h ../Post/PViewData.h \ - ../Post/PViewOptions.h ../Post/ColorTable.h ../Mesh/Field.h \ - ../Geo/STensor3.h ../Geo/SVector3.h ../Numeric/Numeric.h \ - ../Numeric/GmshMatrix.h ../Common/OS.h ../Common/StringUtils.h \ - ../Common/OpenFile.h ../Common/CreateFile.h ../Geo/findLinks.h \ - ../Common/ListUtils.h ../Geo/GeoStringInterface.h ../Common/Context.h \ - ../Geo/CGNSOptions.h ../Mesh/meshPartitionOptions.h + ../Geo/SBoundingBox3d.h ../Geo/SOrientedBoundingBox.h ../Geo/SVector3.h \ + ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/Pair.h ../Geo/GPoint.h \ + ../Geo/SPoint2.h ../Geo/GEdge.h ../Geo/GEntity.h ../Geo/GVertex.h \ + ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/GFace.h \ + ../Geo/GEntity.h ../Geo/GPoint.h ../Geo/GEdgeLoop.h ../Geo/GEdge.h \ + ../Geo/SPoint2.h ../Geo/SVector3.h ../Geo/Pair.h ../Geo/GRegion.h \ + ../Geo/GEntity.h ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h \ + ../Geo/Range.h classificationEditor.h ../Geo/MElement.h \ + ../Common/GmshDefines.h ../Geo/MVertex.h ../Geo/SPoint2.h \ + ../Geo/SPoint3.h ../Geo/MEdge.h ../Geo/MVertex.h ../Geo/SVector3.h \ + ../Geo/MFace.h ../Geo/MVertex.h ../Geo/MEdge.h ../Geo/SVector3.h \ + ../Numeric/FunctionSpace.h ../Numeric/GmshMatrix.h ../Numeric/Gauss.h \ + ../Common/Options.h Solvers.h ../Common/CommandLine.h \ + ../Mesh/Generator.h ../Mesh/HighOrder.h ../Post/PView.h \ + ../Post/PViewData.h ../Post/PViewOptions.h ../Post/ColorTable.h \ + ../Mesh/Field.h ../Geo/STensor3.h ../Geo/SVector3.h \ + ../Numeric/Numeric.h ../Numeric/GmshMatrix.h ../Common/OS.h \ + ../Common/StringUtils.h ../Common/OpenFile.h ../Common/CreateFile.h \ + ../Geo/findLinks.h ../Common/ListUtils.h ../Geo/GeoStringInterface.h \ + ../Common/Context.h ../Geo/CGNSOptions.h ../Mesh/meshPartitionOptions.h optionWindow${OBJEXT}: optionWindow.cpp ../Common/GmshConfig.h \ ../Common/GmshDefines.h ../Common/GmshMessage.h GUI.h optionWindow.h \ spherePositionWidget.h colorbarWindow.h ../Post/ColorTable.h \ paletteWindow.h menuWindow.h popupButton.h extraDialogs.h Draw.h \ ../Common/Options.h Solvers.h ../Geo/GModel.h ../Geo/GVertex.h \ ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \ - ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/GPoint.h \ - ../Geo/SPoint2.h ../Geo/GEdge.h ../Geo/GEntity.h ../Geo/GVertex.h \ - ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint3.h ../Geo/SPoint2.h \ + ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/SOrientedBoundingBox.h \ + ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/Pair.h \ + ../Geo/GPoint.h ../Geo/SPoint2.h ../Geo/GEdge.h ../Geo/GEntity.h \ + ../Geo/GVertex.h ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint2.h \ ../Geo/GFace.h ../Geo/GEntity.h ../Geo/GPoint.h ../Geo/GEdgeLoop.h \ ../Geo/GEdge.h ../Geo/SPoint2.h ../Geo/SVector3.h ../Geo/Pair.h \ ../Geo/GRegion.h ../Geo/GEntity.h ../Geo/SPoint3.h \ @@ -188,9 +194,10 @@ colorbarWindow${OBJEXT}: colorbarWindow.cpp colorbarWindow.h \ fieldWindow${OBJEXT}: fieldWindow.cpp GUI.h Draw.h fieldWindow.h paletteWindow.h \ fileDialogs.h ../Common/GmshDefines.h ../Geo/GModel.h ../Geo/GVertex.h \ ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \ - ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/GPoint.h \ - ../Geo/SPoint2.h ../Geo/GEdge.h ../Geo/GEntity.h ../Geo/GVertex.h \ - ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint3.h ../Geo/SPoint2.h \ + ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/SOrientedBoundingBox.h \ + ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/Pair.h \ + ../Geo/GPoint.h ../Geo/SPoint2.h ../Geo/GEdge.h ../Geo/GEntity.h \ + ../Geo/GVertex.h ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint2.h \ ../Geo/GFace.h ../Geo/GEntity.h ../Geo/GPoint.h ../Geo/GEdgeLoop.h \ ../Geo/GEdge.h ../Geo/SPoint2.h ../Geo/SVector3.h ../Geo/Pair.h \ ../Geo/GRegion.h ../Geo/GEntity.h ../Geo/SPoint3.h \ @@ -205,21 +212,22 @@ pluginWindow${OBJEXT}: pluginWindow.cpp GUI.h Draw.h pluginWindow.h \ ../Plugin/PluginManager.h ../Plugin/Plugin.h ../Common/Options.h \ ../Post/ColorTable.h ../Common/GmshMessage.h ../Post/PViewDataList.h \ ../Post/PViewData.h ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h \ - ../Numeric/GmshMatrix.h ../Common/GmshConfig.h ../Common/ListUtils.h \ - ../Common/Context.h ../Geo/CGNSOptions.h ../Mesh/meshPartitionOptions.h + ../Numeric/GmshMatrix.h ../Common/GmshConfig.h ../Common/Context.h \ + ../Geo/CGNSOptions.h ../Mesh/meshPartitionOptions.h statisticsWindow${OBJEXT}: statisticsWindow.cpp GUI.h Draw.h statisticsWindow.h \ paletteWindow.h ../Geo/GModel.h ../Geo/GVertex.h ../Geo/GEntity.h \ ../Geo/Range.h ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h \ - ../Geo/SPoint3.h ../Geo/GPoint.h ../Geo/SPoint2.h ../Geo/GEdge.h \ - ../Geo/GEntity.h ../Geo/GVertex.h ../Geo/SVector3.h ../Geo/SPoint3.h \ - ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/GFace.h ../Geo/GEntity.h \ - ../Geo/GPoint.h ../Geo/GEdgeLoop.h ../Geo/GEdge.h ../Geo/SPoint2.h \ - ../Geo/SVector3.h ../Geo/Pair.h ../Geo/GRegion.h ../Geo/GEntity.h \ - ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h ../Geo/MElement.h \ - ../Common/GmshDefines.h ../Geo/MVertex.h ../Geo/SPoint2.h \ - ../Geo/SPoint3.h ../Geo/MEdge.h ../Geo/MVertex.h ../Geo/SVector3.h \ - ../Geo/MFace.h ../Geo/MVertex.h ../Geo/MEdge.h ../Geo/SVector3.h \ - ../Common/GmshMessage.h ../Numeric/FunctionSpace.h \ + ../Geo/SPoint3.h ../Geo/SOrientedBoundingBox.h ../Geo/SVector3.h \ + ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/Pair.h ../Geo/GPoint.h \ + ../Geo/SPoint2.h ../Geo/GEdge.h ../Geo/GEntity.h ../Geo/GVertex.h \ + ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/GFace.h \ + ../Geo/GEntity.h ../Geo/GPoint.h ../Geo/GEdgeLoop.h ../Geo/GEdge.h \ + ../Geo/SPoint2.h ../Geo/SVector3.h ../Geo/Pair.h ../Geo/GRegion.h \ + ../Geo/GEntity.h ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h \ + ../Geo/MElement.h ../Common/GmshDefines.h ../Geo/MVertex.h \ + ../Geo/SPoint2.h ../Geo/SPoint3.h ../Geo/MEdge.h ../Geo/MVertex.h \ + ../Geo/SVector3.h ../Geo/MFace.h ../Geo/MVertex.h ../Geo/MEdge.h \ + ../Geo/SVector3.h ../Common/GmshMessage.h ../Numeric/FunctionSpace.h \ ../Numeric/GmshMatrix.h ../Common/GmshConfig.h ../Numeric/Gauss.h \ ../Post/PView.h ../Mesh/Generator.h ../Common/Context.h \ ../Geo/CGNSOptions.h ../Mesh/meshPartitionOptions.h @@ -229,19 +237,21 @@ visibilityWindow${OBJEXT}: visibilityWindow.cpp ../Common/GmshConfig.h GUI.h \ ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Common/GmshDefines.h \ ../Common/GmshMessage.h ../Geo/GModel.h ../Geo/GVertex.h \ ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \ - ../Geo/SBoundingBox3d.h ../Geo/GPoint.h ../Geo/SPoint2.h ../Geo/GEdge.h \ - ../Geo/GEntity.h ../Geo/GVertex.h ../Geo/SVector3.h ../Geo/SPoint3.h \ - ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/GFace.h ../Geo/GEntity.h \ - ../Geo/GPoint.h ../Geo/GEdgeLoop.h ../Geo/GEdge.h ../Geo/SPoint2.h \ - ../Geo/SVector3.h ../Geo/Pair.h ../Geo/GRegion.h ../Geo/GEntity.h \ - ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h ../Geo/MElement.h \ - ../Geo/MVertex.h ../Geo/SPoint2.h ../Geo/SPoint3.h ../Geo/MEdge.h \ - ../Geo/MVertex.h ../Geo/SVector3.h ../Geo/MFace.h ../Geo/MVertex.h \ - ../Geo/MEdge.h ../Geo/SVector3.h ../Numeric/FunctionSpace.h \ - ../Numeric/GmshMatrix.h ../Numeric/Gauss.h ../Post/PView.h \ - ../Post/PViewData.h ../Geo/GeoStringInterface.h ../Common/ListUtils.h \ - ../Common/Options.h ../Post/ColorTable.h ../Common/Context.h \ - ../Geo/CGNSOptions.h ../Mesh/meshPartitionOptions.h ../Parser/Parser.h + ../Geo/SBoundingBox3d.h ../Geo/SOrientedBoundingBox.h ../Geo/SVector3.h \ + ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/Pair.h ../Geo/GPoint.h \ + ../Geo/SPoint2.h ../Geo/GEdge.h ../Geo/GEntity.h ../Geo/GVertex.h \ + ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/GFace.h \ + ../Geo/GEntity.h ../Geo/GPoint.h ../Geo/GEdgeLoop.h ../Geo/GEdge.h \ + ../Geo/SPoint2.h ../Geo/SVector3.h ../Geo/Pair.h ../Geo/GRegion.h \ + ../Geo/GEntity.h ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h \ + ../Geo/MElement.h ../Geo/MVertex.h ../Geo/SPoint2.h ../Geo/SPoint3.h \ + ../Geo/MEdge.h ../Geo/MVertex.h ../Geo/SVector3.h ../Geo/MFace.h \ + ../Geo/MVertex.h ../Geo/MEdge.h ../Geo/SVector3.h \ + ../Numeric/FunctionSpace.h ../Numeric/GmshMatrix.h ../Numeric/Gauss.h \ + ../Post/PView.h ../Post/PViewData.h ../Geo/GeoStringInterface.h \ + ../Common/ListUtils.h ../Common/Options.h ../Post/ColorTable.h \ + ../Common/Context.h ../Geo/CGNSOptions.h ../Mesh/meshPartitionOptions.h \ + ../Parser/Parser.h clippingWindow${OBJEXT}: clippingWindow.cpp GUI.h Draw.h clippingWindow.h \ paletteWindow.h ../Common/GmshDefines.h ../Post/PView.h \ ../Geo/SPoint3.h ../Post/PViewOptions.h ../Post/ColorTable.h \ @@ -258,19 +268,21 @@ manipWindow${OBJEXT}: manipWindow.cpp GUI.h Draw.h manipWindow.h paletteWindow.h contextWindow${OBJEXT}: contextWindow.cpp GUI.h Draw.h contextWindow.h \ paletteWindow.h ../Geo/GModel.h ../Geo/GVertex.h ../Geo/GEntity.h \ ../Geo/Range.h ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h \ - ../Geo/SPoint3.h ../Geo/GPoint.h ../Geo/SPoint2.h ../Geo/GEdge.h \ - ../Geo/GEntity.h ../Geo/GVertex.h ../Geo/SVector3.h ../Geo/SPoint3.h \ - ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/GFace.h ../Geo/GEntity.h \ - ../Geo/GPoint.h ../Geo/GEdgeLoop.h ../Geo/GEdge.h ../Geo/SPoint2.h \ - ../Geo/SVector3.h ../Geo/Pair.h ../Geo/GRegion.h ../Geo/GEntity.h \ - ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h ../Geo/GeoStringInterface.h \ - ../Common/ListUtils.h ../Common/OpenFile.h ../Common/Context.h \ - ../Geo/CGNSOptions.h ../Mesh/meshPartitionOptions.h + ../Geo/SPoint3.h ../Geo/SOrientedBoundingBox.h ../Geo/SVector3.h \ + ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/Pair.h ../Geo/GPoint.h \ + ../Geo/SPoint2.h ../Geo/GEdge.h ../Geo/GEntity.h ../Geo/GVertex.h \ + ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/GFace.h \ + ../Geo/GEntity.h ../Geo/GPoint.h ../Geo/GEdgeLoop.h ../Geo/GEdge.h \ + ../Geo/SPoint2.h ../Geo/SVector3.h ../Geo/Pair.h ../Geo/GRegion.h \ + ../Geo/GEntity.h ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h \ + ../Geo/GeoStringInterface.h ../Common/ListUtils.h ../Common/OpenFile.h \ + ../Common/Context.h ../Geo/CGNSOptions.h ../Mesh/meshPartitionOptions.h solverWindow${OBJEXT}: solverWindow.cpp ../Geo/GModel.h ../Geo/GVertex.h \ ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \ - ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/GPoint.h \ - ../Geo/SPoint2.h ../Geo/GEdge.h ../Geo/GEntity.h ../Geo/GVertex.h \ - ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint3.h ../Geo/SPoint2.h \ + ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/SOrientedBoundingBox.h \ + ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/Pair.h \ + ../Geo/GPoint.h ../Geo/SPoint2.h ../Geo/GEdge.h ../Geo/GEntity.h \ + ../Geo/GVertex.h ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint2.h \ ../Geo/GFace.h ../Geo/GEntity.h ../Geo/GPoint.h ../Geo/GEdgeLoop.h \ ../Geo/GEdge.h ../Geo/SPoint2.h ../Geo/SVector3.h ../Geo/Pair.h \ ../Geo/GRegion.h ../Geo/GEntity.h ../Geo/SPoint3.h \ @@ -288,20 +300,22 @@ fileDialogs${OBJEXT}: fileDialogs.cpp ../Common/GmshConfig.h \ ../Common/CreateFile.h ../Common/Options.h ../Post/ColorTable.h Draw.h \ ../Geo/GModel.h ../Geo/GVertex.h ../Geo/GEntity.h ../Geo/Range.h \ ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h \ - ../Geo/GPoint.h ../Geo/SPoint2.h ../Geo/GEdge.h ../Geo/GEntity.h \ - ../Geo/GVertex.h ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint3.h \ - ../Geo/SPoint2.h ../Geo/GFace.h ../Geo/GEntity.h ../Geo/GPoint.h \ - ../Geo/GEdgeLoop.h ../Geo/GEdge.h ../Geo/SPoint2.h ../Geo/SVector3.h \ - ../Geo/Pair.h ../Geo/GRegion.h ../Geo/GEntity.h ../Geo/SPoint3.h \ - ../Geo/SBoundingBox3d.h ../Common/Context.h ../Geo/CGNSOptions.h \ - ../Mesh/meshPartitionOptions.h + ../Geo/SOrientedBoundingBox.h ../Geo/SVector3.h ../Geo/SPoint3.h \ + ../Geo/SPoint2.h ../Geo/Pair.h ../Geo/GPoint.h ../Geo/SPoint2.h \ + ../Geo/GEdge.h ../Geo/GEntity.h ../Geo/GVertex.h ../Geo/SVector3.h \ + ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/GFace.h ../Geo/GEntity.h \ + ../Geo/GPoint.h ../Geo/GEdgeLoop.h ../Geo/GEdge.h ../Geo/SPoint2.h \ + ../Geo/SVector3.h ../Geo/Pair.h ../Geo/GRegion.h ../Geo/GEntity.h \ + ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h ../Common/Context.h \ + ../Geo/CGNSOptions.h ../Mesh/meshPartitionOptions.h extraDialogs${OBJEXT}: extraDialogs.cpp GUI.h paletteWindow.h \ ../Common/GmshDefines.h ../Common/OpenFile.h ../Common/CreateFile.h \ ../Common/Options.h ../Post/ColorTable.h Draw.h ../Geo/GModel.h \ ../Geo/GVertex.h ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \ - ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/GPoint.h \ - ../Geo/SPoint2.h ../Geo/GEdge.h ../Geo/GEntity.h ../Geo/GVertex.h \ - ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint3.h ../Geo/SPoint2.h \ + ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/SOrientedBoundingBox.h \ + ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/Pair.h \ + ../Geo/GPoint.h ../Geo/SPoint2.h ../Geo/GEdge.h ../Geo/GEntity.h \ + ../Geo/GVertex.h ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint2.h \ ../Geo/GFace.h ../Geo/GEntity.h ../Geo/GPoint.h ../Geo/GEdgeLoop.h \ ../Geo/GEdge.h ../Geo/SPoint2.h ../Geo/SVector3.h ../Geo/Pair.h \ ../Geo/GRegion.h ../Geo/GEntity.h ../Geo/SPoint3.h \ @@ -310,9 +324,10 @@ extraDialogs${OBJEXT}: extraDialogs.cpp GUI.h paletteWindow.h \ projectionEditor${OBJEXT}: projectionEditor.cpp ../Common/GmshConfig.h GUI.h \ projectionEditor.h ../Geo/fourierProjectionFace.h ../Geo/GModel.h \ ../Geo/GVertex.h ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \ - ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/GPoint.h \ - ../Geo/SPoint2.h ../Geo/GEdge.h ../Geo/GEntity.h ../Geo/GVertex.h \ - ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint3.h ../Geo/SPoint2.h \ + ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/SOrientedBoundingBox.h \ + ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/Pair.h \ + ../Geo/GPoint.h ../Geo/SPoint2.h ../Geo/GEdge.h ../Geo/GEntity.h \ + ../Geo/GVertex.h ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint2.h \ ../Geo/GFace.h ../Geo/GEntity.h ../Geo/GPoint.h ../Geo/GEdgeLoop.h \ ../Geo/GEdge.h ../Geo/SPoint2.h ../Geo/SVector3.h ../Geo/Pair.h \ ../Geo/GRegion.h ../Geo/GEntity.h ../Geo/SPoint3.h \ @@ -331,9 +346,10 @@ projectionEditor${OBJEXT}: projectionEditor.cpp ../Common/GmshConfig.h GUI.h \ classificationEditor${OBJEXT}: classificationEditor.cpp GUI.h \ classificationEditor.h ../Geo/GModel.h ../Geo/GVertex.h \ ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \ - ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/GPoint.h \ - ../Geo/SPoint2.h ../Geo/GEdge.h ../Geo/GEntity.h ../Geo/GVertex.h \ - ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint3.h ../Geo/SPoint2.h \ + ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/SOrientedBoundingBox.h \ + ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/Pair.h \ + ../Geo/GPoint.h ../Geo/SPoint2.h ../Geo/GEdge.h ../Geo/GEntity.h \ + ../Geo/GVertex.h ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint2.h \ ../Geo/GFace.h ../Geo/GEntity.h ../Geo/GPoint.h ../Geo/GEdgeLoop.h \ ../Geo/GEdge.h ../Geo/SPoint2.h ../Geo/SVector3.h ../Geo/Pair.h \ ../Geo/GRegion.h ../Geo/GEntity.h ../Geo/SPoint3.h \ @@ -347,23 +363,25 @@ classificationEditor${OBJEXT}: classificationEditor.cpp GUI.h \ ../Common/Options.h ../Common/Context.h ../Geo/CGNSOptions.h \ ../Mesh/meshPartitionOptions.h ../Geo/MLine.h ../Geo/MElement.h \ ../Mesh/meshGFaceDelaunayInsertion.h ../Geo/MTriangle.h \ - ../Geo/MElement.h ../Mesh/meshGFaceOptimize.h \ - ../Mesh/meshGFaceDelaunayInsertion.h ../Geo/discreteEdge.h \ - ../Geo/GModel.h ../Geo/GEdge.h ../Geo/discreteVertex.h ../Geo/GModel.h \ - ../Geo/GVertex.h ../Geo/MVertex.h ../Geo/discreteFace.h ../Geo/GModel.h \ - ../Geo/GFace.h ../Geo/discreteEdge.h ../Geo/MEdge.h + ../Geo/MElement.h ../Geo/STensor3.h ../Geo/SVector3.h \ + ../Mesh/meshGFaceOptimize.h ../Mesh/meshGFaceDelaunayInsertion.h \ + ../Geo/discreteEdge.h ../Geo/GModel.h ../Geo/GEdge.h \ + ../Geo/discreteVertex.h ../Geo/GModel.h ../Geo/GVertex.h \ + ../Geo/MVertex.h ../Geo/discreteFace.h ../Geo/GModel.h ../Geo/GFace.h \ + ../Geo/discreteEdge.h ../Geo/MEdge.h partitionDialog${OBJEXT}: partitionDialog.cpp ../Common/GmshConfig.h \ ../Common/GmshDefines.h ../Common/GmshMessage.h GUI.h paletteWindow.h \ ../Geo/GModel.h ../Geo/GVertex.h ../Geo/GEntity.h ../Geo/Range.h \ ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h \ - ../Geo/GPoint.h ../Geo/SPoint2.h ../Geo/GEdge.h ../Geo/GEntity.h \ - ../Geo/GVertex.h ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint3.h \ - ../Geo/SPoint2.h ../Geo/GFace.h ../Geo/GEntity.h ../Geo/GPoint.h \ - ../Geo/GEdgeLoop.h ../Geo/GEdge.h ../Geo/SPoint2.h ../Geo/SVector3.h \ - ../Geo/Pair.h ../Geo/GRegion.h ../Geo/GEntity.h ../Geo/SPoint3.h \ - ../Geo/SBoundingBox3d.h Draw.h ../Common/Options.h ../Post/ColorTable.h \ - ../Mesh/meshPartition.h ../Common/Context.h ../Geo/CGNSOptions.h \ - ../Mesh/meshPartitionOptions.h + ../Geo/SOrientedBoundingBox.h ../Geo/SVector3.h ../Geo/SPoint3.h \ + ../Geo/SPoint2.h ../Geo/Pair.h ../Geo/GPoint.h ../Geo/SPoint2.h \ + ../Geo/GEdge.h ../Geo/GEntity.h ../Geo/GVertex.h ../Geo/SVector3.h \ + ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/GFace.h ../Geo/GEntity.h \ + ../Geo/GPoint.h ../Geo/GEdgeLoop.h ../Geo/GEdge.h ../Geo/SPoint2.h \ + ../Geo/SVector3.h ../Geo/Pair.h ../Geo/GRegion.h ../Geo/GEntity.h \ + ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h Draw.h ../Common/Options.h \ + ../Post/ColorTable.h ../Mesh/meshPartition.h ../Common/Context.h \ + ../Geo/CGNSOptions.h ../Mesh/meshPartitionOptions.h Draw${OBJEXT}: Draw.cpp GUI.h graphicWindow.h openglWindow.h \ ../Graphics/drawContext.h ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h \ optionWindow.h spherePositionWidget.h colorbarWindow.h \ diff --git a/Geo/Makefile b/Geo/Makefile index 8b0a84bce51029f8d0e967a3953aeaf7616bfecd..46122811f13a95220f70d4ed56abdc454907de55 100644 --- a/Geo/Makefile +++ b/Geo/Makefile @@ -71,59 +71,64 @@ depend: # DO NOT DELETE THIS LINE GEntity${OBJEXT}: GEntity.cpp GModel.h GVertex.h GEntity.h Range.h SPoint3.h \ - SBoundingBox3d.h GPoint.h SPoint2.h GEdge.h SVector3.h GFace.h \ - GEdgeLoop.h Pair.h GRegion.h MElement.h ../Common/GmshDefines.h \ - MVertex.h MEdge.h MFace.h ../Common/GmshMessage.h \ - ../Numeric/FunctionSpace.h ../Numeric/GmshMatrix.h \ - ../Common/GmshConfig.h ../Common/GmshMessage.h ../Numeric/Gauss.h \ + SBoundingBox3d.h SOrientedBoundingBox.h SVector3.h SPoint2.h Pair.h \ + GPoint.h GEdge.h GFace.h GEdgeLoop.h GRegion.h MElement.h \ + ../Common/GmshDefines.h MVertex.h MEdge.h MFace.h \ + ../Common/GmshMessage.h ../Numeric/FunctionSpace.h \ + ../Numeric/GmshMatrix.h ../Common/GmshConfig.h ../Numeric/Gauss.h \ ../Common/VertexArray.h ../Geo/SVector3.h ../Common/Context.h \ ../Geo/CGNSOptions.h ../Mesh/meshPartitionOptions.h -GVertex${OBJEXT}: GVertex.cpp GVertex.h GEntity.h Range.h SPoint3.h \ - SBoundingBox3d.h GPoint.h SPoint2.h GFace.h GEdgeLoop.h GEdge.h \ - SVector3.h Pair.h MPoint.h MElement.h ../Common/GmshDefines.h MVertex.h \ - MEdge.h MFace.h ../Common/GmshMessage.h ../Numeric/FunctionSpace.h \ +STensor3${OBJEXT}: STensor3.cpp STensor3.h SVector3.h SPoint3.h \ ../Numeric/GmshMatrix.h ../Common/GmshConfig.h ../Common/GmshMessage.h \ - ../Numeric/Gauss.h + ../Numeric/Numeric.h ../Numeric/GmshMatrix.h +GVertex${OBJEXT}: GVertex.cpp GVertex.h GEntity.h Range.h SPoint3.h \ + SBoundingBox3d.h SOrientedBoundingBox.h SVector3.h SPoint2.h Pair.h \ + GPoint.h GFace.h GEdgeLoop.h GEdge.h MPoint.h MElement.h \ + ../Common/GmshDefines.h MVertex.h MEdge.h MFace.h \ + ../Common/GmshMessage.h ../Numeric/FunctionSpace.h \ + ../Numeric/GmshMatrix.h ../Common/GmshConfig.h ../Numeric/Gauss.h GEdge${OBJEXT}: GEdge.cpp ../Common/GmshConfig.h ../Common/GmshDefines.h \ ../Common/GmshMessage.h GModel.h GVertex.h GEntity.h Range.h SPoint3.h \ - SBoundingBox3d.h GPoint.h SPoint2.h GEdge.h SVector3.h GFace.h \ - GEdgeLoop.h Pair.h GRegion.h MLine.h MElement.h MVertex.h MEdge.h \ - MFace.h ../Numeric/FunctionSpace.h ../Numeric/GmshMatrix.h \ - ../Common/GmshConfig.h ../Common/GmshMessage.h ../Numeric/Gauss.h \ - ../Numeric/GaussLegendre1D.h ../Common/Context.h ../Geo/CGNSOptions.h \ - ../Mesh/meshPartitionOptions.h + SBoundingBox3d.h SOrientedBoundingBox.h SVector3.h SPoint2.h Pair.h \ + GPoint.h GEdge.h GFace.h GEdgeLoop.h GRegion.h MLine.h MElement.h \ + MVertex.h MEdge.h MFace.h ../Numeric/FunctionSpace.h \ + ../Numeric/GmshMatrix.h ../Numeric/Gauss.h ../Numeric/GaussLegendre1D.h \ + ../Common/Context.h ../Geo/CGNSOptions.h ../Mesh/meshPartitionOptions.h GFace${OBJEXT}: GFace.cpp ../Common/GmshConfig.h ../Common/GmshMessage.h \ GModel.h GVertex.h GEntity.h Range.h SPoint3.h SBoundingBox3d.h \ - GPoint.h SPoint2.h GEdge.h SVector3.h GFace.h GEdgeLoop.h Pair.h \ - GRegion.h MTriangle.h MElement.h ../Common/GmshDefines.h MVertex.h \ - MEdge.h MFace.h ../Numeric/FunctionSpace.h ../Numeric/GmshMatrix.h \ - ../Numeric/Gauss.h MQuadrangle.h ../Common/VertexArray.h \ - ../Geo/SVector3.h ../Numeric/Numeric.h ../Numeric/GmshMatrix.h \ - ../Numeric/EigSolve.h ../Numeric/GaussLegendre1D.h ../Common/Context.h \ - ../Geo/CGNSOptions.h ../Mesh/meshPartitionOptions.h - -GRegion${OBJEXT}: GRegion.cpp GModel.h GVertex.h GEntity.h Range.h SPoint3.h \ - SBoundingBox3d.h GPoint.h SPoint2.h GEdge.h SVector3.h GFace.h \ - GEdgeLoop.h Pair.h GRegion.h MTetrahedron.h MElement.h \ + SOrientedBoundingBox.h SVector3.h SPoint2.h Pair.h GPoint.h GEdge.h \ + GFace.h GEdgeLoop.h GRegion.h MTriangle.h MElement.h \ ../Common/GmshDefines.h MVertex.h MEdge.h MFace.h \ + ../Numeric/FunctionSpace.h ../Numeric/GmshMatrix.h ../Numeric/Gauss.h \ + MQuadrangle.h MElementCut.h MTetrahedron.h MLine.h \ + ../Common/VertexArray.h ../Geo/SVector3.h ../Numeric/Numeric.h \ + ../Numeric/GmshMatrix.h ../Numeric/EigSolve.h \ + ../Numeric/GaussLegendre1D.h ../Common/Context.h ../Geo/CGNSOptions.h \ + ../Mesh/meshPartitionOptions.h +GRegion${OBJEXT}: GRegion.cpp GModel.h GVertex.h GEntity.h Range.h SPoint3.h \ + SBoundingBox3d.h SOrientedBoundingBox.h SVector3.h SPoint2.h Pair.h \ + GPoint.h GEdge.h GFace.h GEdgeLoop.h GRegion.h MTetrahedron.h \ + MElement.h ../Common/GmshDefines.h MVertex.h MEdge.h MFace.h \ ../Common/GmshMessage.h ../Numeric/FunctionSpace.h \ - ../Numeric/GmshMatrix.h ../Common/GmshConfig.h ../Common/GmshMessage.h \ - ../Numeric/Gauss.h MHexahedron.h MPrism.h MPyramid.h + ../Numeric/GmshMatrix.h ../Common/GmshConfig.h ../Numeric/Gauss.h \ + MHexahedron.h MPrism.h MPyramid.h MElementCut.h MTriangle.h MLine.h \ + ../Common/VertexArray.h ../Geo/SVector3.h GEdgeLoop${OBJEXT}: GEdgeLoop.cpp GEdgeLoop.h GEdge.h GEntity.h Range.h \ - SPoint3.h SBoundingBox3d.h GVertex.h GPoint.h SPoint2.h SVector3.h \ - ../Common/GmshMessage.h + SPoint3.h SBoundingBox3d.h SOrientedBoundingBox.h SVector3.h SPoint2.h \ + Pair.h GVertex.h GPoint.h ../Common/GmshMessage.h GEdgeCompound${OBJEXT}: GEdgeCompound.cpp ../Common/GmshConfig.h GEdgeCompound.h \ - GFace.h GEntity.h Range.h SPoint3.h SBoundingBox3d.h GPoint.h \ - GEdgeLoop.h GEdge.h GVertex.h SPoint2.h SVector3.h Pair.h \ - ../Numeric/Numeric.h ../Numeric/GmshMatrix.h ../Common/GmshConfig.h \ + GFace.h GEntity.h Range.h SPoint3.h SBoundingBox3d.h \ + SOrientedBoundingBox.h SVector3.h SPoint2.h Pair.h GPoint.h GEdgeLoop.h \ + GEdge.h GVertex.h ../Numeric/Numeric.h ../Numeric/GmshMatrix.h \ ../Common/GmshMessage.h GFaceCompound${OBJEXT}: GFaceCompound.cpp ../Common/GmshConfig.h GFaceCompound.h \ - GFace.h GEntity.h Range.h SPoint3.h SBoundingBox3d.h GPoint.h \ - GEdgeLoop.h GEdge.h GVertex.h SPoint2.h SVector3.h Pair.h \ - GEdgeCompound.h MLine.h MElement.h ../Common/GmshDefines.h MVertex.h \ - MEdge.h MFace.h ../Common/GmshMessage.h ../Numeric/FunctionSpace.h \ - ../Numeric/GmshMatrix.h ../Common/GmshConfig.h ../Common/GmshMessage.h \ - ../Numeric/Gauss.h MTriangle.h ../Numeric/Numeric.h ../Common/Octree.h \ + GFace.h GEntity.h Range.h SPoint3.h SBoundingBox3d.h \ + SOrientedBoundingBox.h SVector3.h SPoint2.h Pair.h GPoint.h GEdgeLoop.h \ + GEdge.h GVertex.h GEdgeCompound.h MLine.h MElement.h \ + ../Common/GmshDefines.h MVertex.h MEdge.h MFace.h \ + ../Common/GmshMessage.h ../Numeric/FunctionSpace.h \ + ../Numeric/GmshMatrix.h ../Numeric/Gauss.h MTriangle.h \ + ../Numeric/Numeric.h ../Numeric/GmshMatrix.h ../Common/Octree.h \ ../Common/OctreeInternals.h ../Numeric/gmshAssembler.h \ ../Numeric/gmshLinearSystem.h ../Numeric/gmshLaplace.h \ ../Numeric/gmshTermOfFormulation.h ../Numeric/GmshMatrix.h \ @@ -137,294 +142,311 @@ GFaceCompound${OBJEXT}: GFaceCompound.cpp ../Common/GmshConfig.h GFaceCompound.h ../Numeric/GmshMatrix.h GRegionCompound${OBJEXT}: GRegionCompound.cpp ../Common/GmshConfig.h \ GRegionCompound.h GRegion.h GEntity.h Range.h SPoint3.h \ - SBoundingBox3d.h GFace.h GPoint.h GEdgeLoop.h GEdge.h GVertex.h \ - SPoint2.h SVector3.h Pair.h GFaceCompound.h GEdgeCompound.h \ - ../Numeric/Numeric.h ../Numeric/GmshMatrix.h ../Common/GmshMessage.h + SBoundingBox3d.h SOrientedBoundingBox.h SVector3.h SPoint2.h Pair.h \ + GFace.h GPoint.h GEdgeLoop.h GEdge.h GVertex.h GFaceCompound.h \ + GEdgeCompound.h ../Numeric/Numeric.h ../Numeric/GmshMatrix.h \ + ../Common/GmshMessage.h gmshVertex${OBJEXT}: gmshVertex.cpp GFace.h GEntity.h Range.h SPoint3.h \ - SBoundingBox3d.h GPoint.h GEdgeLoop.h GEdge.h GVertex.h SPoint2.h \ - SVector3.h Pair.h gmshVertex.h Geo.h ../Common/GmshDefines.h \ - gmshSurface.h ../Numeric/Numeric.h ../Numeric/GmshMatrix.h \ - ../Common/GmshConfig.h ../Common/GmshMessage.h ../Common/ListUtils.h \ - ../Common/TreeUtils.h ../Common/avl.h ../Common/ListUtils.h \ - ExtrudeParams.h ../Common/SmoothData.h GeoInterpolation.h \ - ../Common/GmshMessage.h MVertex.h MPoint.h MElement.h MEdge.h MFace.h \ - ../Numeric/FunctionSpace.h ../Numeric/Gauss.h -gmshEdge${OBJEXT}: gmshEdge.cpp GModel.h GVertex.h GEntity.h Range.h SPoint3.h \ - SBoundingBox3d.h GPoint.h SPoint2.h GEdge.h SVector3.h GFace.h \ - GEdgeLoop.h Pair.h GRegion.h GFaceCompound.h GEdgeCompound.h gmshEdge.h \ - Geo.h ../Common/GmshDefines.h gmshSurface.h ../Numeric/Numeric.h \ + SBoundingBox3d.h SOrientedBoundingBox.h SVector3.h SPoint2.h Pair.h \ + GPoint.h GEdgeLoop.h GEdge.h GVertex.h gmshVertex.h Geo.h \ + ../Common/GmshDefines.h gmshSurface.h ../Numeric/Numeric.h \ ../Numeric/GmshMatrix.h ../Common/GmshConfig.h ../Common/GmshMessage.h \ ../Common/ListUtils.h ../Common/TreeUtils.h ../Common/avl.h \ ../Common/ListUtils.h ExtrudeParams.h ../Common/SmoothData.h \ - GeoInterpolation.h ../Common/GmshMessage.h ../Common/Context.h \ + GeoInterpolation.h MVertex.h MPoint.h MElement.h MEdge.h MFace.h \ + ../Numeric/FunctionSpace.h ../Numeric/GmshMatrix.h ../Numeric/Gauss.h +gmshEdge${OBJEXT}: gmshEdge.cpp GModel.h GVertex.h GEntity.h Range.h SPoint3.h \ + SBoundingBox3d.h SOrientedBoundingBox.h SVector3.h SPoint2.h Pair.h \ + GPoint.h GEdge.h GFace.h GEdgeLoop.h GRegion.h GFaceCompound.h \ + GEdgeCompound.h gmshEdge.h Geo.h ../Common/GmshDefines.h gmshSurface.h \ + ../Numeric/Numeric.h ../Numeric/GmshMatrix.h ../Common/GmshConfig.h \ + ../Common/GmshMessage.h ../Common/ListUtils.h ../Common/TreeUtils.h \ + ../Common/avl.h ../Common/ListUtils.h ExtrudeParams.h \ + ../Common/SmoothData.h GeoInterpolation.h ../Common/Context.h \ ../Geo/CGNSOptions.h ../Mesh/meshPartitionOptions.h gmshFace${OBJEXT}: gmshFace.cpp GModel.h GVertex.h GEntity.h Range.h SPoint3.h \ - SBoundingBox3d.h GPoint.h SPoint2.h GEdge.h SVector3.h GFace.h \ - GEdgeLoop.h Pair.h GRegion.h gmshFace.h Geo.h ../Common/GmshDefines.h \ - gmshSurface.h ../Numeric/Numeric.h ../Numeric/GmshMatrix.h \ - ../Common/GmshConfig.h ../Common/GmshMessage.h ../Common/ListUtils.h \ - ../Common/TreeUtils.h ../Common/avl.h ../Common/ListUtils.h \ - ExtrudeParams.h ../Common/SmoothData.h GeoInterpolation.h \ - ../Common/GmshMessage.h ../Common/Context.h ../Geo/CGNSOptions.h \ - ../Mesh/meshPartitionOptions.h -gmshRegion${OBJEXT}: gmshRegion.cpp GModel.h GVertex.h GEntity.h Range.h \ - SPoint3.h SBoundingBox3d.h GPoint.h SPoint2.h GEdge.h SVector3.h \ - GFace.h GEdgeLoop.h Pair.h GRegion.h gmshRegion.h Geo.h \ + SBoundingBox3d.h SOrientedBoundingBox.h SVector3.h SPoint2.h Pair.h \ + GPoint.h GEdge.h GFace.h GEdgeLoop.h GRegion.h gmshFace.h Geo.h \ ../Common/GmshDefines.h gmshSurface.h ../Numeric/Numeric.h \ ../Numeric/GmshMatrix.h ../Common/GmshConfig.h ../Common/GmshMessage.h \ ../Common/ListUtils.h ../Common/TreeUtils.h ../Common/avl.h \ ../Common/ListUtils.h ExtrudeParams.h ../Common/SmoothData.h \ - ../Common/GmshMessage.h + GeoInterpolation.h ../Common/Context.h ../Geo/CGNSOptions.h \ + ../Mesh/meshPartitionOptions.h +gmshRegion${OBJEXT}: gmshRegion.cpp GModel.h GVertex.h GEntity.h Range.h \ + SPoint3.h SBoundingBox3d.h SOrientedBoundingBox.h SVector3.h SPoint2.h \ + Pair.h GPoint.h GEdge.h GFace.h GEdgeLoop.h GRegion.h gmshRegion.h \ + Geo.h ../Common/GmshDefines.h gmshSurface.h ../Numeric/Numeric.h \ + ../Numeric/GmshMatrix.h ../Common/GmshConfig.h ../Common/GmshMessage.h \ + ../Common/ListUtils.h ../Common/TreeUtils.h ../Common/avl.h \ + ../Common/ListUtils.h ExtrudeParams.h ../Common/SmoothData.h gmshSurface${OBJEXT}: gmshSurface.cpp ../Common/GmshConfig.h \ ../Common/GmshMessage.h gmshSurface.h Pair.h Range.h SPoint2.h \ SPoint3.h SVector3.h SBoundingBox3d.h ../Numeric/Numeric.h \ - ../Numeric/GmshMatrix.h ../Common/GmshConfig.h ../Common/GmshMessage.h + ../Numeric/GmshMatrix.h OCCVertex${OBJEXT}: OCCVertex.cpp ../Common/GmshConfig.h GModel.h GVertex.h \ - GEntity.h Range.h SPoint3.h SBoundingBox3d.h GPoint.h SPoint2.h GEdge.h \ - SVector3.h GFace.h GEdgeLoop.h Pair.h GRegion.h MVertex.h MPoint.h \ - MElement.h ../Common/GmshDefines.h MEdge.h MFace.h \ - ../Common/GmshMessage.h ../Numeric/FunctionSpace.h \ - ../Numeric/GmshMatrix.h ../Common/GmshConfig.h ../Common/GmshMessage.h \ - ../Numeric/Gauss.h OCCVertex.h OCCIncludes.h OCCEdge.h OCCFace.h + GEntity.h Range.h SPoint3.h SBoundingBox3d.h SOrientedBoundingBox.h \ + SVector3.h SPoint2.h Pair.h GPoint.h GEdge.h GFace.h GEdgeLoop.h \ + GRegion.h MVertex.h MPoint.h MElement.h ../Common/GmshDefines.h MEdge.h \ + MFace.h ../Common/GmshMessage.h ../Numeric/FunctionSpace.h \ + ../Numeric/GmshMatrix.h ../Numeric/Gauss.h OCCVertex.h OCCIncludes.h \ + OCCEdge.h OCCFace.h OCCEdge${OBJEXT}: OCCEdge.cpp ../Common/GmshConfig.h ../Common/GmshMessage.h \ GModel.h GVertex.h GEntity.h Range.h SPoint3.h SBoundingBox3d.h \ - GPoint.h SPoint2.h GEdge.h SVector3.h GFace.h GEdgeLoop.h Pair.h \ - GRegion.h OCCEdge.h OCCVertex.h OCCIncludes.h OCCFace.h \ - ../Common/Context.h ../Geo/CGNSOptions.h ../Mesh/meshPartitionOptions.h + SOrientedBoundingBox.h SVector3.h SPoint2.h Pair.h GPoint.h GEdge.h \ + GFace.h GEdgeLoop.h GRegion.h OCCEdge.h OCCVertex.h OCCIncludes.h \ + OCCFace.h ../Common/Context.h ../Geo/CGNSOptions.h \ + ../Mesh/meshPartitionOptions.h OCCFace${OBJEXT}: OCCFace.cpp ../Common/GmshConfig.h ../Common/GmshMessage.h \ GModel.h GVertex.h GEntity.h Range.h SPoint3.h SBoundingBox3d.h \ - GPoint.h SPoint2.h GEdge.h SVector3.h GFace.h GEdgeLoop.h Pair.h \ - GRegion.h OCCVertex.h OCCIncludes.h OCCEdge.h OCCFace.h \ - ../Numeric/Numeric.h ../Numeric/GmshMatrix.h ../Common/GmshConfig.h \ - ../Common/GmshMessage.h ../Common/VertexArray.h ../Geo/SVector3.h \ - ../Common/Context.h ../Geo/CGNSOptions.h ../Mesh/meshPartitionOptions.h + SOrientedBoundingBox.h SVector3.h SPoint2.h Pair.h GPoint.h GEdge.h \ + GFace.h GEdgeLoop.h GRegion.h OCCVertex.h OCCIncludes.h OCCEdge.h \ + OCCFace.h ../Numeric/Numeric.h ../Numeric/GmshMatrix.h \ + ../Common/VertexArray.h ../Geo/SVector3.h ../Common/Context.h \ + ../Geo/CGNSOptions.h ../Mesh/meshPartitionOptions.h OCCRegion${OBJEXT}: OCCRegion.cpp ../Common/GmshConfig.h ../Common/GmshMessage.h \ GModel.h GVertex.h GEntity.h Range.h SPoint3.h SBoundingBox3d.h \ - GPoint.h SPoint2.h GEdge.h SVector3.h GFace.h GEdgeLoop.h Pair.h \ - GRegion.h OCCVertex.h OCCIncludes.h OCCEdge.h OCCFace.h OCCRegion.h + SOrientedBoundingBox.h SVector3.h SPoint2.h Pair.h GPoint.h GEdge.h \ + GFace.h GEdgeLoop.h GRegion.h OCCVertex.h OCCIncludes.h OCCEdge.h \ + OCCFace.h OCCRegion.h discreteEdge${OBJEXT}: discreteEdge.cpp ../Common/GmshConfig.h \ ../Common/GmshMessage.h discreteEdge.h GModel.h GVertex.h GEntity.h \ - Range.h SPoint3.h SBoundingBox3d.h GPoint.h SPoint2.h GEdge.h \ - SVector3.h GFace.h GEdgeLoop.h Pair.h GRegion.h discreteVertex.h \ - MVertex.h MLine.h MElement.h ../Common/GmshDefines.h MEdge.h MFace.h \ - ../Numeric/FunctionSpace.h ../Numeric/GmshMatrix.h ../Numeric/Gauss.h \ - ../Numeric/Numeric.h ../Numeric/GmshMatrix.h MPoint.h MTriangle.h \ - MQuadrangle.h MPrism.h MTetrahedron.h MHexahedron.h MPyramid.h Geo.h \ - gmshSurface.h ../Common/ListUtils.h ../Common/TreeUtils.h \ - ../Common/avl.h ../Common/ListUtils.h ExtrudeParams.h \ - ../Common/SmoothData.h + Range.h SPoint3.h SBoundingBox3d.h SOrientedBoundingBox.h SVector3.h \ + SPoint2.h Pair.h GPoint.h GEdge.h GFace.h GEdgeLoop.h GRegion.h \ + discreteVertex.h MVertex.h MLine.h MElement.h ../Common/GmshDefines.h \ + MEdge.h MFace.h ../Numeric/FunctionSpace.h ../Numeric/GmshMatrix.h \ + ../Numeric/Gauss.h ../Numeric/Numeric.h ../Numeric/GmshMatrix.h \ + MPoint.h MTriangle.h MQuadrangle.h MPrism.h MTetrahedron.h \ + MHexahedron.h MPyramid.h Geo.h gmshSurface.h ../Common/ListUtils.h \ + ../Common/TreeUtils.h ../Common/avl.h ../Common/ListUtils.h \ + ExtrudeParams.h ../Common/SmoothData.h discreteFace${OBJEXT}: discreteFace.cpp ../Common/GmshConfig.h \ ../Common/GmshMessage.h discreteFace.h GModel.h GVertex.h GEntity.h \ - Range.h SPoint3.h SBoundingBox3d.h GPoint.h SPoint2.h GEdge.h \ - SVector3.h GFace.h GEdgeLoop.h Pair.h GRegion.h discreteEdge.h \ - discreteVertex.h MVertex.h MEdge.h MTriangle.h MElement.h \ - ../Common/GmshDefines.h MFace.h ../Numeric/FunctionSpace.h \ + Range.h SPoint3.h SBoundingBox3d.h SOrientedBoundingBox.h SVector3.h \ + SPoint2.h Pair.h GPoint.h GEdge.h GFace.h GEdgeLoop.h GRegion.h \ + discreteEdge.h discreteVertex.h MVertex.h MEdge.h MTriangle.h \ + MElement.h ../Common/GmshDefines.h MFace.h ../Numeric/FunctionSpace.h \ ../Numeric/GmshMatrix.h ../Numeric/Gauss.h Geo.h gmshSurface.h \ ../Numeric/Numeric.h ../Numeric/GmshMatrix.h ../Common/ListUtils.h \ ../Common/TreeUtils.h ../Common/avl.h ../Common/ListUtils.h \ ExtrudeParams.h ../Common/SmoothData.h discreteRegion${OBJEXT}: discreteRegion.cpp ../Common/GmshConfig.h \ discreteRegion.h GModel.h GVertex.h GEntity.h Range.h SPoint3.h \ - SBoundingBox3d.h GPoint.h SPoint2.h GEdge.h SVector3.h GFace.h \ - GEdgeLoop.h Pair.h GRegion.h MVertex.h Geo.h ../Common/GmshDefines.h \ - gmshSurface.h ../Numeric/Numeric.h ../Numeric/GmshMatrix.h \ - ../Common/GmshConfig.h ../Common/GmshMessage.h ../Common/ListUtils.h \ + SBoundingBox3d.h SOrientedBoundingBox.h SVector3.h SPoint2.h Pair.h \ + GPoint.h GEdge.h GFace.h GEdgeLoop.h GRegion.h MVertex.h Geo.h \ + ../Common/GmshDefines.h gmshSurface.h ../Numeric/Numeric.h \ + ../Numeric/GmshMatrix.h ../Common/GmshMessage.h ../Common/ListUtils.h \ ../Common/TreeUtils.h ../Common/avl.h ../Common/ListUtils.h \ ExtrudeParams.h ../Common/SmoothData.h fourierEdge${OBJEXT}: fourierEdge.cpp ../Common/GmshConfig.h fourierEdge.h \ - GEdge.h GEntity.h Range.h SPoint3.h SBoundingBox3d.h GVertex.h GPoint.h \ - SPoint2.h SVector3.h GModel.h GFace.h GEdgeLoop.h Pair.h GRegion.h \ - fourierVertex.h MVertex.h ../Common/Context.h ../Geo/CGNSOptions.h \ - ../Mesh/meshPartitionOptions.h + GEdge.h GEntity.h Range.h SPoint3.h SBoundingBox3d.h \ + SOrientedBoundingBox.h SVector3.h SPoint2.h Pair.h GVertex.h GPoint.h \ + GModel.h GFace.h GEdgeLoop.h GRegion.h fourierVertex.h MVertex.h \ + ../Common/Context.h ../Geo/CGNSOptions.h ../Mesh/meshPartitionOptions.h fourierFace${OBJEXT}: fourierFace.cpp ../Common/GmshConfig.h \ ../Common/GmshMessage.h fourierVertex.h GModel.h GVertex.h GEntity.h \ - Range.h SPoint3.h SBoundingBox3d.h GPoint.h SPoint2.h GEdge.h \ - SVector3.h GFace.h GEdgeLoop.h Pair.h GRegion.h MVertex.h fourierFace.h \ - fourierEdge.h + Range.h SPoint3.h SBoundingBox3d.h SOrientedBoundingBox.h SVector3.h \ + SPoint2.h Pair.h GPoint.h GEdge.h GFace.h GEdgeLoop.h GRegion.h \ + MVertex.h fourierFace.h fourierEdge.h fourierProjectionFace${OBJEXT}: fourierProjectionFace.cpp ../Common/GmshConfig.h \ ../Common/GmshMessage.h fourierProjectionFace.h GModel.h GVertex.h \ - GEntity.h Range.h SPoint3.h SBoundingBox3d.h GPoint.h SPoint2.h GEdge.h \ - SVector3.h GFace.h GEdgeLoop.h Pair.h GRegion.h ../Common/VertexArray.h \ - ../Geo/SVector3.h + GEntity.h Range.h SPoint3.h SBoundingBox3d.h SOrientedBoundingBox.h \ + SVector3.h SPoint2.h Pair.h GPoint.h GEdge.h GFace.h GEdgeLoop.h \ + GRegion.h ../Common/VertexArray.h ../Geo/SVector3.h GModel${OBJEXT}: GModel.cpp ../Common/GmshConfig.h ../Common/GmshMessage.h \ GModel.h GVertex.h GEntity.h Range.h SPoint3.h SBoundingBox3d.h \ - GPoint.h SPoint2.h GEdge.h SVector3.h GFace.h GEdgeLoop.h Pair.h \ - GRegion.h MPoint.h MElement.h ../Common/GmshDefines.h MVertex.h MEdge.h \ - MFace.h ../Numeric/FunctionSpace.h ../Numeric/GmshMatrix.h \ - ../Common/GmshConfig.h ../Common/GmshMessage.h ../Numeric/Gauss.h \ + SOrientedBoundingBox.h SVector3.h SPoint2.h Pair.h GPoint.h GEdge.h \ + GFace.h GEdgeLoop.h GRegion.h MPoint.h MElement.h \ + ../Common/GmshDefines.h MVertex.h MEdge.h MFace.h \ + ../Numeric/FunctionSpace.h ../Numeric/GmshMatrix.h ../Numeric/Gauss.h \ MLine.h MTriangle.h MQuadrangle.h MTetrahedron.h MHexahedron.h MPrism.h \ - MPyramid.h discreteRegion.h discreteFace.h discreteEdge.h \ - discreteVertex.h gmshSurface.h ../Numeric/Numeric.h ../Common/Octree.h \ - ../Common/OctreeInternals.h ../Common/SmoothData.h ../Mesh/Field.h \ - ../Common/GmshConfig.h ../Geo/STensor3.h ../Geo/SVector3.h \ - ../Numeric/GmshMatrix.h ../Numeric/Numeric.h ../Post/PView.h \ - ../Geo/SPoint3.h ../Mesh/Generator.h ../Common/Context.h \ - ../Geo/CGNSOptions.h ../Mesh/meshPartitionOptions.h + MPyramid.h MElementCut.h discreteRegion.h discreteFace.h discreteEdge.h \ + discreteVertex.h gmshSurface.h ../Numeric/Numeric.h \ + ../Numeric/GmshMatrix.h ../Common/Octree.h ../Common/OctreeInternals.h \ + ../Common/SmoothData.h ../Mesh/Field.h ../Geo/STensor3.h \ + ../Geo/SVector3.h ../Post/PView.h ../Geo/SPoint3.h ../Mesh/Generator.h \ + ../Common/Context.h ../Geo/CGNSOptions.h ../Mesh/meshPartitionOptions.h GModelIO_Geo${OBJEXT}: GModelIO_Geo.cpp ../Common/GmshConfig.h \ ../Common/GmshMessage.h GModel.h GVertex.h GEntity.h Range.h SPoint3.h \ - SBoundingBox3d.h GPoint.h SPoint2.h GEdge.h SVector3.h GFace.h \ - GEdgeLoop.h Pair.h GRegion.h Geo.h ../Common/GmshDefines.h \ - gmshSurface.h ../Numeric/Numeric.h ../Numeric/GmshMatrix.h \ - ../Common/ListUtils.h ../Common/TreeUtils.h ../Common/avl.h \ - ../Common/ListUtils.h ExtrudeParams.h ../Common/SmoothData.h \ - ../Common/OpenFile.h gmshVertex.h gmshFace.h GFaceCompound.h \ - GEdgeCompound.h GRegionCompound.h gmshEdge.h gmshRegion.h \ - ../Mesh/Field.h ../Geo/STensor3.h ../Geo/SVector3.h ../Post/PView.h \ - ../Geo/SPoint3.h ../Parser/Parser.h + SBoundingBox3d.h SOrientedBoundingBox.h SVector3.h SPoint2.h Pair.h \ + GPoint.h GEdge.h GFace.h GEdgeLoop.h GRegion.h Geo.h \ + ../Common/GmshDefines.h gmshSurface.h ../Numeric/Numeric.h \ + ../Numeric/GmshMatrix.h ../Common/ListUtils.h ../Common/TreeUtils.h \ + ../Common/avl.h ../Common/ListUtils.h ExtrudeParams.h \ + ../Common/SmoothData.h ../Common/OpenFile.h gmshVertex.h gmshFace.h \ + GFaceCompound.h GEdgeCompound.h GRegionCompound.h gmshEdge.h \ + gmshRegion.h ../Mesh/Field.h ../Geo/STensor3.h ../Geo/SVector3.h \ + ../Post/PView.h ../Geo/SPoint3.h ../Parser/Parser.h GModelIO_Mesh${OBJEXT}: GModelIO_Mesh.cpp GModel.h GVertex.h GEntity.h Range.h \ - SPoint3.h SBoundingBox3d.h GPoint.h SPoint2.h GEdge.h SVector3.h \ - GFace.h GEdgeLoop.h Pair.h GRegion.h ../Common/GmshDefines.h MPoint.h \ - MElement.h MVertex.h MEdge.h MFace.h ../Common/GmshMessage.h \ - ../Numeric/FunctionSpace.h ../Numeric/GmshMatrix.h \ - ../Common/GmshConfig.h ../Numeric/Gauss.h MLine.h MTriangle.h \ - MQuadrangle.h MTetrahedron.h MHexahedron.h MPrism.h MPyramid.h \ - ../Common/StringUtils.h discreteVertex.h discreteEdge.h discreteFace.h \ - discreteRegion.h GEdgeCompound.h GFaceCompound.h + SPoint3.h SBoundingBox3d.h SOrientedBoundingBox.h SVector3.h SPoint2.h \ + Pair.h GPoint.h GEdge.h GFace.h GEdgeLoop.h GRegion.h \ + ../Common/GmshDefines.h MPoint.h MElement.h MVertex.h MEdge.h MFace.h \ + ../Common/GmshMessage.h ../Numeric/FunctionSpace.h \ + ../Numeric/GmshMatrix.h ../Common/GmshConfig.h ../Numeric/Gauss.h \ + MLine.h MTriangle.h MQuadrangle.h MTetrahedron.h MHexahedron.h MPrism.h \ + MPyramid.h MElementCut.h ../Common/StringUtils.h discreteVertex.h \ + discreteEdge.h discreteFace.h discreteRegion.h GEdgeCompound.h \ + GFaceCompound.h GModelIO_OCC${OBJEXT}: GModelIO_OCC.cpp ../Common/GmshConfig.h \ ../Common/GmshMessage.h GModelIO_OCC.h GModel.h GVertex.h GEntity.h \ - Range.h SPoint3.h SBoundingBox3d.h GPoint.h SPoint2.h GEdge.h \ - SVector3.h GFace.h GEdgeLoop.h Pair.h GRegion.h OCCIncludes.h \ - ../Common/Context.h ../Geo/CGNSOptions.h ../Mesh/meshPartitionOptions.h \ - OCCVertex.h OCCEdge.h OCCFace.h OCCRegion.h MElement.h \ - ../Common/GmshDefines.h MVertex.h MEdge.h MFace.h \ - ../Numeric/FunctionSpace.h ../Numeric/GmshMatrix.h ../Numeric/Gauss.h \ - MLine.h ../Common/OpenFile.h OCC_Connect.h + Range.h SPoint3.h SBoundingBox3d.h SOrientedBoundingBox.h SVector3.h \ + SPoint2.h Pair.h GPoint.h GEdge.h GFace.h GEdgeLoop.h GRegion.h \ + OCCIncludes.h ../Common/Context.h ../Geo/CGNSOptions.h \ + ../Mesh/meshPartitionOptions.h OCCVertex.h OCCEdge.h OCCFace.h \ + OCCRegion.h MElement.h ../Common/GmshDefines.h MVertex.h MEdge.h \ + MFace.h ../Numeric/FunctionSpace.h ../Numeric/GmshMatrix.h \ + ../Numeric/Gauss.h MLine.h ../Common/OpenFile.h OCC_Connect.h OCC_Connect${OBJEXT}: OCC_Connect.cpp OCC_Connect.h ../Common/GmshConfig.h GModelIO_Fourier${OBJEXT}: GModelIO_Fourier.cpp ../Common/GmshConfig.h \ ../Common/GmshMessage.h GModel.h GVertex.h GEntity.h Range.h SPoint3.h \ - SBoundingBox3d.h GPoint.h SPoint2.h GEdge.h SVector3.h GFace.h \ - GEdgeLoop.h Pair.h GRegion.h fourierVertex.h MVertex.h fourierEdge.h \ - fourierFace.h GModelIO_Fourier.h + SBoundingBox3d.h SOrientedBoundingBox.h SVector3.h SPoint2.h Pair.h \ + GPoint.h GEdge.h GFace.h GEdgeLoop.h GRegion.h fourierVertex.h \ + MVertex.h fourierEdge.h fourierFace.h GModelIO_Fourier.h GModelIO_CGNS${OBJEXT}: GModelIO_CGNS.cpp ../Common/GmshConfig.h \ ../Common/GmshMessage.h GModel.h GVertex.h GEntity.h Range.h SPoint3.h \ - SBoundingBox3d.h GPoint.h SPoint2.h GEdge.h SVector3.h GFace.h \ - GEdgeLoop.h Pair.h GRegion.h CGNSOptions.h + SBoundingBox3d.h SOrientedBoundingBox.h SVector3.h SPoint2.h Pair.h \ + GPoint.h GEdge.h GFace.h GEdgeLoop.h GRegion.h CGNSOptions.h GModelIO_MED${OBJEXT}: GModelIO_MED.cpp ../Common/GmshConfig.h \ ../Common/GmshMessage.h GModel.h GVertex.h GEntity.h Range.h SPoint3.h \ - SBoundingBox3d.h GPoint.h SPoint2.h GEdge.h SVector3.h GFace.h \ - GEdgeLoop.h Pair.h GRegion.h + SBoundingBox3d.h SOrientedBoundingBox.h SVector3.h SPoint2.h Pair.h \ + GPoint.h GEdge.h GFace.h GEdgeLoop.h GRegion.h ExtrudeParams${OBJEXT}: ExtrudeParams.cpp ../Common/GmshMessage.h Geo.h \ ../Common/GmshDefines.h gmshSurface.h Pair.h Range.h SPoint2.h \ SPoint3.h SVector3.h SBoundingBox3d.h ../Numeric/Numeric.h \ - ../Numeric/GmshMatrix.h ../Common/GmshConfig.h ../Common/GmshMessage.h \ - ../Common/ListUtils.h ../Common/TreeUtils.h ../Common/avl.h \ - ../Common/ListUtils.h ExtrudeParams.h ../Common/SmoothData.h + ../Numeric/GmshMatrix.h ../Common/GmshConfig.h ../Common/ListUtils.h \ + ../Common/TreeUtils.h ../Common/avl.h ../Common/ListUtils.h \ + ExtrudeParams.h ../Common/SmoothData.h Geo${OBJEXT}: Geo.cpp ../Common/GmshMessage.h ../Numeric/Numeric.h \ - ../Numeric/GmshMatrix.h ../Common/GmshConfig.h ../Common/GmshMessage.h \ - ../Common/MallocUtils.h Geo.h ../Common/GmshDefines.h gmshSurface.h \ - Pair.h Range.h SPoint2.h SPoint3.h SVector3.h SBoundingBox3d.h \ - ../Common/ListUtils.h ../Common/TreeUtils.h ../Common/avl.h \ - ../Common/ListUtils.h ExtrudeParams.h ../Common/SmoothData.h GModel.h \ - GVertex.h GEntity.h GPoint.h GEdge.h GFace.h GEdgeLoop.h GRegion.h \ - GeoInterpolation.h ../Mesh/Field.h ../Common/GmshConfig.h \ - ../Geo/STensor3.h ../Geo/SVector3.h ../Numeric/GmshMatrix.h \ - ../Numeric/Numeric.h ../Post/PView.h ../Geo/SPoint3.h \ - ../Common/Context.h ../Geo/CGNSOptions.h ../Mesh/meshPartitionOptions.h -GeoStringInterface${OBJEXT}: GeoStringInterface.cpp ../Common/GmshConfig.h \ - ../Common/GmshMessage.h ../Numeric/Numeric.h ../Numeric/GmshMatrix.h \ - ../Common/GmshConfig.h ../Common/GmshMessage.h ../Common/StringUtils.h \ + ../Numeric/GmshMatrix.h ../Common/GmshConfig.h ../Common/MallocUtils.h \ Geo.h ../Common/GmshDefines.h gmshSurface.h Pair.h Range.h SPoint2.h \ SPoint3.h SVector3.h SBoundingBox3d.h ../Common/ListUtils.h \ ../Common/TreeUtils.h ../Common/avl.h ../Common/ListUtils.h \ - ExtrudeParams.h ../Common/SmoothData.h GeoStringInterface.h \ - ../Common/OpenFile.h ../Common/Context.h ../Geo/CGNSOptions.h \ - ../Mesh/meshPartitionOptions.h GModel.h GVertex.h GEntity.h GPoint.h \ - GEdge.h GFace.h GEdgeLoop.h GRegion.h ../Parser/Parser.h + ExtrudeParams.h ../Common/SmoothData.h GModel.h GVertex.h GEntity.h \ + SOrientedBoundingBox.h GPoint.h GEdge.h GFace.h GEdgeLoop.h GRegion.h \ + GeoInterpolation.h ../Mesh/Field.h ../Geo/STensor3.h ../Geo/SVector3.h \ + ../Post/PView.h ../Geo/SPoint3.h ../Common/Context.h \ + ../Geo/CGNSOptions.h ../Mesh/meshPartitionOptions.h +GeoStringInterface${OBJEXT}: GeoStringInterface.cpp ../Common/GmshConfig.h \ + ../Common/GmshMessage.h ../Numeric/Numeric.h ../Numeric/GmshMatrix.h \ + ../Common/StringUtils.h Geo.h ../Common/GmshDefines.h gmshSurface.h \ + Pair.h Range.h SPoint2.h SPoint3.h SVector3.h SBoundingBox3d.h \ + ../Common/ListUtils.h ../Common/TreeUtils.h ../Common/avl.h \ + ../Common/ListUtils.h ExtrudeParams.h ../Common/SmoothData.h \ + GeoStringInterface.h ../Common/OpenFile.h ../Common/Context.h \ + ../Geo/CGNSOptions.h ../Mesh/meshPartitionOptions.h GModel.h GVertex.h \ + GEntity.h SOrientedBoundingBox.h GPoint.h GEdge.h GFace.h GEdgeLoop.h \ + GRegion.h ../Parser/Parser.h GeoInterpolation${OBJEXT}: GeoInterpolation.cpp ../Common/GmshMessage.h Geo.h \ ../Common/GmshDefines.h gmshSurface.h Pair.h Range.h SPoint2.h \ SPoint3.h SVector3.h SBoundingBox3d.h ../Numeric/Numeric.h \ - ../Numeric/GmshMatrix.h ../Common/GmshConfig.h ../Common/GmshMessage.h \ - ../Common/ListUtils.h ../Common/TreeUtils.h ../Common/avl.h \ - ../Common/ListUtils.h ExtrudeParams.h ../Common/SmoothData.h \ - GeoInterpolation.h GeoStringInterface.h ../Common/Context.h \ - ../Geo/CGNSOptions.h ../Mesh/meshPartitionOptions.h + ../Numeric/GmshMatrix.h ../Common/GmshConfig.h ../Common/ListUtils.h \ + ../Common/TreeUtils.h ../Common/avl.h ../Common/ListUtils.h \ + ExtrudeParams.h ../Common/SmoothData.h GeoInterpolation.h \ + GeoStringInterface.h ../Common/Context.h ../Geo/CGNSOptions.h \ + ../Mesh/meshPartitionOptions.h findLinks${OBJEXT}: findLinks.cpp ../Common/GmshMessage.h GModel.h GVertex.h \ - GEntity.h Range.h SPoint3.h SBoundingBox3d.h GPoint.h SPoint2.h GEdge.h \ - SVector3.h GFace.h GEdgeLoop.h Pair.h GRegion.h ../Common/TreeUtils.h \ - ../Common/avl.h ../Common/ListUtils.h ../Common/ListUtils.h + GEntity.h Range.h SPoint3.h SBoundingBox3d.h SOrientedBoundingBox.h \ + SVector3.h SPoint2.h Pair.h GPoint.h GEdge.h GFace.h GEdgeLoop.h \ + GRegion.h ../Common/TreeUtils.h ../Common/avl.h ../Common/ListUtils.h +SOrientedBoundingBox${OBJEXT}: SOrientedBoundingBox.cpp SOrientedBoundingBox.h \ + SVector3.h SPoint3.h SPoint2.h Pair.h ../Numeric/GmshMatrix.h \ + ../Common/GmshConfig.h ../Common/GmshMessage.h \ + ../Mesh/DivideAndConquer.h SBoundingBox3d.h +GeomMeshMatcher${OBJEXT}: GeomMeshMatcher.cpp GeomMeshMatcher.h GModel.h \ + GVertex.h GEntity.h Range.h SPoint3.h SBoundingBox3d.h \ + SOrientedBoundingBox.h SVector3.h SPoint2.h Pair.h GPoint.h GEdge.h \ + GFace.h GEdgeLoop.h GRegion.h discreteVertex.h MVertex.h \ + ../Common/GmshMessage.h MVertex${OBJEXT}: MVertex.cpp MVertex.h SPoint2.h SPoint3.h GVertex.h GEntity.h \ - Range.h SBoundingBox3d.h GPoint.h GEdge.h SVector3.h GFace.h \ - GEdgeLoop.h Pair.h GFaceCompound.h GEdgeCompound.h \ + Range.h SBoundingBox3d.h SOrientedBoundingBox.h SVector3.h Pair.h \ + GPoint.h GEdge.h GFace.h GEdgeLoop.h GFaceCompound.h GEdgeCompound.h \ ../Common/GmshMessage.h ../Common/StringUtils.h MFace${OBJEXT}: MFace.cpp ../Common/GmshConfig.h MFace.h MVertex.h SPoint2.h \ - SPoint3.h MEdge.h SVector3.h ../Numeric/Numeric.h \ - ../Numeric/GmshMatrix.h ../Common/GmshConfig.h ../Common/GmshMessage.h \ - ../Common/Context.h ../Geo/CGNSOptions.h ../Mesh/meshPartitionOptions.h + SPoint3.h MEdge.h SVector3.h ../Common/GmshMessage.h \ + ../Numeric/Numeric.h ../Numeric/GmshMatrix.h ../Common/Context.h \ + ../Geo/CGNSOptions.h ../Mesh/meshPartitionOptions.h MElement${OBJEXT}: MElement.cpp ../Common/GmshConfig.h ../Common/GmshMessage.h \ MElement.h ../Common/GmshDefines.h MVertex.h SPoint2.h SPoint3.h \ MEdge.h SVector3.h MFace.h ../Numeric/FunctionSpace.h \ - ../Numeric/GmshMatrix.h ../Common/GmshConfig.h ../Common/GmshMessage.h \ - ../Numeric/Gauss.h MPoint.h MLine.h MTriangle.h MQuadrangle.h \ - MTetrahedron.h MHexahedron.h MPrism.h MPyramid.h GEntity.h Range.h \ - SBoundingBox3d.h GFace.h GPoint.h GEdgeLoop.h GEdge.h GVertex.h Pair.h \ - ../Common/StringUtils.h ../Numeric/Numeric.h ../Common/Context.h \ - ../Geo/CGNSOptions.h ../Mesh/meshPartitionOptions.h + ../Numeric/GmshMatrix.h ../Numeric/Gauss.h MPoint.h MLine.h MTriangle.h \ + MQuadrangle.h MTetrahedron.h MHexahedron.h MPrism.h MPyramid.h \ + MElementCut.h GEntity.h Range.h SBoundingBox3d.h SOrientedBoundingBox.h \ + Pair.h GFace.h GPoint.h GEdgeLoop.h GEdge.h GVertex.h \ + ../Common/StringUtils.h ../Numeric/Numeric.h ../Numeric/GmshMatrix.h \ + ../Common/Context.h ../Geo/CGNSOptions.h ../Mesh/meshPartitionOptions.h MLine${OBJEXT}: MLine.cpp MLine.h MElement.h ../Common/GmshDefines.h MVertex.h \ SPoint2.h SPoint3.h MEdge.h SVector3.h MFace.h ../Common/GmshMessage.h \ ../Numeric/FunctionSpace.h ../Numeric/GmshMatrix.h \ - ../Common/GmshConfig.h ../Common/GmshMessage.h ../Numeric/Gauss.h \ - ../Numeric/GaussLegendre1D.h ../Common/Context.h ../Geo/CGNSOptions.h \ - ../Mesh/meshPartitionOptions.h ../Mesh/qualityMeasures.h + ../Common/GmshConfig.h ../Numeric/Gauss.h ../Numeric/GaussLegendre1D.h \ + ../Common/Context.h ../Geo/CGNSOptions.h ../Mesh/meshPartitionOptions.h \ + ../Mesh/qualityMeasures.h MTriangle${OBJEXT}: MTriangle.cpp MTriangle.h MElement.h ../Common/GmshDefines.h \ MVertex.h SPoint2.h SPoint3.h MEdge.h SVector3.h MFace.h \ ../Common/GmshMessage.h ../Numeric/FunctionSpace.h \ - ../Numeric/GmshMatrix.h ../Common/GmshConfig.h ../Common/GmshMessage.h \ - ../Numeric/Gauss.h ../Numeric/Numeric.h ../Common/Context.h \ + ../Numeric/GmshMatrix.h ../Common/GmshConfig.h ../Numeric/Gauss.h \ + ../Numeric/Numeric.h ../Numeric/GmshMatrix.h ../Common/Context.h \ ../Geo/CGNSOptions.h ../Mesh/meshPartitionOptions.h \ ../Mesh/qualityMeasures.h MQuadrangle${OBJEXT}: MQuadrangle.cpp MQuadrangle.h MElement.h \ ../Common/GmshDefines.h MVertex.h SPoint2.h SPoint3.h MEdge.h \ SVector3.h MFace.h ../Common/GmshMessage.h ../Numeric/FunctionSpace.h \ - ../Numeric/GmshMatrix.h ../Common/GmshConfig.h ../Common/GmshMessage.h \ - ../Numeric/Gauss.h ../Numeric/GaussLegendre1D.h ../Common/Context.h \ + ../Numeric/GmshMatrix.h ../Common/GmshConfig.h ../Numeric/Gauss.h \ + ../Numeric/GaussLegendre1D.h ../Common/Context.h ../Geo/CGNSOptions.h \ + ../Mesh/meshPartitionOptions.h ../Mesh/qualityMeasures.h +MTetrahedron${OBJEXT}: MTetrahedron.cpp MTetrahedron.h MElement.h \ + ../Common/GmshDefines.h MVertex.h SPoint2.h SPoint3.h MEdge.h \ + SVector3.h MFace.h ../Common/GmshMessage.h ../Numeric/FunctionSpace.h \ + ../Numeric/GmshMatrix.h ../Common/GmshConfig.h ../Numeric/Gauss.h \ + ../Numeric/Numeric.h ../Numeric/GmshMatrix.h ../Common/Context.h \ ../Geo/CGNSOptions.h ../Mesh/meshPartitionOptions.h \ + ../Mesh/qualityMeasures.h ../Mesh/meshGFaceDelaunayInsertion.h \ + ../Geo/MTriangle.h ../Geo/MElement.h ../Geo/STensor3.h \ + ../Geo/SVector3.h ../Mesh/meshGRegionDelaunayInsertion.h \ + ../Geo/MTetrahedron.h ../Mesh/BackgroundMesh.h \ ../Mesh/qualityMeasures.h -MTetrahedron${OBJEXT}: MTetrahedron.cpp MTetrahedron.h MElement.h MTriangle.h \ - ../Common/GmshDefines.h MVertex.h SPoint2.h SPoint3.h MEdge.h STensor3.h \ - SVector3.h MFace.h ../Common/GmshMessage.h ../Numeric/FunctionSpace.h \ - ../Numeric/GmshMatrix.h ../Common/GmshConfig.h ../Common/GmshMessage.h \ - ../Numeric/Gauss.h ../Numeric/Numeric.h ../Common/Context.h \ - CGNSOptions.h ../Mesh/meshPartitionOptions.h ../Mesh/qualityMeasures.h \ - ../Mesh/meshGFaceDelaunayInsertion.h ../Mesh/meshGRegionDelaunayInsertion.h \ - ../Mesh/BackgroundMesh.h ../Mesh/qualityMeasures.h MHexahedron${OBJEXT}: MHexahedron.cpp MHexahedron.h MElement.h \ ../Common/GmshDefines.h MVertex.h SPoint2.h SPoint3.h MEdge.h \ SVector3.h MFace.h ../Common/GmshMessage.h ../Numeric/FunctionSpace.h \ - ../Numeric/GmshMatrix.h ../Common/GmshConfig.h ../Common/GmshMessage.h \ - ../Numeric/Gauss.h ../Numeric/Numeric.h + ../Numeric/GmshMatrix.h ../Common/GmshConfig.h ../Numeric/Gauss.h \ + ../Numeric/Numeric.h ../Numeric/GmshMatrix.h MPrism${OBJEXT}: MPrism.cpp MPrism.h MElement.h ../Common/GmshDefines.h \ MVertex.h SPoint2.h SPoint3.h MEdge.h SVector3.h MFace.h \ ../Common/GmshMessage.h ../Numeric/FunctionSpace.h \ - ../Numeric/GmshMatrix.h ../Common/GmshConfig.h ../Common/GmshMessage.h \ - ../Numeric/Gauss.h ../Numeric/Numeric.h + ../Numeric/GmshMatrix.h ../Common/GmshConfig.h ../Numeric/Gauss.h \ + ../Numeric/Numeric.h ../Numeric/GmshMatrix.h MPyramid${OBJEXT}: MPyramid.cpp MPyramid.h MElement.h ../Common/GmshDefines.h \ MVertex.h SPoint2.h SPoint3.h MEdge.h SVector3.h MFace.h \ ../Common/GmshMessage.h ../Numeric/FunctionSpace.h \ ../Numeric/GmshMatrix.h ../Common/GmshConfig.h ../Numeric/Gauss.h \ ../Numeric/Numeric.h ../Numeric/GmshMatrix.h -MElementCut${OBJECT}: MElementCut.cpp MElementCut.h MElement.h \ - ../Common/GmshDefines.h MVertex.h SPoint2.h SPoint3.h MEdge.h \ - SVector3.h MFace.h ../Common/GmshMessage.h ../Numeric/FunctionSpace.h \ +MElementCut${OBJEXT}: MElementCut.cpp GModel.h GVertex.h GEntity.h Range.h \ + SPoint3.h SBoundingBox3d.h SOrientedBoundingBox.h SVector3.h SPoint2.h \ + Pair.h GPoint.h GEdge.h GFace.h GEdgeLoop.h GRegion.h MElement.h \ + ../Common/GmshDefines.h MVertex.h MEdge.h MFace.h \ + ../Common/GmshMessage.h ../Numeric/FunctionSpace.h \ ../Numeric/GmshMatrix.h ../Common/GmshConfig.h ../Numeric/Gauss.h \ - ../Numeric/Numeric.h ../Numeric/GmshMatrix.h \ - MTetrahedron.h MTriangle.h MLine.h + MElementCut.h MTetrahedron.h MTriangle.h MLine.h MZone${OBJEXT}: MZone.cpp ../Common/GmshConfig.h MZoneBoundary${OBJEXT}: MZoneBoundary.cpp ../Common/GmshConfig.h CellComplex${OBJEXT}: CellComplex.cpp CellComplex.h ../Common/GmshConfig.h \ MElement.h ../Common/GmshDefines.h MVertex.h SPoint2.h SPoint3.h \ MEdge.h SVector3.h MFace.h ../Common/GmshMessage.h \ - ../Numeric/FunctionSpace.h ../Numeric/GmshMatrix.h \ - ../Common/GmshConfig.h ../Common/GmshMessage.h ../Numeric/Gauss.h \ - GModel.h GVertex.h GEntity.h Range.h SBoundingBox3d.h GPoint.h GEdge.h \ - GFace.h GEdgeLoop.h Pair.h GRegion.h + ../Numeric/FunctionSpace.h ../Numeric/GmshMatrix.h ../Numeric/Gauss.h \ + MPoint.h MLine.h MTriangle.h MTetrahedron.h GModel.h GVertex.h \ + GEntity.h Range.h SBoundingBox3d.h SOrientedBoundingBox.h Pair.h \ + GPoint.h GEdge.h GFace.h GEdgeLoop.h GRegion.h ChainComplex${OBJEXT}: ChainComplex.cpp ChainComplex.h ../Common/GmshConfig.h \ MElement.h ../Common/GmshDefines.h MVertex.h SPoint2.h SPoint3.h \ MEdge.h SVector3.h MFace.h ../Common/GmshMessage.h \ - ../Numeric/FunctionSpace.h ../Numeric/GmshMatrix.h \ - ../Common/GmshConfig.h ../Common/GmshMessage.h ../Numeric/Gauss.h \ - GModel.h GVertex.h GEntity.h Range.h SBoundingBox3d.h GPoint.h GEdge.h \ - GFace.h GEdgeLoop.h Pair.h GRegion.h CellComplex.h -STensor3${OBJEXT}: STensor3.cpp STensor3.h SVector3.h SPoint3.h \ - ../Numeric/GmshMatrix.h ../Common/GmshConfig.h ../Common/GmshMessage.h \ - ../Numeric/Numeric.h ../Numeric/GmshMatrix.h -Homology${OBJEXT}: Homology.cpp Homology.h CellComplex.h ChainComplex.h + ../Numeric/FunctionSpace.h ../Numeric/GmshMatrix.h ../Numeric/Gauss.h \ + GModel.h GVertex.h GEntity.h Range.h SBoundingBox3d.h \ + SOrientedBoundingBox.h Pair.h GPoint.h GEdge.h GFace.h GEdgeLoop.h \ + GRegion.h CellComplex.h MPoint.h MLine.h MTriangle.h MTetrahedron.h +Homology${OBJEXT}: Homology.cpp Homology.h CellComplex.h ../Common/GmshConfig.h \ + MElement.h ../Common/GmshDefines.h MVertex.h SPoint2.h SPoint3.h \ + MEdge.h SVector3.h MFace.h ../Common/GmshMessage.h \ + ../Numeric/FunctionSpace.h ../Numeric/GmshMatrix.h ../Numeric/Gauss.h \ + MPoint.h MLine.h MTriangle.h MTetrahedron.h GModel.h GVertex.h \ + GEntity.h Range.h SBoundingBox3d.h SOrientedBoundingBox.h Pair.h \ + GPoint.h GEdge.h GFace.h GEdgeLoop.h GRegion.h ChainComplex.h \ + ../Common/OS.h diff --git a/Graphics/Makefile b/Graphics/Makefile index 832d6f5e2647a1a53d6ee26c1c9ddd4b5acb8ee5..c4853528e475075e91a84b63d296c041aba02df8 100644 --- a/Graphics/Makefile +++ b/Graphics/Makefile @@ -64,26 +64,28 @@ Iso${OBJEXT}: Iso.cpp ../Numeric/Numeric.h ../Numeric/GmshMatrix.h \ ReadImg${OBJEXT}: ReadImg.cpp ReadImg.h ../Common/GmshMessage.h ../Post/PView.h \ ../Geo/SPoint3.h ../Post/PViewDataList.h ../Post/PViewData.h \ ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Numeric/GmshMatrix.h \ - ../Common/GmshConfig.h ../Common/ListUtils.h + ../Common/GmshConfig.h drawContext${OBJEXT}: drawContext.cpp ../Common/GmshConfig.h \ ../Common/GmshMessage.h drawContext.h ../Geo/SBoundingBox3d.h \ ../Geo/SPoint3.h Trackball.h ../Common/Context.h ../Geo/CGNSOptions.h \ ../Mesh/meshPartitionOptions.h ../Numeric/Numeric.h \ ../Numeric/GmshMatrix.h ../Geo/GModel.h ../Geo/GVertex.h \ ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \ - ../Geo/SBoundingBox3d.h ../Geo/GPoint.h ../Geo/SPoint2.h ../Geo/GEdge.h \ - ../Geo/GEntity.h ../Geo/GVertex.h ../Geo/SVector3.h ../Geo/SPoint3.h \ - ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/GFace.h ../Geo/GEntity.h \ - ../Geo/GPoint.h ../Geo/GEdgeLoop.h ../Geo/GEdge.h ../Geo/SPoint2.h \ - ../Geo/SVector3.h ../Geo/Pair.h ../Geo/GRegion.h ../Geo/GEntity.h \ - ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h ../Post/PView.h \ - ../Post/PViewOptions.h ../Post/ColorTable.h gl2ps.h + ../Geo/SBoundingBox3d.h ../Geo/SOrientedBoundingBox.h ../Geo/SVector3.h \ + ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/Pair.h ../Geo/GPoint.h \ + ../Geo/SPoint2.h ../Geo/GEdge.h ../Geo/GEntity.h ../Geo/GVertex.h \ + ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/GFace.h \ + ../Geo/GEntity.h ../Geo/GPoint.h ../Geo/GEdgeLoop.h ../Geo/GEdge.h \ + ../Geo/SPoint2.h ../Geo/SVector3.h ../Geo/Pair.h ../Geo/GRegion.h \ + ../Geo/GEntity.h ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h \ + ../Post/PView.h ../Post/PViewOptions.h ../Post/ColorTable.h gl2ps.h drawMesh${OBJEXT}: drawMesh.cpp drawContext.h ../Geo/SBoundingBox3d.h \ ../Geo/SPoint3.h ../Common/GmshMessage.h ../Common/GmshDefines.h \ ../Geo/GModel.h ../Geo/GVertex.h ../Geo/GEntity.h ../Geo/Range.h \ - ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h ../Geo/GPoint.h \ - ../Geo/SPoint2.h ../Geo/GEdge.h ../Geo/GEntity.h ../Geo/GVertex.h \ - ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint3.h ../Geo/SPoint2.h \ + ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h ../Geo/SOrientedBoundingBox.h \ + ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/Pair.h \ + ../Geo/GPoint.h ../Geo/SPoint2.h ../Geo/GEdge.h ../Geo/GEntity.h \ + ../Geo/GVertex.h ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint2.h \ ../Geo/GFace.h ../Geo/GEntity.h ../Geo/GPoint.h ../Geo/GEdgeLoop.h \ ../Geo/GEdge.h ../Geo/SPoint2.h ../Geo/SVector3.h ../Geo/Pair.h \ ../Geo/GRegion.h ../Geo/GEntity.h ../Geo/SPoint3.h \ @@ -104,12 +106,14 @@ drawGeom${OBJEXT}: drawGeom.cpp drawContext.h ../Geo/SBoundingBox3d.h \ ../Mesh/meshPartitionOptions.h gl2ps.h ../Common/GmshConfig.h \ ../Common/VertexArray.h ../Geo/SVector3.h ../Geo/SPoint3.h \ ../Geo/GModel.h ../Geo/GVertex.h ../Geo/GEntity.h ../Geo/Range.h \ - ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h ../Geo/GPoint.h \ + ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h ../Geo/SOrientedBoundingBox.h \ + ../Geo/SVector3.h ../Geo/SPoint2.h ../Geo/Pair.h ../Geo/GPoint.h \ ../Geo/SPoint2.h ../Geo/GEdge.h ../Geo/GEntity.h ../Geo/GVertex.h \ ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/GFace.h \ ../Geo/GEntity.h ../Geo/GPoint.h ../Geo/GEdgeLoop.h ../Geo/GEdge.h \ ../Geo/SPoint2.h ../Geo/SVector3.h ../Geo/Pair.h ../Geo/GRegion.h \ - ../Geo/GEntity.h ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h + ../Geo/GEntity.h ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h \ + ../Common/GmshMessage.h drawPost${OBJEXT}: drawPost.cpp ../Common/GmshConfig.h ../Common/GmshMessage.h \ drawContext.h ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h \ ../Numeric/Numeric.h ../Numeric/GmshMatrix.h Iso.h ../Post/PView.h \ @@ -120,13 +124,14 @@ drawPost${OBJEXT}: drawPost.cpp ../Common/GmshConfig.h ../Common/GmshMessage.h \ drawAxes${OBJEXT}: drawAxes.cpp drawContext.h ../Geo/SBoundingBox3d.h \ ../Geo/SPoint3.h ../Fltk/Draw.h ../Geo/GModel.h ../Geo/GVertex.h \ ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \ - ../Geo/SBoundingBox3d.h ../Geo/GPoint.h ../Geo/SPoint2.h ../Geo/GEdge.h \ - ../Geo/GEntity.h ../Geo/GVertex.h ../Geo/SVector3.h ../Geo/SPoint3.h \ - ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/GFace.h ../Geo/GEntity.h \ - ../Geo/GPoint.h ../Geo/GEdgeLoop.h ../Geo/GEdge.h ../Geo/SPoint2.h \ - ../Geo/SVector3.h ../Geo/Pair.h ../Geo/GRegion.h ../Geo/GEntity.h \ - ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h ../Common/Context.h \ - ../Geo/CGNSOptions.h ../Mesh/meshPartitionOptions.h \ + ../Geo/SBoundingBox3d.h ../Geo/SOrientedBoundingBox.h ../Geo/SVector3.h \ + ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/Pair.h ../Geo/GPoint.h \ + ../Geo/SPoint2.h ../Geo/GEdge.h ../Geo/GEntity.h ../Geo/GVertex.h \ + ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/GFace.h \ + ../Geo/GEntity.h ../Geo/GPoint.h ../Geo/GEdgeLoop.h ../Geo/GEdge.h \ + ../Geo/SPoint2.h ../Geo/SVector3.h ../Geo/Pair.h ../Geo/GRegion.h \ + ../Geo/GEntity.h ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h \ + ../Common/Context.h ../Geo/CGNSOptions.h ../Mesh/meshPartitionOptions.h \ ../Numeric/Numeric.h ../Numeric/GmshMatrix.h ../Common/GmshConfig.h \ ../Common/GmshMessage.h gl2ps.h drawScales${OBJEXT}: drawScales.cpp drawContext.h ../Geo/SBoundingBox3d.h \ @@ -144,7 +149,8 @@ drawGlyph${OBJEXT}: drawGlyph.cpp drawContext.h ../Geo/SBoundingBox3d.h \ ../Geo/SPoint3.h ../Fltk/Draw.h ../Common/GmshDefines.h \ ../Numeric/Numeric.h ../Numeric/GmshMatrix.h ../Common/GmshConfig.h \ ../Common/GmshMessage.h ../Common/StringUtils.h ../Common/Context.h \ - ../Geo/CGNSOptions.h ../Mesh/meshPartitionOptions.h gl2ps.h + ../Geo/CGNSOptions.h ../Mesh/meshPartitionOptions.h gl2ps.h \ + ../Geo/SVector3.h ../Geo/SPoint3.h gl2ps${OBJEXT}: gl2ps.cpp gl2ps.h ../Common/GmshConfig.h gl2gif${OBJEXT}: gl2gif.cpp ../Common/MallocUtils.h gl2gif.h PixelBuffer.h \ ../Common/GmshConfig.h ../Common/GmshMessage.h ../Fltk/Draw.h diff --git a/Graphics/ReadImg.cpp b/Graphics/ReadImg.cpp index ef174f89f35cfed3f746e78a6a597c4f8d5419c1..74c166c9ec4f64cc9583721fa880c8afa56a1ceb 100644 --- a/Graphics/ReadImg.cpp +++ b/Graphics/ReadImg.cpp @@ -41,7 +41,7 @@ static PViewDataList *Img2Data(Fl_RGB_Image &img_init, int quads=1, return 0; } - PViewDataList *d = new PViewDataList(true); + PViewDataList *d = new PViewDataList(); double z = 0.; for(int i = 0; i < height - 1; i++) { @@ -57,26 +57,26 @@ static PViewDataList *Img2Data(Fl_RGB_Image &img_init, int quads=1, double val3 = (double)a1[j + 1]/255.; double val4 = (double)a[j + 1]/255.; if(quads){ // generate quads - List_Add(d->SQ, &x); List_Add(d->SQ, &x); - List_Add(d->SQ, &x1); List_Add(d->SQ, &x1); - List_Add(d->SQ, &y); List_Add(d->SQ, &y1); - List_Add(d->SQ, &y1); List_Add(d->SQ, &y); - List_Add(d->SQ, &z); List_Add(d->SQ, &z); - List_Add(d->SQ, &z); List_Add(d->SQ, &z); - List_Add(d->SQ, &val1); List_Add(d->SQ, &val2); - List_Add(d->SQ, &val3); List_Add(d->SQ, &val4); + d->SQ.push_back(x); d->SQ.push_back(x); + d->SQ.push_back(x1); d->SQ.push_back(x1); + d->SQ.push_back(y); d->SQ.push_back(y1); + d->SQ.push_back(y1); d->SQ.push_back(y); + d->SQ.push_back(z); d->SQ.push_back(z); + d->SQ.push_back(z); d->SQ.push_back(z); + d->SQ.push_back(val1); d->SQ.push_back(val2); + d->SQ.push_back(val3); d->SQ.push_back(val4); d->NbSQ++; } else{ // generate triangles - List_Add(d->ST, &x); List_Add(d->ST, &x); List_Add(d->ST, &x1); - List_Add(d->ST, &y); List_Add(d->ST, &y1); List_Add(d->ST, &y1); - List_Add(d->ST, &z); List_Add(d->ST, &z); List_Add(d->ST, &z); - List_Add(d->ST, &val1); List_Add(d->ST, &val2); List_Add(d->ST, &val3); + d->ST.push_back(x); d->ST.push_back(x); d->ST.push_back(x1); + d->ST.push_back(y); d->ST.push_back(y1); d->ST.push_back(y1); + d->ST.push_back(z); d->ST.push_back(z); d->ST.push_back(z); + d->ST.push_back(val1); d->ST.push_back(val2); d->ST.push_back(val3); d->NbST++; - List_Add(d->ST, &x); List_Add(d->ST, &x1); List_Add(d->ST, &x1); - List_Add(d->ST, &y); List_Add(d->ST, &y1); List_Add(d->ST, &y); - List_Add(d->ST, &z); List_Add(d->ST, &z); List_Add(d->ST, &z); - List_Add(d->ST, &val1); List_Add(d->ST, &val3); List_Add(d->ST, &val4); + d->ST.push_back(x); d->ST.push_back(x1); d->ST.push_back(x1); + d->ST.push_back(y); d->ST.push_back(y1); d->ST.push_back(y); + d->ST.push_back(z); d->ST.push_back(z); d->ST.push_back(z); + d->ST.push_back(val1); d->ST.push_back(val3); d->ST.push_back(val4); d->NbST++; } } diff --git a/Graphics/drawMesh.cpp b/Graphics/drawMesh.cpp index 417457655b966f55bc8b41ca000a44214612b378..2ab9e6a86ade3239e0735879bacd83bc7dc05c2a 100644 --- a/Graphics/drawMesh.cpp +++ b/Graphics/drawMesh.cpp @@ -930,6 +930,24 @@ class drawMeshGRegion { } }; +static void beginFakeTransparency() +{ + return; + CTX::instance()->color.mesh.triangle = CTX::instance()->packColor(255, 0, 0, 128); + // simple additive blending "a la xpost": + glBlendFunc(GL_SRC_ALPHA, GL_ONE); // glBlendEquation(GL_FUNC_ADD); + // maximum intensity projection "a la volsuite": + // glBlendFunc(GL_ONE, GL_ONE); // glBlendEquation(GL_MAX); + glEnable(GL_BLEND); + glDisable(GL_DEPTH_TEST); +} + +static void endFakeTransparency() +{ + return; + glDisable(GL_BLEND); + glEnable(GL_DEPTH_TEST); +} // Main drawing routine @@ -968,6 +986,8 @@ void drawContext::drawMesh() glDisable((GLenum)(GL_CLIP_PLANE0 + i)); } + const int fakeTransparency = true; + static bool busy = false; if(!busy){ busy = true; @@ -996,8 +1016,11 @@ void drawContext::drawMesh() std::for_each(m->firstVertex(), m->lastVertex(), drawMeshGVertex(this)); if(status >= 1) std::for_each(m->firstEdge(), m->lastEdge(), drawMeshGEdge(this)); - if(status >= 2) + if(status >= 2){ + beginFakeTransparency(); std::for_each(m->firstFace(), m->lastFace(), drawMeshGFace(this)); + endFakeTransparency(); + } if(status >= 3) std::for_each(m->firstRegion(), m->lastRegion(), drawMeshGRegion(this)); } diff --git a/Makefile b/Makefile index 15e224d64cccdc0652e88ab0327dd1177266b8a6..fdb0a6fdbb1b3553ac716de58f05ffec6c2fa5af 100644 --- a/Makefile +++ b/Makefile @@ -6,8 +6,8 @@ include variables GMSH_MAJOR_VERSION = 2 -GMSH_MINOR_VERSION = 3 -GMSH_PATCH_VERSION = 2 +GMSH_MINOR_VERSION = 4 +GMSH_PATCH_VERSION = 0 GMSH_EXTRA_VERSION = "" GMSH_VERSION =\ diff --git a/Mesh/Makefile b/Mesh/Makefile index 01b5b77dbc6764ca585b054ce2762425a1a44c5a..793453aa079ffab397ab82b7d48f6a6340570d4a 100644 --- a/Mesh/Makefile +++ b/Mesh/Makefile @@ -80,21 +80,22 @@ Generator${OBJEXT}: Generator.cpp ../Common/GmshConfig.h ../Common/GmshMessage.h ../Geo/CGNSOptions.h ../Mesh/meshPartitionOptions.h ../Common/OS.h \ ../Geo/GModel.h ../Geo/GVertex.h ../Geo/GEntity.h ../Geo/Range.h \ ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h \ - ../Geo/GPoint.h ../Geo/SPoint2.h ../Geo/GEdge.h ../Geo/GEntity.h \ - ../Geo/GVertex.h ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint3.h \ - ../Geo/SPoint2.h ../Geo/GFace.h ../Geo/GEntity.h ../Geo/GPoint.h \ - ../Geo/GEdgeLoop.h ../Geo/GEdge.h ../Geo/SPoint2.h ../Geo/SVector3.h \ - ../Geo/Pair.h ../Geo/GRegion.h ../Geo/GEntity.h ../Geo/SPoint3.h \ - ../Geo/SBoundingBox3d.h ../Geo/MLine.h ../Geo/MElement.h \ - ../Common/GmshDefines.h ../Geo/MVertex.h ../Geo/SPoint2.h \ - ../Geo/SPoint3.h ../Geo/MEdge.h ../Geo/MVertex.h ../Geo/SVector3.h \ - ../Geo/MFace.h ../Geo/MVertex.h ../Geo/MEdge.h ../Geo/SVector3.h \ - ../Numeric/FunctionSpace.h ../Numeric/GmshMatrix.h ../Numeric/Gauss.h \ - ../Geo/MTriangle.h ../Geo/MElement.h ../Geo/MQuadrangle.h \ - ../Geo/MElement.h ../Geo/MTetrahedron.h ../Geo/MElement.h \ - ../Geo/MHexahedron.h ../Geo/MElement.h ../Geo/MPrism.h \ - ../Geo/MElement.h ../Geo/MPyramid.h ../Geo/MElement.h meshGEdge.h \ - meshGFace.h meshGFaceBDS.h meshGRegion.h BackgroundMesh.h \ + ../Geo/SOrientedBoundingBox.h ../Geo/SVector3.h ../Geo/SPoint3.h \ + ../Geo/SPoint2.h ../Geo/Pair.h ../Geo/GPoint.h ../Geo/SPoint2.h \ + ../Geo/GEdge.h ../Geo/GEntity.h ../Geo/GVertex.h ../Geo/SVector3.h \ + ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/GFace.h ../Geo/GEntity.h \ + ../Geo/GPoint.h ../Geo/GEdgeLoop.h ../Geo/GEdge.h ../Geo/SPoint2.h \ + ../Geo/SVector3.h ../Geo/Pair.h ../Geo/GRegion.h ../Geo/GEntity.h \ + ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h ../Geo/MLine.h \ + ../Geo/MElement.h ../Common/GmshDefines.h ../Geo/MVertex.h \ + ../Geo/SPoint2.h ../Geo/SPoint3.h ../Geo/MEdge.h ../Geo/MVertex.h \ + ../Geo/SVector3.h ../Geo/MFace.h ../Geo/MVertex.h ../Geo/MEdge.h \ + ../Geo/SVector3.h ../Numeric/FunctionSpace.h ../Numeric/GmshMatrix.h \ + ../Numeric/Gauss.h ../Geo/MTriangle.h ../Geo/MElement.h \ + ../Geo/MQuadrangle.h ../Geo/MElement.h ../Geo/MTetrahedron.h \ + ../Geo/MElement.h ../Geo/MHexahedron.h ../Geo/MElement.h \ + ../Geo/MPrism.h ../Geo/MElement.h ../Geo/MPyramid.h ../Geo/MElement.h \ + meshGEdge.h meshGFace.h meshGFaceBDS.h meshGRegion.h BackgroundMesh.h \ ../Geo/STensor3.h ../Geo/SVector3.h BoundaryLayers.h HighOrder.h \ Generator.h ../Post/PView.h ../Post/PViewData.h Field${OBJEXT}: Field.cpp ../Common/GmshConfig.h \ @@ -109,7 +110,8 @@ Field${OBJEXT}: Field.cpp ../Common/GmshConfig.h \ ../Common/TreeUtils.h ../Common/avl.h ../Common/ListUtils.h \ ../Geo/SPoint2.h ../Geo/ExtrudeParams.h ../Common/SmoothData.h \ ../Geo/GModel.h ../Geo/GVertex.h ../Geo/GEntity.h ../Geo/Range.h \ - ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h ../Geo/GPoint.h \ + ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h ../Geo/SOrientedBoundingBox.h \ + ../Geo/SVector3.h ../Geo/SPoint2.h ../Geo/Pair.h ../Geo/GPoint.h \ ../Geo/SPoint2.h ../Geo/GEdge.h ../Geo/GEntity.h ../Geo/GVertex.h \ ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/GFace.h \ ../Geo/GEntity.h ../Geo/GPoint.h ../Geo/GEdgeLoop.h ../Geo/GEdge.h \ @@ -130,28 +132,30 @@ gmshSmoothHighOrder${OBJEXT}: gmshSmoothHighOrder.cpp ../Geo/MLine.h \ ../Geo/MElement.h ../Geo/MPrism.h ../Geo/MElement.h ../Geo/MPyramid.h \ ../Geo/MElement.h HighOrder.h ../Geo/GModel.h ../Geo/GVertex.h \ ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \ - ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/GPoint.h \ + ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/SOrientedBoundingBox.h \ + ../Geo/SVector3.h ../Geo/SPoint2.h ../Geo/Pair.h ../Geo/GPoint.h \ ../Geo/SPoint2.h ../Geo/GEdge.h ../Geo/GEntity.h ../Geo/GVertex.h \ ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/GFace.h \ ../Geo/GEntity.h ../Geo/GPoint.h ../Geo/GEdgeLoop.h ../Geo/GEdge.h \ ../Geo/SPoint2.h ../Geo/SVector3.h ../Geo/Pair.h ../Geo/GRegion.h \ ../Geo/GEntity.h ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h \ - meshGFaceOptimize.h meshGFaceDelaunayInsertion.h gmshSmoothHighOrder.h \ - ../Numeric/gmshAssembler.h ../Numeric/gmshLinearSystem.h \ - ../Numeric/gmshLaplace.h ../Numeric/gmshTermOfFormulation.h \ - ../Numeric/GmshMatrix.h ../Numeric/gmshFunction.h \ - ../Numeric/gmshAssembler.h ../Numeric/gmshFunction.h ../Common/Gmsh.h \ - ../Common/GmshMessage.h ../Numeric/GmshMatrix.h \ - ../Numeric/gmshElasticity.h ../Numeric/gmshTermOfFormulation.h \ - ../Numeric/GmshMatrix.h ../Numeric/gmshLinearSystemGmm.h \ - ../Numeric/gmshLinearSystem.h ../Common/Context.h ../Geo/CGNSOptions.h \ - ../Mesh/meshPartitionOptions.h ../Numeric/Numeric.h \ - ../Numeric/GmshMatrix.h + meshGFaceOptimize.h meshGFaceDelaunayInsertion.h ../Geo/STensor3.h \ + ../Geo/SVector3.h ../Numeric/Numeric.h ../Numeric/GmshMatrix.h \ + gmshSmoothHighOrder.h ../Numeric/gmshAssembler.h \ + ../Numeric/gmshLinearSystem.h ../Numeric/gmshLaplace.h \ + ../Numeric/gmshTermOfFormulation.h ../Numeric/GmshMatrix.h \ + ../Numeric/gmshFunction.h ../Numeric/gmshAssembler.h \ + ../Numeric/gmshFunction.h ../Common/Gmsh.h ../Common/GmshMessage.h \ + ../Numeric/GmshMatrix.h ../Numeric/gmshElasticity.h \ + ../Numeric/gmshTermOfFormulation.h ../Numeric/GmshMatrix.h \ + ../Numeric/gmshLinearSystemGmm.h ../Numeric/gmshLinearSystem.h \ + ../Common/Context.h ../Geo/CGNSOptions.h ../Mesh/meshPartitionOptions.h meshGEdge${OBJEXT}: meshGEdge.cpp ../Geo/GModel.h ../Geo/GVertex.h \ ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \ - ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/GPoint.h \ - ../Geo/SPoint2.h ../Geo/GEdge.h ../Geo/GEntity.h ../Geo/GVertex.h \ - ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint3.h ../Geo/SPoint2.h \ + ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/SOrientedBoundingBox.h \ + ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/Pair.h \ + ../Geo/GPoint.h ../Geo/SPoint2.h ../Geo/GEdge.h ../Geo/GEntity.h \ + ../Geo/GVertex.h ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint2.h \ ../Geo/GFace.h ../Geo/GEntity.h ../Geo/GPoint.h ../Geo/GEdgeLoop.h \ ../Geo/GEdge.h ../Geo/SPoint2.h ../Geo/SVector3.h ../Geo/Pair.h \ ../Geo/GRegion.h ../Geo/GEntity.h ../Geo/SPoint3.h \ @@ -166,9 +170,10 @@ meshGEdge${OBJEXT}: meshGEdge.cpp ../Geo/GModel.h ../Geo/GVertex.h \ ../Geo/CGNSOptions.h ../Mesh/meshPartitionOptions.h meshGEdgeExtruded${OBJEXT}: meshGEdgeExtruded.cpp ../Geo/GModel.h \ ../Geo/GVertex.h ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \ - ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/GPoint.h \ - ../Geo/SPoint2.h ../Geo/GEdge.h ../Geo/GEntity.h ../Geo/GVertex.h \ - ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint3.h ../Geo/SPoint2.h \ + ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/SOrientedBoundingBox.h \ + ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/Pair.h \ + ../Geo/GPoint.h ../Geo/SPoint2.h ../Geo/GEdge.h ../Geo/GEntity.h \ + ../Geo/GVertex.h ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint2.h \ ../Geo/GFace.h ../Geo/GEntity.h ../Geo/GPoint.h ../Geo/GEdgeLoop.h \ ../Geo/GEdge.h ../Geo/SPoint2.h ../Geo/SVector3.h ../Geo/Pair.h \ ../Geo/GRegion.h ../Geo/GEntity.h ../Geo/SPoint3.h \ @@ -186,27 +191,28 @@ meshGFace${OBJEXT}: meshGFace.cpp meshGFace.h meshGFaceBDS.h \ ../Geo/SPoint3.h ../Geo/MFace.h ../Geo/MVertex.h ../Geo/MEdge.h \ ../Geo/SVector3.h ../Common/GmshMessage.h ../Numeric/FunctionSpace.h \ ../Numeric/GmshMatrix.h ../Common/GmshConfig.h ../Numeric/Gauss.h \ - meshGFaceQuadrilateralize.h meshGFaceOptimize.h DivideAndConquer.h \ - BackgroundMesh.h ../Geo/STensor3.h ../Geo/SVector3.h \ - ../Numeric/Numeric.h ../Numeric/GmshMatrix.h ../Geo/GVertex.h \ - ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \ - ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/GPoint.h \ - ../Geo/SPoint2.h ../Geo/GEdge.h ../Geo/GEntity.h ../Geo/GVertex.h \ - ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint2.h \ - ../Geo/GEdgeCompound.h ../Geo/GFace.h ../Geo/GEntity.h ../Geo/GPoint.h \ - ../Geo/GEdgeLoop.h ../Geo/GEdge.h ../Geo/SPoint2.h ../Geo/SVector3.h \ - ../Geo/Pair.h ../Geo/GEdge.h ../Geo/GModel.h ../Geo/GVertex.h \ - ../Geo/GEdge.h ../Geo/GFace.h ../Geo/GRegion.h ../Geo/GEntity.h \ - ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h ../Geo/MLine.h \ - ../Geo/MElement.h ../Geo/MQuadrangle.h ../Geo/MElement.h \ - ../Common/Context.h ../Geo/CGNSOptions.h ../Mesh/meshPartitionOptions.h \ - BDS.h qualityMeasures.h Field.h ../Post/PView.h ../Common/OS.h \ - HighOrder.h + ../Geo/STensor3.h ../Geo/SVector3.h ../Numeric/Numeric.h \ + ../Numeric/GmshMatrix.h meshGFaceQuadrilateralize.h meshGFaceOptimize.h \ + DivideAndConquer.h BackgroundMesh.h ../Geo/GVertex.h ../Geo/GEntity.h \ + ../Geo/Range.h ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h \ + ../Geo/SPoint3.h ../Geo/SOrientedBoundingBox.h ../Geo/SVector3.h \ + ../Geo/SPoint2.h ../Geo/Pair.h ../Geo/GPoint.h ../Geo/SPoint2.h \ + ../Geo/GEdge.h ../Geo/GEntity.h ../Geo/GVertex.h ../Geo/SVector3.h \ + ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/GEdgeCompound.h ../Geo/GFace.h \ + ../Geo/GEntity.h ../Geo/GPoint.h ../Geo/GEdgeLoop.h ../Geo/GEdge.h \ + ../Geo/SPoint2.h ../Geo/SVector3.h ../Geo/Pair.h ../Geo/GEdge.h \ + ../Geo/GModel.h ../Geo/GVertex.h ../Geo/GEdge.h ../Geo/GFace.h \ + ../Geo/GRegion.h ../Geo/GEntity.h ../Geo/SPoint3.h \ + ../Geo/SBoundingBox3d.h ../Geo/MLine.h ../Geo/MElement.h \ + ../Geo/MQuadrangle.h ../Geo/MElement.h ../Common/Context.h \ + ../Geo/CGNSOptions.h ../Mesh/meshPartitionOptions.h BDS.h \ + qualityMeasures.h Field.h ../Post/PView.h ../Common/OS.h HighOrder.h meshGFaceTransfinite${OBJEXT}: meshGFaceTransfinite.cpp meshGFace.h \ ../Geo/GVertex.h ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \ - ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/GPoint.h \ - ../Geo/SPoint2.h ../Geo/GEdge.h ../Geo/GEntity.h ../Geo/GVertex.h \ - ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint3.h ../Geo/SPoint2.h \ + ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/SOrientedBoundingBox.h \ + ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/Pair.h \ + ../Geo/GPoint.h ../Geo/SPoint2.h ../Geo/GEdge.h ../Geo/GEntity.h \ + ../Geo/GVertex.h ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint2.h \ ../Geo/GFace.h ../Geo/GEntity.h ../Geo/GPoint.h ../Geo/GEdgeLoop.h \ ../Geo/GEdge.h ../Geo/SPoint2.h ../Geo/SVector3.h ../Geo/Pair.h \ ../Geo/MVertex.h ../Geo/SPoint2.h ../Geo/SPoint3.h ../Geo/MTriangle.h \ @@ -220,9 +226,10 @@ meshGFaceTransfinite${OBJEXT}: meshGFaceTransfinite.cpp meshGFace.h \ ../Numeric/Numeric.h ../Numeric/GmshMatrix.h meshGFaceExtruded${OBJEXT}: meshGFaceExtruded.cpp ../Geo/GModel.h \ ../Geo/GVertex.h ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \ - ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/GPoint.h \ - ../Geo/SPoint2.h ../Geo/GEdge.h ../Geo/GEntity.h ../Geo/GVertex.h \ - ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint3.h ../Geo/SPoint2.h \ + ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/SOrientedBoundingBox.h \ + ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/Pair.h \ + ../Geo/GPoint.h ../Geo/SPoint2.h ../Geo/GEdge.h ../Geo/GEntity.h \ + ../Geo/GVertex.h ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint2.h \ ../Geo/GFace.h ../Geo/GEntity.h ../Geo/GPoint.h ../Geo/GEdgeLoop.h \ ../Geo/GEdge.h ../Geo/SPoint2.h ../Geo/SVector3.h ../Geo/Pair.h \ ../Geo/GRegion.h ../Geo/GEntity.h ../Geo/SPoint3.h \ @@ -243,10 +250,11 @@ meshGFaceBDS${OBJEXT}: meshGFaceBDS.cpp ../Common/GmshMessage.h \ ../Geo/MEdge.h ../Geo/SVector3.h ../Numeric/FunctionSpace.h \ ../Numeric/GmshMatrix.h ../Common/GmshConfig.h ../Numeric/Gauss.h \ meshGFaceDelaunayInsertion.h ../Geo/MTriangle.h ../Geo/MElement.h \ - BackgroundMesh.h ../Geo/STensor3.h ../Geo/SVector3.h \ - ../Numeric/Numeric.h ../Numeric/GmshMatrix.h ../Geo/GVertex.h \ + ../Geo/STensor3.h ../Geo/SVector3.h ../Numeric/Numeric.h \ + ../Numeric/GmshMatrix.h BackgroundMesh.h ../Geo/GVertex.h \ ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \ - ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/GPoint.h \ + ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/SOrientedBoundingBox.h \ + ../Geo/SVector3.h ../Geo/SPoint2.h ../Geo/Pair.h ../Geo/GPoint.h \ ../Geo/SPoint2.h ../Geo/GEdge.h ../Geo/GEntity.h ../Geo/GVertex.h \ ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/GFace.h \ ../Geo/GEntity.h ../Geo/GPoint.h ../Geo/GEdgeLoop.h ../Geo/GEdge.h \ @@ -266,7 +274,8 @@ meshGFaceDelaunayInsertion${OBJEXT}: meshGFaceDelaunayInsertion.cpp \ ../Geo/SVector3.h ../Numeric/FunctionSpace.h ../Numeric/GmshMatrix.h \ ../Numeric/Gauss.h meshGFaceOptimize.h meshGFace.h ../Geo/GFace.h \ ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \ - ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/GPoint.h \ + ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/SOrientedBoundingBox.h \ + ../Geo/SVector3.h ../Geo/SPoint2.h ../Geo/Pair.h ../Geo/GPoint.h \ ../Geo/GEdgeLoop.h ../Geo/GEdge.h ../Geo/GEntity.h ../Geo/GVertex.h \ ../Geo/GEntity.h ../Geo/GPoint.h ../Geo/SPoint2.h ../Geo/SVector3.h \ ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/SPoint2.h ../Geo/SVector3.h \ @@ -278,30 +287,32 @@ meshGFaceOptimize${OBJEXT}: meshGFaceOptimize.cpp meshGFaceOptimize.h \ ../Geo/MEdge.h ../Geo/SVector3.h ../Common/GmshMessage.h \ ../Numeric/FunctionSpace.h ../Numeric/GmshMatrix.h \ ../Common/GmshConfig.h ../Numeric/Gauss.h meshGFaceDelaunayInsertion.h \ - ../Geo/MTriangle.h ../Geo/MElement.h qualityMeasures.h ../Geo/GFace.h \ - ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \ - ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/GPoint.h \ - ../Geo/GEdgeLoop.h ../Geo/GEdge.h ../Geo/GEntity.h ../Geo/GVertex.h \ - ../Geo/GEntity.h ../Geo/GPoint.h ../Geo/SPoint2.h ../Geo/SVector3.h \ - ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/SPoint2.h ../Geo/SVector3.h \ - ../Geo/Pair.h ../Geo/MQuadrangle.h ../Geo/MElement.h BackgroundMesh.h \ - ../Geo/STensor3.h ../Geo/SVector3.h ../Numeric/Numeric.h \ - ../Numeric/GmshMatrix.h Generator.h + ../Geo/MTriangle.h ../Geo/MElement.h ../Geo/STensor3.h \ + ../Geo/SVector3.h ../Numeric/Numeric.h ../Numeric/GmshMatrix.h \ + qualityMeasures.h ../Geo/GFace.h ../Geo/GEntity.h ../Geo/Range.h \ + ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h \ + ../Geo/SOrientedBoundingBox.h ../Geo/SVector3.h ../Geo/SPoint2.h \ + ../Geo/Pair.h ../Geo/GPoint.h ../Geo/GEdgeLoop.h ../Geo/GEdge.h \ + ../Geo/GEntity.h ../Geo/GVertex.h ../Geo/GEntity.h ../Geo/GPoint.h \ + ../Geo/SPoint2.h ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint2.h \ + ../Geo/SPoint2.h ../Geo/SVector3.h ../Geo/Pair.h ../Geo/MQuadrangle.h \ + ../Geo/MElement.h BackgroundMesh.h Generator.h meshGFaceQuadrilateralize${OBJEXT}: meshGFaceQuadrilateralize.cpp \ meshGFaceQuadrilateralize.h ../Common/GmshMessage.h \ ../Numeric/Numeric.h ../Numeric/GmshMatrix.h ../Common/GmshConfig.h \ ../Geo/GFace.h ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \ - ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/GPoint.h \ - ../Geo/GEdgeLoop.h ../Geo/GEdge.h ../Geo/GEntity.h ../Geo/GVertex.h \ - ../Geo/GEntity.h ../Geo/GPoint.h ../Geo/SPoint2.h ../Geo/SVector3.h \ - ../Geo/SPoint3.h ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/SPoint2.h \ + ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/SOrientedBoundingBox.h \ + ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/Pair.h \ + ../Geo/GPoint.h ../Geo/GEdgeLoop.h ../Geo/GEdge.h ../Geo/GEntity.h \ + ../Geo/GVertex.h ../Geo/GEntity.h ../Geo/GPoint.h ../Geo/SPoint2.h \ + ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/SPoint2.h \ ../Geo/SVector3.h ../Geo/Pair.h meshGFaceDelaunayInsertion.h \ ../Geo/MTriangle.h ../Geo/MElement.h ../Common/GmshDefines.h \ ../Geo/MVertex.h ../Geo/SPoint2.h ../Geo/SPoint3.h ../Geo/MEdge.h \ ../Geo/MVertex.h ../Geo/SVector3.h ../Geo/MFace.h ../Geo/MVertex.h \ ../Geo/MEdge.h ../Geo/SVector3.h ../Numeric/FunctionSpace.h \ - ../Numeric/GmshMatrix.h ../Numeric/Gauss.h meshGFaceOptimize.h \ - meshGFaceBDS.h BDS.h + ../Numeric/GmshMatrix.h ../Numeric/Gauss.h ../Geo/STensor3.h \ + ../Geo/SVector3.h meshGFaceOptimize.h meshGFaceBDS.h BDS.h meshGRegion${OBJEXT}: meshGRegion.cpp ../Common/GmshConfig.h \ ../Common/GmshMessage.h meshGRegion.h meshGRegionDelaunayInsertion.h \ ../Geo/MTetrahedron.h ../Geo/MElement.h ../Common/GmshDefines.h \ @@ -312,7 +323,8 @@ meshGRegion${OBJEXT}: meshGRegion.cpp ../Common/GmshConfig.h \ ../Numeric/Numeric.h ../Numeric/GmshMatrix.h BackgroundMesh.h \ ../Geo/STensor3.h ../Geo/SVector3.h qualityMeasures.h ../Geo/GModel.h \ ../Geo/GVertex.h ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \ - ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/GPoint.h \ + ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/SOrientedBoundingBox.h \ + ../Geo/SVector3.h ../Geo/SPoint2.h ../Geo/Pair.h ../Geo/GPoint.h \ ../Geo/SPoint2.h ../Geo/GEdge.h ../Geo/GEntity.h ../Geo/GVertex.h \ ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/GFace.h \ ../Geo/GEntity.h ../Geo/GPoint.h ../Geo/GEdgeLoop.h ../Geo/GEdge.h \ @@ -340,18 +352,21 @@ meshGRegionDelaunayInsertion${OBJEXT}: meshGRegionDelaunayInsertion.cpp \ ../Numeric/FunctionSpace.h ../Numeric/GmshMatrix.h ../Numeric/Gauss.h \ qualityMeasures.h ../Geo/GModel.h ../Geo/GVertex.h ../Geo/GEntity.h \ ../Geo/Range.h ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h \ - ../Geo/SPoint3.h ../Geo/GPoint.h ../Geo/SPoint2.h ../Geo/GEdge.h \ - ../Geo/GEntity.h ../Geo/GVertex.h ../Geo/SVector3.h ../Geo/SPoint3.h \ - ../Geo/SPoint2.h ../Geo/GFace.h ../Geo/GEntity.h ../Geo/GPoint.h \ - ../Geo/GEdgeLoop.h ../Geo/GEdge.h ../Geo/SPoint2.h ../Geo/SVector3.h \ - ../Geo/Pair.h ../Geo/GRegion.h ../Geo/GEntity.h ../Geo/SPoint3.h \ - ../Geo/SBoundingBox3d.h ../Geo/MTriangle.h ../Geo/MElement.h + ../Geo/SPoint3.h ../Geo/SOrientedBoundingBox.h ../Geo/SVector3.h \ + ../Geo/SPoint2.h ../Geo/Pair.h ../Geo/GPoint.h ../Geo/SPoint2.h \ + ../Geo/GEdge.h ../Geo/GEntity.h ../Geo/GVertex.h ../Geo/SVector3.h \ + ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/GFace.h ../Geo/GEntity.h \ + ../Geo/GPoint.h ../Geo/GEdgeLoop.h ../Geo/GEdge.h ../Geo/SPoint2.h \ + ../Geo/SVector3.h ../Geo/Pair.h ../Geo/GRegion.h ../Geo/GEntity.h \ + ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h ../Geo/MTriangle.h \ + ../Geo/MElement.h meshGRegionTransfinite${OBJEXT}: meshGRegionTransfinite.cpp meshGFace.h \ ../Geo/GFace.h ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \ - ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/GPoint.h \ - ../Geo/GEdgeLoop.h ../Geo/GEdge.h ../Geo/GEntity.h ../Geo/GVertex.h \ - ../Geo/GEntity.h ../Geo/GPoint.h ../Geo/SPoint2.h ../Geo/SVector3.h \ - ../Geo/SPoint3.h ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/SPoint2.h \ + ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/SOrientedBoundingBox.h \ + ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/Pair.h \ + ../Geo/GPoint.h ../Geo/GEdgeLoop.h ../Geo/GEdge.h ../Geo/GEntity.h \ + ../Geo/GVertex.h ../Geo/GEntity.h ../Geo/GPoint.h ../Geo/SPoint2.h \ + ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/SPoint2.h \ ../Geo/SVector3.h ../Geo/Pair.h ../Geo/GRegion.h ../Geo/GEntity.h \ ../Geo/MVertex.h ../Geo/SPoint2.h ../Geo/SPoint3.h \ ../Geo/MTetrahedron.h ../Geo/MElement.h ../Common/GmshDefines.h \ @@ -364,9 +379,10 @@ meshGRegionTransfinite${OBJEXT}: meshGRegionTransfinite.cpp meshGFace.h \ ../Mesh/meshPartitionOptions.h meshGRegionExtruded${OBJEXT}: meshGRegionExtruded.cpp ../Geo/GModel.h \ ../Geo/GVertex.h ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \ - ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/GPoint.h \ - ../Geo/SPoint2.h ../Geo/GEdge.h ../Geo/GEntity.h ../Geo/GVertex.h \ - ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint3.h ../Geo/SPoint2.h \ + ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/SOrientedBoundingBox.h \ + ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/Pair.h \ + ../Geo/GPoint.h ../Geo/SPoint2.h ../Geo/GEdge.h ../Geo/GEntity.h \ + ../Geo/GVertex.h ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint2.h \ ../Geo/GFace.h ../Geo/GEntity.h ../Geo/GPoint.h ../Geo/GEdgeLoop.h \ ../Geo/GEdge.h ../Geo/SPoint2.h ../Geo/SVector3.h ../Geo/Pair.h \ ../Geo/GRegion.h ../Geo/GEntity.h ../Geo/SPoint3.h \ @@ -384,9 +400,10 @@ meshGRegionExtruded${OBJEXT}: meshGRegionExtruded.cpp ../Geo/GModel.h \ meshGRegionCarveHole${OBJEXT}: meshGRegionCarveHole.cpp ../Common/GmshConfig.h \ ../Common/GmshMessage.h ../Geo/GModel.h ../Geo/GVertex.h \ ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \ - ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/GPoint.h \ - ../Geo/SPoint2.h ../Geo/GEdge.h ../Geo/GEntity.h ../Geo/GVertex.h \ - ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint3.h ../Geo/SPoint2.h \ + ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/SOrientedBoundingBox.h \ + ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/Pair.h \ + ../Geo/GPoint.h ../Geo/SPoint2.h ../Geo/GEdge.h ../Geo/GEntity.h \ + ../Geo/GVertex.h ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint2.h \ ../Geo/GFace.h ../Geo/GEntity.h ../Geo/GPoint.h ../Geo/GEdgeLoop.h \ ../Geo/GEdge.h ../Geo/SPoint2.h ../Geo/SVector3.h ../Geo/Pair.h \ ../Geo/GRegion.h ../Geo/GEntity.h ../Geo/SPoint3.h \ @@ -410,7 +427,8 @@ meshGRegionLocalMeshMod${OBJEXT}: meshGRegionLocalMeshMod.cpp \ ../Numeric/Numeric.h ../Numeric/GmshMatrix.h BackgroundMesh.h \ ../Geo/STensor3.h ../Geo/SVector3.h qualityMeasures.h ../Geo/GEntity.h \ ../Geo/Range.h ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h \ - ../Geo/SPoint3.h ../Geo/GRegion.h ../Geo/GEntity.h + ../Geo/SPoint3.h ../Geo/SOrientedBoundingBox.h ../Geo/SVector3.h \ + ../Geo/SPoint2.h ../Geo/Pair.h ../Geo/GRegion.h ../Geo/GEntity.h DivideAndConquer${OBJEXT}: DivideAndConquer.cpp ../Common/GmshMessage.h \ ../Numeric/GmshPredicates.h ../Numeric/Numeric.h \ ../Numeric/GmshMatrix.h ../Common/GmshConfig.h DivideAndConquer.h \ @@ -421,13 +439,14 @@ BackgroundMesh${OBJEXT}: BackgroundMesh.cpp ../Common/GmshMessage.h \ ../Numeric/GmshMatrix.h ../Common/Context.h ../Geo/CGNSOptions.h \ ../Mesh/meshPartitionOptions.h ../Geo/GVertex.h ../Geo/GEntity.h \ ../Geo/Range.h ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h \ - ../Geo/SPoint3.h ../Geo/GPoint.h ../Geo/SPoint2.h ../Geo/GEdge.h \ - ../Geo/GEntity.h ../Geo/GVertex.h ../Geo/SVector3.h ../Geo/SPoint3.h \ - ../Geo/SPoint2.h ../Geo/GFace.h ../Geo/GEntity.h ../Geo/GPoint.h \ - ../Geo/GEdgeLoop.h ../Geo/GEdge.h ../Geo/SPoint2.h ../Geo/SVector3.h \ - ../Geo/Pair.h ../Geo/GModel.h ../Geo/GVertex.h ../Geo/GEdge.h \ - ../Geo/GFace.h ../Geo/GRegion.h ../Geo/GEntity.h ../Geo/SPoint3.h \ - ../Geo/SBoundingBox3d.h Field.h ../Post/PView.h + ../Geo/SPoint3.h ../Geo/SOrientedBoundingBox.h ../Geo/SVector3.h \ + ../Geo/SPoint2.h ../Geo/Pair.h ../Geo/GPoint.h ../Geo/SPoint2.h \ + ../Geo/GEdge.h ../Geo/GEntity.h ../Geo/GVertex.h ../Geo/SVector3.h \ + ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/GFace.h ../Geo/GEntity.h \ + ../Geo/GPoint.h ../Geo/GEdgeLoop.h ../Geo/GEdge.h ../Geo/SPoint2.h \ + ../Geo/SVector3.h ../Geo/Pair.h ../Geo/GModel.h ../Geo/GVertex.h \ + ../Geo/GEdge.h ../Geo/GFace.h ../Geo/GRegion.h ../Geo/GEntity.h \ + ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h Field.h ../Post/PView.h qualityMeasures${OBJEXT}: qualityMeasures.cpp qualityMeasures.h BDS.h \ ../Common/GmshMessage.h ../Geo/MVertex.h ../Geo/SPoint2.h \ ../Geo/SPoint3.h ../Geo/MTriangle.h ../Geo/MElement.h \ @@ -439,9 +458,10 @@ qualityMeasures${OBJEXT}: qualityMeasures.cpp qualityMeasures.h BDS.h \ ../Geo/MElement.h ../Numeric/Numeric.h ../Numeric/GmshMatrix.h BoundaryLayers${OBJEXT}: BoundaryLayers.cpp ../Geo/GModel.h ../Geo/GVertex.h \ ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \ - ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/GPoint.h \ - ../Geo/SPoint2.h ../Geo/GEdge.h ../Geo/GEntity.h ../Geo/GVertex.h \ - ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint3.h ../Geo/SPoint2.h \ + ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/SOrientedBoundingBox.h \ + ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/Pair.h \ + ../Geo/GPoint.h ../Geo/SPoint2.h ../Geo/GEdge.h ../Geo/GEntity.h \ + ../Geo/GVertex.h ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint2.h \ ../Geo/GFace.h ../Geo/GEntity.h ../Geo/GPoint.h ../Geo/GEdgeLoop.h \ ../Geo/GEdge.h ../Geo/SPoint2.h ../Geo/SVector3.h ../Geo/Pair.h \ ../Geo/GRegion.h ../Geo/GEntity.h ../Geo/SPoint3.h \ @@ -456,28 +476,31 @@ BoundaryLayers${OBJEXT}: BoundaryLayers.cpp ../Geo/GModel.h ../Geo/GVertex.h \ BDS${OBJEXT}: BDS.cpp ../Common/GmshMessage.h ../Numeric/GmshPredicates.h \ ../Numeric/Numeric.h ../Numeric/GmshMatrix.h ../Common/GmshConfig.h \ BDS.h ../Geo/GFace.h ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \ - ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/GPoint.h \ - ../Geo/GEdgeLoop.h ../Geo/GEdge.h ../Geo/GEntity.h ../Geo/GVertex.h \ - ../Geo/GEntity.h ../Geo/GPoint.h ../Geo/SPoint2.h ../Geo/SVector3.h \ - ../Geo/SPoint3.h ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/SPoint2.h \ + ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/SOrientedBoundingBox.h \ + ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/Pair.h \ + ../Geo/GPoint.h ../Geo/GEdgeLoop.h ../Geo/GEdge.h ../Geo/GEntity.h \ + ../Geo/GVertex.h ../Geo/GEntity.h ../Geo/GPoint.h ../Geo/SPoint2.h \ + ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/SPoint2.h \ ../Geo/SVector3.h ../Geo/Pair.h meshGFaceDelaunayInsertion.h \ ../Geo/MTriangle.h ../Geo/MElement.h ../Common/GmshDefines.h \ ../Geo/MVertex.h ../Geo/SPoint2.h ../Geo/SPoint3.h ../Geo/MEdge.h \ ../Geo/MVertex.h ../Geo/SVector3.h ../Geo/MFace.h ../Geo/MVertex.h \ ../Geo/MEdge.h ../Geo/SVector3.h ../Numeric/FunctionSpace.h \ - ../Numeric/GmshMatrix.h ../Numeric/Gauss.h qualityMeasures.h + ../Numeric/GmshMatrix.h ../Numeric/Gauss.h ../Geo/STensor3.h \ + ../Geo/SVector3.h qualityMeasures.h HighOrder${OBJEXT}: HighOrder.cpp HighOrder.h ../Geo/GModel.h ../Geo/GVertex.h \ ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \ - ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/GPoint.h \ - ../Geo/SPoint2.h ../Geo/GEdge.h ../Geo/GEntity.h ../Geo/GVertex.h \ - ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint3.h ../Geo/SPoint2.h \ + ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/SOrientedBoundingBox.h \ + ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/Pair.h \ + ../Geo/GPoint.h ../Geo/SPoint2.h ../Geo/GEdge.h ../Geo/GEntity.h \ + ../Geo/GVertex.h ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint2.h \ ../Geo/GFace.h ../Geo/GEntity.h ../Geo/GPoint.h ../Geo/GEdgeLoop.h \ ../Geo/GEdge.h ../Geo/SPoint2.h ../Geo/SVector3.h ../Geo/Pair.h \ ../Geo/GRegion.h ../Geo/GEntity.h ../Geo/SPoint3.h \ ../Geo/SBoundingBox3d.h ../Geo/MFace.h ../Geo/MVertex.h \ ../Geo/SPoint2.h ../Geo/SPoint3.h ../Geo/MEdge.h ../Geo/MVertex.h \ - ../Geo/SVector3.h ../Geo/SVector3.h gmshSmoothHighOrder.h \ - ../Numeric/GmshMatrix.h ../Common/GmshConfig.h ../Common/GmshMessage.h \ + ../Geo/SVector3.h ../Geo/SVector3.h ../Common/GmshMessage.h \ + gmshSmoothHighOrder.h ../Numeric/GmshMatrix.h ../Common/GmshConfig.h \ ../Geo/MLine.h ../Geo/MElement.h ../Common/GmshDefines.h \ ../Geo/MVertex.h ../Geo/MEdge.h ../Geo/MFace.h \ ../Numeric/FunctionSpace.h ../Numeric/GmshMatrix.h ../Numeric/Gauss.h \ @@ -489,9 +512,10 @@ HighOrder${OBJEXT}: HighOrder.cpp HighOrder.h ../Geo/GModel.h ../Geo/GVertex.h \ ../Geo/CGNSOptions.h ../Mesh/meshPartitionOptions.h meshPartition${OBJEXT}: meshPartition.cpp ../Common/GmshConfig.h ../Geo/GModel.h \ ../Geo/GVertex.h ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \ - ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/GPoint.h \ - ../Geo/SPoint2.h ../Geo/GEdge.h ../Geo/GEntity.h ../Geo/GVertex.h \ - ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint3.h ../Geo/SPoint2.h \ + ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/SOrientedBoundingBox.h \ + ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/Pair.h \ + ../Geo/GPoint.h ../Geo/SPoint2.h ../Geo/GEdge.h ../Geo/GEntity.h \ + ../Geo/GVertex.h ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint2.h \ ../Geo/GFace.h ../Geo/GEntity.h ../Geo/GPoint.h ../Geo/GEdgeLoop.h \ ../Geo/GEdge.h ../Geo/SPoint2.h ../Geo/SVector3.h ../Geo/Pair.h \ ../Geo/GRegion.h ../Geo/GEntity.h ../Geo/SPoint3.h \ @@ -503,19 +527,21 @@ meshPartition${OBJEXT}: meshPartition.cpp ../Common/GmshConfig.h ../Geo/GModel.h ../Numeric/GmshMatrix.h ../Numeric/Gauss.h meshPartitionOptions.h meshRefine${OBJEXT}: meshRefine.cpp HighOrder.h ../Geo/GModel.h ../Geo/GVertex.h \ ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \ - ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/GPoint.h \ - ../Geo/SPoint2.h ../Geo/GEdge.h ../Geo/GEntity.h ../Geo/GVertex.h \ - ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint3.h ../Geo/SPoint2.h \ + ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/SOrientedBoundingBox.h \ + ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/Pair.h \ + ../Geo/GPoint.h ../Geo/SPoint2.h ../Geo/GEdge.h ../Geo/GEntity.h \ + ../Geo/GVertex.h ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint2.h \ ../Geo/GFace.h ../Geo/GEntity.h ../Geo/GPoint.h ../Geo/GEdgeLoop.h \ ../Geo/GEdge.h ../Geo/SPoint2.h ../Geo/SVector3.h ../Geo/Pair.h \ ../Geo/GRegion.h ../Geo/GEntity.h ../Geo/SPoint3.h \ ../Geo/SBoundingBox3d.h ../Geo/MFace.h ../Geo/MVertex.h \ ../Geo/SPoint2.h ../Geo/SPoint3.h ../Geo/MEdge.h ../Geo/MVertex.h \ - ../Geo/SVector3.h ../Geo/SVector3.h ../Geo/MLine.h ../Geo/MElement.h \ - ../Common/GmshDefines.h ../Geo/MVertex.h ../Geo/MEdge.h ../Geo/MFace.h \ - ../Common/GmshMessage.h ../Numeric/FunctionSpace.h \ - ../Numeric/GmshMatrix.h ../Common/GmshConfig.h ../Numeric/Gauss.h \ - ../Geo/MTriangle.h ../Geo/MElement.h ../Geo/MQuadrangle.h \ - ../Geo/MElement.h ../Geo/MTetrahedron.h ../Geo/MElement.h \ - ../Geo/MHexahedron.h ../Geo/MElement.h ../Geo/MPrism.h \ - ../Geo/MElement.h ../Geo/MPyramid.h ../Geo/MElement.h ../Common/OS.h + ../Geo/SVector3.h ../Geo/SVector3.h ../Common/GmshMessage.h \ + ../Geo/MLine.h ../Geo/MElement.h ../Common/GmshDefines.h \ + ../Geo/MVertex.h ../Geo/MEdge.h ../Geo/MFace.h \ + ../Numeric/FunctionSpace.h ../Numeric/GmshMatrix.h \ + ../Common/GmshConfig.h ../Numeric/Gauss.h ../Geo/MTriangle.h \ + ../Geo/MElement.h ../Geo/MQuadrangle.h ../Geo/MElement.h \ + ../Geo/MTetrahedron.h ../Geo/MElement.h ../Geo/MHexahedron.h \ + ../Geo/MElement.h ../Geo/MPrism.h ../Geo/MElement.h ../Geo/MPyramid.h \ + ../Geo/MElement.h ../Common/OS.h diff --git a/Numeric/Makefile b/Numeric/Makefile index 9728023741ee073549d666899dd06552f191a0a3..22a088a2dd38aa5ebee1f432d5da4dbb314ccfe9 100644 --- a/Numeric/Makefile +++ b/Numeric/Makefile @@ -66,9 +66,10 @@ gmshLaplace${OBJEXT}: gmshLaplace.cpp gmshLaplace.h gmshTermOfFormulation.h \ GmshMatrix.h ../Common/GmshConfig.h ../Common/GmshMessage.h \ gmshFunction.h gmshAssembler.h gmshLinearSystem.h ../Geo/GModel.h \ ../Geo/GVertex.h ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \ - ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/GPoint.h \ - ../Geo/SPoint2.h ../Geo/GEdge.h ../Geo/GEntity.h ../Geo/GVertex.h \ - ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint3.h ../Geo/SPoint2.h \ + ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/SOrientedBoundingBox.h \ + ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/Pair.h \ + ../Geo/GPoint.h ../Geo/SPoint2.h ../Geo/GEdge.h ../Geo/GEntity.h \ + ../Geo/GVertex.h ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint2.h \ ../Geo/GFace.h ../Geo/GEntity.h ../Geo/GPoint.h ../Geo/GEdgeLoop.h \ ../Geo/GEdge.h ../Geo/SPoint2.h ../Geo/SVector3.h ../Geo/Pair.h \ ../Geo/GRegion.h ../Geo/GEntity.h ../Geo/SPoint3.h \ @@ -83,49 +84,52 @@ gmshHelmholtz${OBJEXT}: gmshHelmholtz.cpp gmshHelmholtz.h \ ../Common/GmshMessage.h gmshFunction.h gmshAssembler.h \ gmshLinearSystem.h ../Geo/GModel.h ../Geo/GVertex.h ../Geo/GEntity.h \ ../Geo/Range.h ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h \ - ../Geo/SPoint3.h ../Geo/GPoint.h ../Geo/SPoint2.h ../Geo/GEdge.h \ - ../Geo/GEntity.h ../Geo/GVertex.h ../Geo/SVector3.h ../Geo/SPoint3.h \ - ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/GFace.h ../Geo/GEntity.h \ - ../Geo/GPoint.h ../Geo/GEdgeLoop.h ../Geo/GEdge.h ../Geo/SPoint2.h \ - ../Geo/SVector3.h ../Geo/Pair.h ../Geo/GRegion.h ../Geo/GEntity.h \ - ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h ../Geo/MElement.h \ - ../Common/GmshDefines.h ../Geo/MVertex.h ../Geo/SPoint2.h \ - ../Geo/SPoint3.h ../Geo/MEdge.h ../Geo/MVertex.h ../Geo/SVector3.h \ - ../Geo/MFace.h ../Geo/MVertex.h ../Geo/MEdge.h ../Geo/SVector3.h \ - ../Numeric/FunctionSpace.h ../Numeric/GmshMatrix.h ../Numeric/Gauss.h \ - ../Common/Gmsh.h ../Common/GmshMessage.h Numeric.h + ../Geo/SPoint3.h ../Geo/SOrientedBoundingBox.h ../Geo/SVector3.h \ + ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/Pair.h ../Geo/GPoint.h \ + ../Geo/SPoint2.h ../Geo/GEdge.h ../Geo/GEntity.h ../Geo/GVertex.h \ + ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/GFace.h \ + ../Geo/GEntity.h ../Geo/GPoint.h ../Geo/GEdgeLoop.h ../Geo/GEdge.h \ + ../Geo/SPoint2.h ../Geo/SVector3.h ../Geo/Pair.h ../Geo/GRegion.h \ + ../Geo/GEntity.h ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h \ + ../Geo/MElement.h ../Common/GmshDefines.h ../Geo/MVertex.h \ + ../Geo/SPoint2.h ../Geo/SPoint3.h ../Geo/MEdge.h ../Geo/MVertex.h \ + ../Geo/SVector3.h ../Geo/MFace.h ../Geo/MVertex.h ../Geo/MEdge.h \ + ../Geo/SVector3.h ../Numeric/FunctionSpace.h ../Numeric/GmshMatrix.h \ + ../Numeric/Gauss.h ../Common/Gmsh.h ../Common/GmshMessage.h Numeric.h gmshElasticity${OBJEXT}: gmshElasticity.cpp gmshElasticity.h \ gmshTermOfFormulation.h GmshMatrix.h ../Common/GmshConfig.h \ ../Common/GmshMessage.h gmshFunction.h gmshAssembler.h \ gmshLinearSystem.h ../Geo/GModel.h ../Geo/GVertex.h ../Geo/GEntity.h \ ../Geo/Range.h ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h \ - ../Geo/SPoint3.h ../Geo/GPoint.h ../Geo/SPoint2.h ../Geo/GEdge.h \ - ../Geo/GEntity.h ../Geo/GVertex.h ../Geo/SVector3.h ../Geo/SPoint3.h \ - ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/GFace.h ../Geo/GEntity.h \ - ../Geo/GPoint.h ../Geo/GEdgeLoop.h ../Geo/GEdge.h ../Geo/SPoint2.h \ - ../Geo/SVector3.h ../Geo/Pair.h ../Geo/GRegion.h ../Geo/GEntity.h \ - ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h ../Geo/MElement.h \ - ../Common/GmshDefines.h ../Geo/MVertex.h ../Geo/SPoint2.h \ - ../Geo/SPoint3.h ../Geo/MEdge.h ../Geo/MVertex.h ../Geo/SVector3.h \ - ../Geo/MFace.h ../Geo/MVertex.h ../Geo/MEdge.h ../Geo/SVector3.h \ - ../Numeric/FunctionSpace.h ../Numeric/GmshMatrix.h ../Numeric/Gauss.h \ - ../Common/Gmsh.h ../Common/GmshMessage.h Numeric.h + ../Geo/SPoint3.h ../Geo/SOrientedBoundingBox.h ../Geo/SVector3.h \ + ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/Pair.h ../Geo/GPoint.h \ + ../Geo/SPoint2.h ../Geo/GEdge.h ../Geo/GEntity.h ../Geo/GVertex.h \ + ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/GFace.h \ + ../Geo/GEntity.h ../Geo/GPoint.h ../Geo/GEdgeLoop.h ../Geo/GEdge.h \ + ../Geo/SPoint2.h ../Geo/SVector3.h ../Geo/Pair.h ../Geo/GRegion.h \ + ../Geo/GEntity.h ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h \ + ../Geo/MElement.h ../Common/GmshDefines.h ../Geo/MVertex.h \ + ../Geo/SPoint2.h ../Geo/SPoint3.h ../Geo/MEdge.h ../Geo/MVertex.h \ + ../Geo/SVector3.h ../Geo/MFace.h ../Geo/MVertex.h ../Geo/MEdge.h \ + ../Geo/SVector3.h ../Numeric/FunctionSpace.h ../Numeric/GmshMatrix.h \ + ../Numeric/Gauss.h ../Common/Gmsh.h ../Common/GmshMessage.h Numeric.h gmshProjection${OBJEXT}: gmshProjection.cpp gmshProjection.h \ gmshTermOfFormulation.h GmshMatrix.h ../Common/GmshConfig.h \ ../Common/GmshMessage.h gmshFunction.h gmshAssembler.h \ gmshLinearSystem.h ../Geo/GModel.h ../Geo/GVertex.h ../Geo/GEntity.h \ ../Geo/Range.h ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h \ - ../Geo/SPoint3.h ../Geo/GPoint.h ../Geo/SPoint2.h ../Geo/GEdge.h \ - ../Geo/GEntity.h ../Geo/GVertex.h ../Geo/SVector3.h ../Geo/SPoint3.h \ - ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/GFace.h ../Geo/GEntity.h \ - ../Geo/GPoint.h ../Geo/GEdgeLoop.h ../Geo/GEdge.h ../Geo/SPoint2.h \ - ../Geo/SVector3.h ../Geo/Pair.h ../Geo/GRegion.h ../Geo/GEntity.h \ - ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h ../Geo/MElement.h \ - ../Common/GmshDefines.h ../Geo/MVertex.h ../Geo/SPoint2.h \ - ../Geo/SPoint3.h ../Geo/MEdge.h ../Geo/MVertex.h ../Geo/SVector3.h \ - ../Geo/MFace.h ../Geo/MVertex.h ../Geo/MEdge.h ../Geo/SVector3.h \ - ../Numeric/FunctionSpace.h ../Numeric/GmshMatrix.h ../Numeric/Gauss.h \ - ../Common/Gmsh.h ../Common/GmshMessage.h Numeric.h + ../Geo/SPoint3.h ../Geo/SOrientedBoundingBox.h ../Geo/SVector3.h \ + ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/Pair.h ../Geo/GPoint.h \ + ../Geo/SPoint2.h ../Geo/GEdge.h ../Geo/GEntity.h ../Geo/GVertex.h \ + ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/GFace.h \ + ../Geo/GEntity.h ../Geo/GPoint.h ../Geo/GEdgeLoop.h ../Geo/GEdge.h \ + ../Geo/SPoint2.h ../Geo/SVector3.h ../Geo/Pair.h ../Geo/GRegion.h \ + ../Geo/GEntity.h ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h \ + ../Geo/MElement.h ../Common/GmshDefines.h ../Geo/MVertex.h \ + ../Geo/SPoint2.h ../Geo/SPoint3.h ../Geo/MEdge.h ../Geo/MVertex.h \ + ../Geo/SVector3.h ../Geo/MFace.h ../Geo/MVertex.h ../Geo/MEdge.h \ + ../Geo/SVector3.h ../Numeric/FunctionSpace.h ../Numeric/GmshMatrix.h \ + ../Numeric/Gauss.h ../Common/Gmsh.h ../Common/GmshMessage.h Numeric.h EigSolve${OBJEXT}: EigSolve.cpp FunctionSpace${OBJEXT}: FunctionSpace.cpp FunctionSpace.h GmshMatrix.h \ ../Common/GmshConfig.h ../Common/GmshMessage.h ../Common/GmshDefines.h diff --git a/Parser/Gmsh.tab.cpp b/Parser/Gmsh.tab.cpp index a5b585d2a1d885e4170abd5894ba81cb05415a0a..d4ff3cfb07134e1e68c688092fce377cbb621de2 100644 --- a/Parser/Gmsh.tab.cpp +++ b/Parser/Gmsh.tab.cpp @@ -373,7 +373,7 @@ static std::map<std::string, std::string > gmsh_yystringsymbols; static PViewDataList *ViewData; #endif static std::vector<double> ViewCoord; -static List_T *ViewValueList = 0; +static std::vector<double> *ViewValueList = 0; static int *ViewNumList = 0; static ExtrudeParams extr; static int curPhysDim = 0; @@ -977,39 +977,39 @@ static const yytype_uint16 yyrline[] = 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 170, 174, 181, 186, 201, 214, 243, 257, 268, 283, 288, 289, 290, 291, 292, 296, 298, 303, 305, 311, - 457, 310, 475, 482, 493, 492, 511, 518, 529, 528, - 546, 562, 585, 584, 598, 599, 600, 601, 602, 606, - 607, 614, 636, 663, 703, 713, 721, 729, 741, 750, - 756, 765, 783, 801, 810, 822, 827, 835, 855, 878, - 885, 891, 911, 932, 958, 970, 987, 991, 1002, 1005, - 1018, 1021, 1031, 1055, 1054, 1074, 1096, 1114, 1132, 1162, - 1192, 1212, 1230, 1248, 1274, 1292, 1291, 1314, 1332, 1371, - 1377, 1383, 1390, 1415, 1440, 1457, 1456, 1477, 1495, 1523, - 1543, 1561, 1579, 1578, 1603, 1608, 1613, 1618, 1623, 1643, - 1649, 1660, 1661, 1666, 1669, 1673, 1696, 1719, 1742, 1770, - 1779, 1783, 1798, 1825, 1842, 1856, 1862, 1868, 1877, 1891, - 1939, 1957, 1972, 1991, 2003, 2027, 2031, 2036, 2041, 2047, - 2056, 2073, 2090, 2109, 2128, 2156, 2164, 2170, 2177, 2181, - 2190, 2198, 2206, 2215, 2214, 2227, 2226, 2239, 2238, 2251, - 2250, 2263, 2270, 2277, 2284, 2291, 2298, 2305, 2312, 2319, - 2327, 2326, 2338, 2337, 2349, 2348, 2360, 2359, 2371, 2370, - 2382, 2381, 2393, 2392, 2404, 2403, 2415, 2414, 2429, 2432, - 2438, 2447, 2467, 2490, 2494, 2518, 2521, 2537, 2540, 2553, - 2556, 2562, 2565, 2572, 2628, 2698, 2703, 2770, 2813, 2839, - 2862, 2885, 2888, 2897, 2901, 2917, 2918, 2919, 2920, 2921, - 2922, 2923, 2924, 2925, 2932, 2933, 2934, 2935, 2936, 2937, - 2938, 2939, 2940, 2941, 2942, 2943, 2944, 2945, 2946, 2947, - 2948, 2949, 2950, 2951, 2952, 2953, 2954, 2955, 2956, 2957, - 2958, 2959, 2960, 2961, 2962, 2963, 2965, 2966, 2967, 2968, - 2969, 2970, 2971, 2972, 2973, 2974, 2975, 2976, 2977, 2978, - 2979, 2980, 2981, 2982, 2983, 2984, 2985, 2994, 2995, 2996, - 2997, 2998, 2999, 3000, 3004, 3017, 3029, 3044, 3054, 3064, - 3082, 3087, 3092, 3102, 3112, 3120, 3124, 3128, 3132, 3136, - 3143, 3147, 3151, 3155, 3162, 3167, 3174, 3179, 3183, 3188, - 3192, 3200, 3211, 3215, 3227, 3235, 3243, 3250, 3261, 3281, - 3291, 3301, 3311, 3331, 3336, 3340, 3344, 3356, 3360, 3372, - 3379, 3389, 3393, 3408, 3413, 3420, 3424, 3437, 3445, 3456, - 3460, 3468, 3476, 3490, 3504, 3508 + 415, 310, 433, 440, 451, 450, 468, 475, 486, 485, + 502, 518, 541, 540, 554, 555, 556, 557, 558, 562, + 563, 570, 592, 619, 659, 669, 677, 685, 697, 706, + 712, 721, 739, 757, 766, 778, 783, 791, 811, 834, + 841, 847, 867, 888, 914, 926, 943, 947, 958, 961, + 974, 977, 987, 1011, 1010, 1030, 1052, 1070, 1088, 1118, + 1148, 1168, 1186, 1204, 1230, 1248, 1247, 1270, 1288, 1327, + 1333, 1339, 1346, 1371, 1396, 1413, 1412, 1433, 1451, 1479, + 1499, 1517, 1535, 1534, 1559, 1564, 1569, 1574, 1579, 1599, + 1605, 1616, 1617, 1622, 1625, 1629, 1652, 1675, 1698, 1726, + 1735, 1739, 1754, 1781, 1798, 1812, 1818, 1824, 1833, 1847, + 1895, 1913, 1928, 1947, 1959, 1983, 1987, 1992, 1997, 2003, + 2012, 2029, 2046, 2065, 2084, 2112, 2120, 2126, 2133, 2137, + 2146, 2154, 2162, 2171, 2170, 2183, 2182, 2195, 2194, 2207, + 2206, 2219, 2226, 2233, 2240, 2247, 2254, 2261, 2268, 2275, + 2283, 2282, 2294, 2293, 2305, 2304, 2316, 2315, 2327, 2326, + 2338, 2337, 2349, 2348, 2360, 2359, 2371, 2370, 2385, 2388, + 2394, 2403, 2423, 2446, 2450, 2474, 2477, 2493, 2496, 2509, + 2512, 2518, 2521, 2528, 2584, 2654, 2659, 2726, 2769, 2795, + 2818, 2841, 2844, 2853, 2857, 2873, 2874, 2875, 2876, 2877, + 2878, 2879, 2880, 2881, 2888, 2889, 2890, 2891, 2892, 2893, + 2894, 2895, 2896, 2897, 2898, 2899, 2900, 2901, 2902, 2903, + 2904, 2905, 2906, 2907, 2908, 2909, 2910, 2911, 2912, 2913, + 2914, 2915, 2916, 2917, 2918, 2919, 2921, 2922, 2923, 2924, + 2925, 2926, 2927, 2928, 2929, 2930, 2931, 2932, 2933, 2934, + 2935, 2936, 2937, 2938, 2939, 2940, 2941, 2950, 2951, 2952, + 2953, 2954, 2955, 2956, 2960, 2973, 2985, 3000, 3010, 3020, + 3038, 3043, 3048, 3058, 3068, 3076, 3080, 3084, 3088, 3092, + 3099, 3103, 3107, 3111, 3118, 3123, 3130, 3135, 3139, 3144, + 3148, 3156, 3167, 3171, 3183, 3191, 3199, 3206, 3217, 3237, + 3247, 3257, 3267, 3287, 3292, 3296, 3300, 3312, 3316, 3328, + 3335, 3345, 3349, 3364, 3369, 3376, 3380, 3393, 3401, 3412, + 3416, 3424, 3432, 3446, 3460, 3464 }; #endif @@ -3904,7 +3904,7 @@ yyreduce: #line 283 "Gmsh.y" { #if !defined(HAVE_NO_POST) - ViewData = new PViewDataList(true); + ViewData = new PViewDataList(); #endif ;} break; @@ -3921,152 +3921,110 @@ yyreduce: case 37: #line 304 "Gmsh.y" - { if(ViewValueList) List_Add(ViewValueList, &(yyvsp[(1) - (1)].d)); ;} + { if(ViewValueList) ViewValueList->push_back((yyvsp[(1) - (1)].d)); ;} break; case 38: #line 306 "Gmsh.y" - { if(ViewValueList) List_Add(ViewValueList, &(yyvsp[(3) - (3)].d)); ;} + { if(ViewValueList) ViewValueList->push_back((yyvsp[(3) - (3)].d)); ;} break; case 39: #line 311 "Gmsh.y" { #if !defined(HAVE_NO_POST) - if(!strcmp((yyvsp[(1) - (1)].c), "SP")){ - ViewValueList = ViewData->SP; ViewNumList = &ViewData->NbSP; + if(!strncmp((yyvsp[(1) - (1)].c), "SP", 2)){ + ViewValueList = &ViewData->SP; ViewNumList = &ViewData->NbSP; } - else if(!strcmp((yyvsp[(1) - (1)].c), "VP")){ - ViewValueList = ViewData->VP; ViewNumList = &ViewData->NbVP; + else if(!strncmp((yyvsp[(1) - (1)].c), "VP", 2)){ + ViewValueList = &ViewData->VP; ViewNumList = &ViewData->NbVP; } - else if(!strcmp((yyvsp[(1) - (1)].c), "TP")){ - ViewValueList = ViewData->TP; ViewNumList = &ViewData->NbTP; + else if(!strncmp((yyvsp[(1) - (1)].c), "TP", 2)){ + ViewValueList = &ViewData->TP; ViewNumList = &ViewData->NbTP; } - else if(!strcmp((yyvsp[(1) - (1)].c), "SL")){ - ViewValueList = ViewData->SL; ViewNumList = &ViewData->NbSL; + else if(!strncmp((yyvsp[(1) - (1)].c), "SL", 2)){ + ViewValueList = &ViewData->SL; ViewNumList = &ViewData->NbSL; + if(strlen((yyvsp[(1) - (1)].c)) > 2) ViewData->setOrder2(1); } - else if(!strcmp((yyvsp[(1) - (1)].c), "VL")){ - ViewValueList = ViewData->VL; ViewNumList = &ViewData->NbVL; + else if(!strncmp((yyvsp[(1) - (1)].c), "VL", 2)){ + ViewValueList = &ViewData->VL; ViewNumList = &ViewData->NbVL; + if(strlen((yyvsp[(1) - (1)].c)) > 2) ViewData->setOrder2(1); } - else if(!strcmp((yyvsp[(1) - (1)].c), "TL")){ - ViewValueList = ViewData->TL; ViewNumList = &ViewData->NbTL; + else if(!strncmp((yyvsp[(1) - (1)].c), "TL", 2)){ + ViewValueList = &ViewData->TL; ViewNumList = &ViewData->NbTL; + if(strlen((yyvsp[(1) - (1)].c)) > 2) ViewData->setOrder2(1); } - else if(!strcmp((yyvsp[(1) - (1)].c), "ST")){ - ViewValueList = ViewData->ST; ViewNumList = &ViewData->NbST; + else if(!strncmp((yyvsp[(1) - (1)].c), "ST", 2)){ + ViewValueList = &ViewData->ST; ViewNumList = &ViewData->NbST; + if(strlen((yyvsp[(1) - (1)].c)) > 2) ViewData->setOrder2(3); } - else if(!strcmp((yyvsp[(1) - (1)].c), "VT")){ - ViewValueList = ViewData->VT; ViewNumList = &ViewData->NbVT; + else if(!strncmp((yyvsp[(1) - (1)].c), "VT", 2)){ + ViewValueList = &ViewData->VT; ViewNumList = &ViewData->NbVT; + if(strlen((yyvsp[(1) - (1)].c)) > 2) ViewData->setOrder2(3); } - else if(!strcmp((yyvsp[(1) - (1)].c), "TT")){ - ViewValueList = ViewData->TT; ViewNumList = &ViewData->NbTT; + else if(!strncmp((yyvsp[(1) - (1)].c), "TT", 2)){ + ViewValueList = &ViewData->TT; ViewNumList = &ViewData->NbTT; + if(strlen((yyvsp[(1) - (1)].c)) > 2) ViewData->setOrder2(3); } - else if(!strcmp((yyvsp[(1) - (1)].c), "SQ")){ - ViewValueList = ViewData->SQ; ViewNumList = &ViewData->NbSQ; + else if(!strncmp((yyvsp[(1) - (1)].c), "SQ", 2)){ + ViewValueList = &ViewData->SQ; ViewNumList = &ViewData->NbSQ; + if(strlen((yyvsp[(1) - (1)].c)) > 2) ViewData->setOrder2(4); } - else if(!strcmp((yyvsp[(1) - (1)].c), "VQ")){ - ViewValueList = ViewData->VQ; ViewNumList = &ViewData->NbVQ; + else if(!strncmp((yyvsp[(1) - (1)].c), "VQ", 2)){ + ViewValueList = &ViewData->VQ; ViewNumList = &ViewData->NbVQ; + if(strlen((yyvsp[(1) - (1)].c)) > 2) ViewData->setOrder2(4); } - else if(!strcmp((yyvsp[(1) - (1)].c), "TQ")){ - ViewValueList = ViewData->TQ; ViewNumList = &ViewData->NbTQ; + else if(!strncmp((yyvsp[(1) - (1)].c), "TQ", 2)){ + ViewValueList = &ViewData->TQ; ViewNumList = &ViewData->NbTQ; + if(strlen((yyvsp[(1) - (1)].c)) > 2) ViewData->setOrder2(4); } - else if(!strcmp((yyvsp[(1) - (1)].c), "SS")){ - ViewValueList = ViewData->SS; ViewNumList = &ViewData->NbSS; + else if(!strncmp((yyvsp[(1) - (1)].c), "SS", 2)){ + ViewValueList = &ViewData->SS; ViewNumList = &ViewData->NbSS; + if(strlen((yyvsp[(1) - (1)].c)) > 2) ViewData->setOrder2(6); } - else if(!strcmp((yyvsp[(1) - (1)].c), "VS")){ - ViewValueList = ViewData->VS; ViewNumList = &ViewData->NbVS; + else if(!strncmp((yyvsp[(1) - (1)].c), "VS", 2)){ + ViewValueList = &ViewData->VS; ViewNumList = &ViewData->NbVS; + if(strlen((yyvsp[(1) - (1)].c)) > 2) ViewData->setOrder2(6); } - else if(!strcmp((yyvsp[(1) - (1)].c), "TS")){ - ViewValueList = ViewData->TS; ViewNumList = &ViewData->NbTS; + else if(!strncmp((yyvsp[(1) - (1)].c), "TS", 2)){ + ViewValueList = &ViewData->TS; ViewNumList = &ViewData->NbTS; + if(strlen((yyvsp[(1) - (1)].c)) > 2) ViewData->setOrder2(6); } - else if(!strcmp((yyvsp[(1) - (1)].c), "SH")){ - ViewValueList = ViewData->SH; ViewNumList = &ViewData->NbSH; + else if(!strncmp((yyvsp[(1) - (1)].c), "SH", 2)){ + ViewValueList = &ViewData->SH; ViewNumList = &ViewData->NbSH; + if(strlen((yyvsp[(1) - (1)].c)) > 2) ViewData->setOrder2(12); } - else if(!strcmp((yyvsp[(1) - (1)].c), "VH")){ - ViewValueList = ViewData->VH; ViewNumList = &ViewData->NbVH; + else if(!strncmp((yyvsp[(1) - (1)].c), "VH", 2)){ + ViewValueList = &ViewData->VH; ViewNumList = &ViewData->NbVH; + if(strlen((yyvsp[(1) - (1)].c)) > 2) ViewData->setOrder2(12); } - else if(!strcmp((yyvsp[(1) - (1)].c), "TH")){ - ViewValueList = ViewData->TH; ViewNumList = &ViewData->NbTH; + else if(!strncmp((yyvsp[(1) - (1)].c), "TH", 2)){ + ViewValueList = &ViewData->TH; ViewNumList = &ViewData->NbTH; + if(strlen((yyvsp[(1) - (1)].c)) > 2) ViewData->setOrder2(12); } - else if(!strcmp((yyvsp[(1) - (1)].c), "SI")){ - ViewValueList = ViewData->SI; ViewNumList = &ViewData->NbSI; + else if(!strncmp((yyvsp[(1) - (1)].c), "SI", 2)){ + ViewValueList = &ViewData->SI; ViewNumList = &ViewData->NbSI; + if(strlen((yyvsp[(1) - (1)].c)) > 2) ViewData->setOrder2(9); } - else if(!strcmp((yyvsp[(1) - (1)].c), "VI")){ - ViewValueList = ViewData->VI; ViewNumList = &ViewData->NbVI; + else if(!strncmp((yyvsp[(1) - (1)].c), "VI", 2)){ + ViewValueList = &ViewData->VI; ViewNumList = &ViewData->NbVI; + if(strlen((yyvsp[(1) - (1)].c)) > 2) ViewData->setOrder2(9); } - else if(!strcmp((yyvsp[(1) - (1)].c), "TI")){ - ViewValueList = ViewData->TI; ViewNumList = &ViewData->NbTI; + else if(!strncmp((yyvsp[(1) - (1)].c), "TI", 2)){ + ViewValueList = &ViewData->TI; ViewNumList = &ViewData->NbTI; + if(strlen((yyvsp[(1) - (1)].c)) > 2) ViewData->setOrder2(9); } - else if(!strcmp((yyvsp[(1) - (1)].c), "SY")){ - ViewValueList = ViewData->SY; ViewNumList = &ViewData->NbSY; + else if(!strncmp((yyvsp[(1) - (1)].c), "SY", 2)){ + ViewValueList = &ViewData->SY; ViewNumList = &ViewData->NbSY; + if(strlen((yyvsp[(1) - (1)].c)) > 2) ViewData->setOrder2(8); } - else if(!strcmp((yyvsp[(1) - (1)].c), "VY")){ - ViewValueList = ViewData->VY; ViewNumList = &ViewData->NbVY; + else if(!strncmp((yyvsp[(1) - (1)].c), "VY", 2)){ + ViewValueList = &ViewData->VY; ViewNumList = &ViewData->NbVY; + if(strlen((yyvsp[(1) - (1)].c)) > 2) ViewData->setOrder2(8); } - else if(!strcmp((yyvsp[(1) - (1)].c), "TY")){ - ViewValueList = ViewData->TY; ViewNumList = &ViewData->NbTY; - } - else if(!strcmp((yyvsp[(1) - (1)].c), "SL2")){ - ViewValueList = ViewData->SL2; ViewNumList = &ViewData->NbSL2; - } - else if(!strcmp((yyvsp[(1) - (1)].c), "VL2")){ - ViewValueList = ViewData->VL2; ViewNumList = &ViewData->NbVL2; - } - else if(!strcmp((yyvsp[(1) - (1)].c), "TL2")){ - ViewValueList = ViewData->TL2; ViewNumList = &ViewData->NbTL2; - } - else if(!strcmp((yyvsp[(1) - (1)].c), "ST2")){ - ViewValueList = ViewData->ST2; ViewNumList = &ViewData->NbST2; - } - else if(!strcmp((yyvsp[(1) - (1)].c), "VT2")){ - ViewValueList = ViewData->VT2; ViewNumList = &ViewData->NbVT2; - } - else if(!strcmp((yyvsp[(1) - (1)].c), "TT2")){ - ViewValueList = ViewData->TT2; ViewNumList = &ViewData->NbTT2; - } - else if(!strcmp((yyvsp[(1) - (1)].c), "SQ2")){ - ViewValueList = ViewData->SQ2; ViewNumList = &ViewData->NbSQ2; - } - else if(!strcmp((yyvsp[(1) - (1)].c), "VQ2")){ - ViewValueList = ViewData->VQ2; ViewNumList = &ViewData->NbVQ2; - } - else if(!strcmp((yyvsp[(1) - (1)].c), "TQ2")){ - ViewValueList = ViewData->TQ2; ViewNumList = &ViewData->NbTQ2; - } - else if(!strcmp((yyvsp[(1) - (1)].c), "SS2")){ - ViewValueList = ViewData->SS2; ViewNumList = &ViewData->NbSS2; - } - else if(!strcmp((yyvsp[(1) - (1)].c), "VS2")){ - ViewValueList = ViewData->VS2; ViewNumList = &ViewData->NbVS2; - } - else if(!strcmp((yyvsp[(1) - (1)].c), "TS2")){ - ViewValueList = ViewData->TS2; ViewNumList = &ViewData->NbTS2; - } - else if(!strcmp((yyvsp[(1) - (1)].c), "SH2")){ - ViewValueList = ViewData->SH2; ViewNumList = &ViewData->NbSH2; - } - else if(!strcmp((yyvsp[(1) - (1)].c), "VH2")){ - ViewValueList = ViewData->VH2; ViewNumList = &ViewData->NbVH2; - } - else if(!strcmp((yyvsp[(1) - (1)].c), "TH2")){ - ViewValueList = ViewData->TH2; ViewNumList = &ViewData->NbTH2; - } - else if(!strcmp((yyvsp[(1) - (1)].c), "SI2")){ - ViewValueList = ViewData->SI2; ViewNumList = &ViewData->NbSI2; - } - else if(!strcmp((yyvsp[(1) - (1)].c), "VI2")){ - ViewValueList = ViewData->VI2; ViewNumList = &ViewData->NbVI2; - } - else if(!strcmp((yyvsp[(1) - (1)].c), "TI2")){ - ViewValueList = ViewData->TI2; ViewNumList = &ViewData->NbTI2; - } - else if(!strcmp((yyvsp[(1) - (1)].c), "SY2")){ - ViewValueList = ViewData->SY2; ViewNumList = &ViewData->NbSY2; - } - else if(!strcmp((yyvsp[(1) - (1)].c), "VY2")){ - ViewValueList = ViewData->VY2; ViewNumList = &ViewData->NbVY2; - } - else if(!strcmp((yyvsp[(1) - (1)].c), "TY2")){ - ViewValueList = ViewData->TY2; ViewNumList = &ViewData->NbTY2; + else if(!strncmp((yyvsp[(1) - (1)].c), "TY", 2)){ + ViewValueList = &ViewData->TY; ViewNumList = &ViewData->NbTY; + if(strlen((yyvsp[(1) - (1)].c)) > 2) ViewData->setOrder2(8); } else{ yymsg(0, "Unknown element type '%s'", (yyvsp[(1) - (1)].c)); @@ -4079,20 +4037,20 @@ yyreduce: break; case 40: -#line 457 "Gmsh.y" +#line 415 "Gmsh.y" { #if !defined(HAVE_NO_POST) if(ViewValueList){ for(int i = 0; i < 3; i++) for(int j = 0; j < ViewCoord.size() / 3; j++) - List_Add(ViewValueList, &ViewCoord[3 * j + i]); + ViewValueList->push_back(ViewCoord[3 * j + i]); } #endif ;} break; case 41: -#line 467 "Gmsh.y" +#line 425 "Gmsh.y" { #if !defined(HAVE_NO_POST) if(ViewValueList) (*ViewNumList)++; @@ -4101,40 +4059,39 @@ yyreduce: break; case 42: -#line 476 "Gmsh.y" +#line 434 "Gmsh.y" { #if !defined(HAVE_NO_POST) - for(int i = 0; i < (int)strlen((yyvsp[(1) - (1)].c))+1; i++) List_Add(ViewData->T2C, &(yyvsp[(1) - (1)].c)[i]); + for(int i = 0; i < (int)strlen((yyvsp[(1) - (1)].c)) + 1; i++) ViewData->T2C.push_back((yyvsp[(1) - (1)].c)[i]); #endif Free((yyvsp[(1) - (1)].c)); ;} break; case 43: -#line 483 "Gmsh.y" +#line 441 "Gmsh.y" { #if !defined(HAVE_NO_POST) - for(int i = 0; i < (int)strlen((yyvsp[(3) - (3)].c))+1; i++) List_Add(ViewData->T2C, &(yyvsp[(3) - (3)].c)[i]); + for(int i = 0; i < (int)strlen((yyvsp[(3) - (3)].c)) + 1; i++) ViewData->T2C.push_back((yyvsp[(3) - (3)].c)[i]); #endif Free((yyvsp[(3) - (3)].c)); ;} break; case 44: -#line 493 "Gmsh.y" +#line 451 "Gmsh.y" { #if !defined(HAVE_NO_POST) - List_Add(ViewData->T2D, &(yyvsp[(3) - (8)].d)); - List_Add(ViewData->T2D, &(yyvsp[(5) - (8)].d)); - List_Add(ViewData->T2D, &(yyvsp[(7) - (8)].d)); - double d = List_Nbr(ViewData->T2C); - List_Add(ViewData->T2D, &d); + ViewData->T2D.push_back((yyvsp[(3) - (8)].d)); + ViewData->T2D.push_back((yyvsp[(5) - (8)].d)); + ViewData->T2D.push_back((yyvsp[(7) - (8)].d)); + ViewData->T2D.push_back(ViewData->T2C.size()); #endif ;} break; case 45: -#line 503 "Gmsh.y" +#line 460 "Gmsh.y" { #if !defined(HAVE_NO_POST) ViewData->NbT2++; @@ -4143,39 +4100,38 @@ yyreduce: break; case 46: -#line 512 "Gmsh.y" +#line 469 "Gmsh.y" { #if !defined(HAVE_NO_POST) - for(int i = 0; i < (int)strlen((yyvsp[(1) - (1)].c))+1; i++) List_Add(ViewData->T3C, &(yyvsp[(1) - (1)].c)[i]); + for(int i = 0; i < (int)strlen((yyvsp[(1) - (1)].c)) + 1; i++) ViewData->T3C.push_back((yyvsp[(1) - (1)].c)[i]); #endif Free((yyvsp[(1) - (1)].c)); ;} break; case 47: -#line 519 "Gmsh.y" +#line 476 "Gmsh.y" { #if !defined(HAVE_NO_POST) - for(int i = 0; i < (int)strlen((yyvsp[(3) - (3)].c))+1; i++) List_Add(ViewData->T3C, &(yyvsp[(3) - (3)].c)[i]); + for(int i = 0; i < (int)strlen((yyvsp[(3) - (3)].c)) + 1; i++) ViewData->T3C.push_back((yyvsp[(3) - (3)].c)[i]); #endif Free((yyvsp[(3) - (3)].c)); ;} break; case 48: -#line 529 "Gmsh.y" +#line 486 "Gmsh.y" { #if !defined(HAVE_NO_POST) - List_Add(ViewData->T3D, &(yyvsp[(3) - (10)].d)); List_Add(ViewData->T3D, &(yyvsp[(5) - (10)].d)); - List_Add(ViewData->T3D, &(yyvsp[(7) - (10)].d)); List_Add(ViewData->T3D, &(yyvsp[(9) - (10)].d)); - double d = List_Nbr(ViewData->T3C); - List_Add(ViewData->T3D, &d); + ViewData->T3D.push_back((yyvsp[(3) - (10)].d)); ViewData->T3D.push_back((yyvsp[(5) - (10)].d)); + ViewData->T3D.push_back((yyvsp[(7) - (10)].d)); ViewData->T3D.push_back((yyvsp[(9) - (10)].d)); + ViewData->T3D.push_back(ViewData->T3C.size()); #endif ;} break; case 49: -#line 538 "Gmsh.y" +#line 494 "Gmsh.y" { #if !defined(HAVE_NO_POST) ViewData->NbT3++; @@ -4184,7 +4140,7 @@ yyreduce: break; case 50: -#line 548 "Gmsh.y" +#line 504 "Gmsh.y" { #if !defined(HAVE_NO_POST) int type = @@ -4202,7 +4158,7 @@ yyreduce: break; case 51: -#line 566 "Gmsh.y" +#line 522 "Gmsh.y" { #if !defined(HAVE_NO_POST) int type = @@ -4221,57 +4177,57 @@ yyreduce: break; case 52: -#line 585 "Gmsh.y" +#line 541 "Gmsh.y" { #if !defined(HAVE_NO_POST) - ViewValueList = ViewData->Time; + ViewValueList = &ViewData->Time; #endif ;} break; case 53: -#line 591 "Gmsh.y" +#line 547 "Gmsh.y" { ;} break; case 54: -#line 598 "Gmsh.y" +#line 554 "Gmsh.y" { (yyval.i) = 0; ;} break; case 55: -#line 599 "Gmsh.y" +#line 555 "Gmsh.y" { (yyval.i) = 1; ;} break; case 56: -#line 600 "Gmsh.y" +#line 556 "Gmsh.y" { (yyval.i) = 2; ;} break; case 57: -#line 601 "Gmsh.y" +#line 557 "Gmsh.y" { (yyval.i) = 3; ;} break; case 58: -#line 602 "Gmsh.y" +#line 558 "Gmsh.y" { (yyval.i) = 4; ;} break; case 59: -#line 606 "Gmsh.y" +#line 562 "Gmsh.y" { (yyval.i) = 1; ;} break; case 60: -#line 607 "Gmsh.y" +#line 563 "Gmsh.y" { (yyval.i) = -1; ;} break; case 61: -#line 615 "Gmsh.y" +#line 571 "Gmsh.y" { if(!gmsh_yysymbols.count((yyvsp[(1) - (4)].c))){ if(!(yyvsp[(2) - (4)].i)) @@ -4296,7 +4252,7 @@ yyreduce: break; case 62: -#line 637 "Gmsh.y" +#line 593 "Gmsh.y" { int index = (int)(yyvsp[(3) - (7)].d); if(!gmsh_yysymbols.count((yyvsp[(1) - (7)].c))){ @@ -4326,7 +4282,7 @@ yyreduce: break; case 63: -#line 664 "Gmsh.y" +#line 620 "Gmsh.y" { if(List_Nbr((yyvsp[(4) - (9)].l)) != List_Nbr((yyvsp[(8) - (9)].l))){ yymsg(0, "Incompatible array dimensions in affectation"); @@ -4369,7 +4325,7 @@ yyreduce: break; case 64: -#line 704 "Gmsh.y" +#line 660 "Gmsh.y" { if(gmsh_yysymbols.count((yyvsp[(1) - (6)].c))) gmsh_yysymbols[(yyvsp[(1) - (6)].c)].clear(); @@ -4382,7 +4338,7 @@ yyreduce: break; case 65: -#line 714 "Gmsh.y" +#line 670 "Gmsh.y" { // appends to the list for(int i = 0; i < List_Nbr((yyvsp[(5) - (6)].l)); i++) @@ -4393,7 +4349,7 @@ yyreduce: break; case 66: -#line 722 "Gmsh.y" +#line 678 "Gmsh.y" { if(!gmsh_yysymbols.count((yyvsp[(1) - (3)].c))) yymsg(0, "Unknown variable '%s'", (yyvsp[(1) - (3)].c)); @@ -4404,7 +4360,7 @@ yyreduce: break; case 67: -#line 730 "Gmsh.y" +#line 686 "Gmsh.y" { if(!gmsh_yysymbols.count((yyvsp[(1) - (6)].c))) yymsg(0, "Unknown variable '%s'", (yyvsp[(1) - (6)].c)); @@ -4419,7 +4375,7 @@ yyreduce: break; case 68: -#line 742 "Gmsh.y" +#line 698 "Gmsh.y" { gmsh_yystringsymbols[(yyvsp[(1) - (4)].c)] = std::string((yyvsp[(3) - (4)].c)); Free((yyvsp[(1) - (4)].c)); @@ -4428,7 +4384,7 @@ yyreduce: break; case 69: -#line 751 "Gmsh.y" +#line 707 "Gmsh.y" { std::string tmp((yyvsp[(5) - (6)].c)); StringOption(GMSH_SET|GMSH_GUI, (yyvsp[(1) - (6)].c), 0, (yyvsp[(3) - (6)].c), tmp); @@ -4437,7 +4393,7 @@ yyreduce: break; case 70: -#line 757 "Gmsh.y" +#line 713 "Gmsh.y" { std::string tmp((yyvsp[(8) - (9)].c)); StringOption(GMSH_SET|GMSH_GUI, (yyvsp[(1) - (9)].c), (int)(yyvsp[(3) - (9)].d), (yyvsp[(6) - (9)].c), tmp); @@ -4446,7 +4402,7 @@ yyreduce: break; case 71: -#line 766 "Gmsh.y" +#line 722 "Gmsh.y" { double d = 0.; if(NumberOption(GMSH_GET, (yyvsp[(1) - (6)].c), 0, (yyvsp[(3) - (6)].c), d)){ @@ -4467,7 +4423,7 @@ yyreduce: break; case 72: -#line 784 "Gmsh.y" +#line 740 "Gmsh.y" { double d = 0.; if(NumberOption(GMSH_GET, (yyvsp[(1) - (9)].c), (int)(yyvsp[(3) - (9)].d), (yyvsp[(6) - (9)].c), d)){ @@ -4488,7 +4444,7 @@ yyreduce: break; case 73: -#line 802 "Gmsh.y" +#line 758 "Gmsh.y" { double d = 0.; if(NumberOption(GMSH_GET, (yyvsp[(1) - (5)].c), 0, (yyvsp[(3) - (5)].c), d)){ @@ -4500,7 +4456,7 @@ yyreduce: break; case 74: -#line 811 "Gmsh.y" +#line 767 "Gmsh.y" { double d = 0.; if(NumberOption(GMSH_GET, (yyvsp[(1) - (8)].c), (int)(yyvsp[(3) - (8)].d), (yyvsp[(6) - (8)].c), d)){ @@ -4512,7 +4468,7 @@ yyreduce: break; case 75: -#line 823 "Gmsh.y" +#line 779 "Gmsh.y" { ColorOption(GMSH_SET|GMSH_GUI, (yyvsp[(1) - (8)].c), 0, (yyvsp[(5) - (8)].c), (yyvsp[(7) - (8)].u)); Free((yyvsp[(1) - (8)].c)); Free((yyvsp[(5) - (8)].c)); @@ -4520,7 +4476,7 @@ yyreduce: break; case 76: -#line 828 "Gmsh.y" +#line 784 "Gmsh.y" { ColorOption(GMSH_SET|GMSH_GUI, (yyvsp[(1) - (11)].c), (int)(yyvsp[(3) - (11)].d), (yyvsp[(8) - (11)].c), (yyvsp[(10) - (11)].u)); Free((yyvsp[(1) - (11)].c)); Free((yyvsp[(8) - (11)].c)); @@ -4528,7 +4484,7 @@ yyreduce: break; case 77: -#line 836 "Gmsh.y" +#line 792 "Gmsh.y" { GmshColorTable *ct = GetColorTable(0); if(!ct) @@ -4551,7 +4507,7 @@ yyreduce: break; case 78: -#line 856 "Gmsh.y" +#line 812 "Gmsh.y" { GmshColorTable *ct = GetColorTable((int)(yyvsp[(3) - (9)].d)); if(!ct) @@ -4574,7 +4530,7 @@ yyreduce: break; case 79: -#line 879 "Gmsh.y" +#line 835 "Gmsh.y" { if(!strcmp((yyvsp[(1) - (5)].c),"Background")) GModel::current()->getFields()->background_field = (int)(yyvsp[(4) - (5)].d); @@ -4584,7 +4540,7 @@ yyreduce: break; case 80: -#line 886 "Gmsh.y" +#line 842 "Gmsh.y" { if(!GModel::current()->getFields()->newField((int)(yyvsp[(3) - (7)].d), (yyvsp[(6) - (7)].c))) yymsg(0, "Cannot create field %i of type '%s'", (int)(yyvsp[(3) - (7)].d), (yyvsp[(6) - (7)].c)); @@ -4593,7 +4549,7 @@ yyreduce: break; case 81: -#line 892 "Gmsh.y" +#line 848 "Gmsh.y" { Field *field = GModel::current()->getFields()->get((int)(yyvsp[(3) - (9)].d)); if(field){ @@ -4616,7 +4572,7 @@ yyreduce: break; case 82: -#line 912 "Gmsh.y" +#line 868 "Gmsh.y" { Field *field = GModel::current()->getFields()->get((int)(yyvsp[(3) - (9)].d)); if(field){ @@ -4640,7 +4596,7 @@ yyreduce: break; case 83: -#line 933 "Gmsh.y" +#line 889 "Gmsh.y" { Field *field = GModel::current()->getFields()->get((int)(yyvsp[(3) - (11)].d)); if(field){ @@ -4666,7 +4622,7 @@ yyreduce: break; case 84: -#line 959 "Gmsh.y" +#line 915 "Gmsh.y" { #if !defined(HAVE_NO_POST) try { @@ -4681,7 +4637,7 @@ yyreduce: break; case 85: -#line 971 "Gmsh.y" +#line 927 "Gmsh.y" { #if !defined(HAVE_NO_POST) try { @@ -4696,14 +4652,14 @@ yyreduce: break; case 86: -#line 988 "Gmsh.y" +#line 944 "Gmsh.y" { (yyval.i) = (int)(yyvsp[(1) - (1)].d); ;} break; case 87: -#line 992 "Gmsh.y" +#line 948 "Gmsh.y" { (yyval.i) = GModel::current()->setPhysicalName (std::string((yyvsp[(1) - (1)].c)), curPhysDim, @@ -4713,14 +4669,14 @@ yyreduce: break; case 88: -#line 1002 "Gmsh.y" +#line 958 "Gmsh.y" { (yyval.l) = 0; ;} break; case 89: -#line 1006 "Gmsh.y" +#line 962 "Gmsh.y" { (yyval.l) = List_Create(1, 1, sizeof(Vertex*)); Vertex *v = FindPoint((int)(yyvsp[(4) - (5)].d)); @@ -4733,21 +4689,21 @@ yyreduce: break; case 90: -#line 1018 "Gmsh.y" +#line 974 "Gmsh.y" { for(int i = 0; i < 4; i++) (yyval.v)[i] = 0.; ;} break; case 91: -#line 1022 "Gmsh.y" +#line 978 "Gmsh.y" { for(int i = 0; i < 4; i++) (yyval.v)[i] = (yyvsp[(2) - (2)].v)[i]; ;} break; case 92: -#line 1032 "Gmsh.y" +#line 988 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); if(FindPoint(num)){ @@ -4773,14 +4729,14 @@ yyreduce: break; case 93: -#line 1055 "Gmsh.y" +#line 1011 "Gmsh.y" { curPhysDim = 0; ;} break; case 94: -#line 1059 "Gmsh.y" +#line 1015 "Gmsh.y" { int num = (int)(yyvsp[(5) - (9)].i); if(FindPhysicalGroup(num, MSH_PHYSICAL_POINT)){ @@ -4799,7 +4755,7 @@ yyreduce: break; case 95: -#line 1075 "Gmsh.y" +#line 1031 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (6)].l)); i++){ double d; @@ -4821,7 +4777,7 @@ yyreduce: break; case 96: -#line 1097 "Gmsh.y" +#line 1053 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); if(FindCurve(num)){ @@ -4842,7 +4798,7 @@ yyreduce: break; case 97: -#line 1115 "Gmsh.y" +#line 1071 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); if(FindCurve(num)){ @@ -4863,7 +4819,7 @@ yyreduce: break; case 98: -#line 1133 "Gmsh.y" +#line 1089 "Gmsh.y" { int num = (int)(yyvsp[(3) - (8)].d); if(FindCurve(num)){ @@ -4896,7 +4852,7 @@ yyreduce: break; case 99: -#line 1163 "Gmsh.y" +#line 1119 "Gmsh.y" { int num = (int)(yyvsp[(3) - (8)].d); if(FindCurve(num)){ @@ -4929,7 +4885,7 @@ yyreduce: break; case 100: -#line 1194 "Gmsh.y" +#line 1150 "Gmsh.y" { int num = (int)(yyvsp[(3) - (17)].d); if(FindCurve(num)){ @@ -4951,7 +4907,7 @@ yyreduce: break; case 101: -#line 1213 "Gmsh.y" +#line 1169 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); if(FindCurve(num)){ @@ -4972,7 +4928,7 @@ yyreduce: break; case 102: -#line 1231 "Gmsh.y" +#line 1187 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); if(FindCurve(num)){ @@ -4993,7 +4949,7 @@ yyreduce: break; case 103: -#line 1249 "Gmsh.y" +#line 1205 "Gmsh.y" { int num = (int)(yyvsp[(3) - (11)].d); if(List_Nbr((yyvsp[(6) - (11)].l)) + (int)(yyvsp[(10) - (11)].d) + 1 != List_Nbr((yyvsp[(8) - (11)].l))){ @@ -5022,7 +4978,7 @@ yyreduce: break; case 104: -#line 1275 "Gmsh.y" +#line 1231 "Gmsh.y" { int num = (int)(yyvsp[(4) - (8)].d); if(FindEdgeLoop(num)){ @@ -5042,14 +4998,14 @@ yyreduce: break; case 105: -#line 1292 "Gmsh.y" +#line 1248 "Gmsh.y" { curPhysDim = 1; ;} break; case 106: -#line 1296 "Gmsh.y" +#line 1252 "Gmsh.y" { int num = (int)(yyvsp[(5) - (9)].i); if(FindPhysicalGroup(num, MSH_PHYSICAL_LINE)){ @@ -5068,7 +5024,7 @@ yyreduce: break; case 107: -#line 1315 "Gmsh.y" +#line 1271 "Gmsh.y" { int num = (int)(yyvsp[(4) - (8)].d); if(FindSurface(num)){ @@ -5089,7 +5045,7 @@ yyreduce: break; case 108: -#line 1333 "Gmsh.y" +#line 1289 "Gmsh.y" { int num = (int)(yyvsp[(4) - (9)].d), type = 0; if(FindSurface(num)){ @@ -5131,7 +5087,7 @@ yyreduce: break; case 109: -#line 1372 "Gmsh.y" +#line 1328 "Gmsh.y" { myGmshSurface = 0; (yyval.s).Type = 0; @@ -5140,7 +5096,7 @@ yyreduce: break; case 110: -#line 1378 "Gmsh.y" +#line 1334 "Gmsh.y" { myGmshSurface = gmshSurface::getSurface((int)(yyvsp[(3) - (4)].d)); (yyval.s).Type = 0; @@ -5149,7 +5105,7 @@ yyreduce: break; case 111: -#line 1384 "Gmsh.y" +#line 1340 "Gmsh.y" { int num = (int)(yyvsp[(4) - (10)].d); myGmshSurface = gmshParametricSurface::NewParametricSurface(num, (yyvsp[(7) - (10)].c), (yyvsp[(8) - (10)].c), (yyvsp[(9) - (10)].c)); @@ -5159,7 +5115,7 @@ yyreduce: break; case 112: -#line 1391 "Gmsh.y" +#line 1347 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); if (List_Nbr((yyvsp[(6) - (7)].l)) != 2){ @@ -5187,7 +5143,7 @@ yyreduce: break; case 113: -#line 1416 "Gmsh.y" +#line 1372 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); if (List_Nbr((yyvsp[(6) - (7)].l)) != 2){ @@ -5215,7 +5171,7 @@ yyreduce: break; case 114: -#line 1441 "Gmsh.y" +#line 1397 "Gmsh.y" { int num = (int)(yyvsp[(4) - (8)].d); if(FindSurfaceLoop(num)){ @@ -5234,14 +5190,14 @@ yyreduce: break; case 115: -#line 1457 "Gmsh.y" +#line 1413 "Gmsh.y" { curPhysDim = 2; ;} break; case 116: -#line 1461 "Gmsh.y" +#line 1417 "Gmsh.y" { int num = (int)(yyvsp[(5) - (9)].i); if(FindPhysicalGroup(num, MSH_PHYSICAL_SURFACE)){ @@ -5260,7 +5216,7 @@ yyreduce: break; case 117: -#line 1478 "Gmsh.y" +#line 1434 "Gmsh.y" { int num = (int)(yyvsp[(4) - (8)].d); if(FindPhysicalGroup(num, MSH_PHYSICAL_VOLUME)){ @@ -5280,7 +5236,7 @@ yyreduce: break; case 118: -#line 1496 "Gmsh.y" +#line 1452 "Gmsh.y" { int num = (int)(yyvsp[(4) - (12)].d); if(FindPhysicalGroup(num, MSH_PHYSICAL_SURFACE)){ @@ -5310,7 +5266,7 @@ yyreduce: break; case 119: -#line 1524 "Gmsh.y" +#line 1480 "Gmsh.y" { int num = (int)(yyvsp[(4) - (8)].d); if(FindPhysicalGroup(num, MSH_PHYSICAL_LINE)){ @@ -5330,7 +5286,7 @@ yyreduce: break; case 120: -#line 1544 "Gmsh.y" +#line 1500 "Gmsh.y" { yymsg(0, "'Complex Volume' command is deprecated: use 'Volume' instead"); int num = (int)(yyvsp[(4) - (8)].d); @@ -5351,7 +5307,7 @@ yyreduce: break; case 121: -#line 1562 "Gmsh.y" +#line 1518 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); if(FindVolume(num)){ @@ -5371,14 +5327,14 @@ yyreduce: break; case 122: -#line 1579 "Gmsh.y" +#line 1535 "Gmsh.y" { curPhysDim = 3; ;} break; case 123: -#line 1583 "Gmsh.y" +#line 1539 "Gmsh.y" { int num = (int)(yyvsp[(5) - (9)].i); if(FindPhysicalGroup(num, MSH_PHYSICAL_VOLUME)){ @@ -5397,7 +5353,7 @@ yyreduce: break; case 124: -#line 1604 "Gmsh.y" +#line 1560 "Gmsh.y" { TranslateShapes((yyvsp[(2) - (5)].v)[0], (yyvsp[(2) - (5)].v)[1], (yyvsp[(2) - (5)].v)[2], (yyvsp[(4) - (5)].l)); (yyval.l) = (yyvsp[(4) - (5)].l); @@ -5405,7 +5361,7 @@ yyreduce: break; case 125: -#line 1609 "Gmsh.y" +#line 1565 "Gmsh.y" { RotateShapes((yyvsp[(3) - (11)].v)[0], (yyvsp[(3) - (11)].v)[1], (yyvsp[(3) - (11)].v)[2], (yyvsp[(5) - (11)].v)[0], (yyvsp[(5) - (11)].v)[1], (yyvsp[(5) - (11)].v)[2], (yyvsp[(7) - (11)].d), (yyvsp[(10) - (11)].l)); (yyval.l) = (yyvsp[(10) - (11)].l); @@ -5413,7 +5369,7 @@ yyreduce: break; case 126: -#line 1614 "Gmsh.y" +#line 1570 "Gmsh.y" { SymmetryShapes((yyvsp[(2) - (5)].v)[0], (yyvsp[(2) - (5)].v)[1], (yyvsp[(2) - (5)].v)[2], (yyvsp[(2) - (5)].v)[3], (yyvsp[(4) - (5)].l)); (yyval.l) = (yyvsp[(4) - (5)].l); @@ -5421,7 +5377,7 @@ yyreduce: break; case 127: -#line 1619 "Gmsh.y" +#line 1575 "Gmsh.y" { DilatShapes((yyvsp[(3) - (9)].v)[0], (yyvsp[(3) - (9)].v)[1], (yyvsp[(3) - (9)].v)[2], (yyvsp[(5) - (9)].d), (yyvsp[(8) - (9)].l)); (yyval.l) = (yyvsp[(8) - (9)].l); @@ -5429,7 +5385,7 @@ yyreduce: break; case 128: -#line 1624 "Gmsh.y" +#line 1580 "Gmsh.y" { (yyval.l) = List_Create(3, 3, sizeof(Shape)); if(!strcmp((yyvsp[(1) - (4)].c), "Duplicata")){ @@ -5452,7 +5408,7 @@ yyreduce: break; case 129: -#line 1644 "Gmsh.y" +#line 1600 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); IntersectCurvesWithSurface((yyvsp[(4) - (9)].l), (int)(yyvsp[(8) - (9)].d), (yyval.l)); @@ -5461,7 +5417,7 @@ yyreduce: break; case 130: -#line 1650 "Gmsh.y" +#line 1606 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape*)); List_T *tmp = ListOfDouble2ListOfInt((yyvsp[(7) - (9)].l)); @@ -5472,31 +5428,31 @@ yyreduce: break; case 131: -#line 1660 "Gmsh.y" +#line 1616 "Gmsh.y" { (yyval.l) = (yyvsp[(1) - (1)].l); ;} break; case 132: -#line 1661 "Gmsh.y" +#line 1617 "Gmsh.y" { (yyval.l) = (yyvsp[(1) - (1)].l); ;} break; case 133: -#line 1666 "Gmsh.y" +#line 1622 "Gmsh.y" { (yyval.l) = List_Create(3, 3, sizeof(Shape)); ;} break; case 134: -#line 1670 "Gmsh.y" +#line 1626 "Gmsh.y" { List_Add((yyval.l), &(yyvsp[(2) - (2)].s)); ;} break; case 135: -#line 1674 "Gmsh.y" +#line 1630 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(4) - (6)].l)); i++){ double d; @@ -5522,7 +5478,7 @@ yyreduce: break; case 136: -#line 1697 "Gmsh.y" +#line 1653 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(4) - (6)].l)); i++){ double d; @@ -5548,7 +5504,7 @@ yyreduce: break; case 137: -#line 1720 "Gmsh.y" +#line 1676 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(4) - (6)].l)); i++){ double d; @@ -5574,7 +5530,7 @@ yyreduce: break; case 138: -#line 1743 "Gmsh.y" +#line 1699 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(4) - (6)].l)); i++){ double d; @@ -5600,7 +5556,7 @@ yyreduce: break; case 139: -#line 1771 "Gmsh.y" +#line 1727 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++){ Shape TheShape; @@ -5612,14 +5568,14 @@ yyreduce: break; case 140: -#line 1780 "Gmsh.y" +#line 1736 "Gmsh.y" { GModel::current()->getFields()->deleteField((int)(yyvsp[(4) - (6)].d)); ;} break; case 141: -#line 1784 "Gmsh.y" +#line 1740 "Gmsh.y" { #if !defined(HAVE_NO_POST) if(!strcmp((yyvsp[(2) - (6)].c), "View")){ @@ -5637,7 +5593,7 @@ yyreduce: break; case 142: -#line 1799 "Gmsh.y" +#line 1755 "Gmsh.y" { if(!strcmp((yyvsp[(2) - (3)].c), "Meshes") || !strcmp((yyvsp[(2) - (3)].c), "All")){ for(unsigned int i = 0; i < GModel::list.size(); i++){ @@ -5667,7 +5623,7 @@ yyreduce: break; case 143: -#line 1826 "Gmsh.y" +#line 1782 "Gmsh.y" { #if !defined(HAVE_NO_POST) if(!strcmp((yyvsp[(2) - (4)].c), "Empty") && !strcmp((yyvsp[(3) - (4)].c), "Views")){ @@ -5682,7 +5638,7 @@ yyreduce: break; case 144: -#line 1843 "Gmsh.y" +#line 1799 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(4) - (5)].l)); i++){ Shape TheShape; @@ -5694,7 +5650,7 @@ yyreduce: break; case 145: -#line 1857 "Gmsh.y" +#line 1813 "Gmsh.y" { for(int i = 0; i < 4; i++) VisibilityShape((yyvsp[(2) - (3)].c), i, 1); @@ -5703,7 +5659,7 @@ yyreduce: break; case 146: -#line 1863 "Gmsh.y" +#line 1819 "Gmsh.y" { for(int i = 0; i < 4; i++) VisibilityShape((yyvsp[(2) - (3)].c), i, 0); @@ -5712,7 +5668,7 @@ yyreduce: break; case 147: -#line 1869 "Gmsh.y" +#line 1825 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++){ Shape TheShape; @@ -5724,7 +5680,7 @@ yyreduce: break; case 148: -#line 1878 "Gmsh.y" +#line 1834 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++){ Shape TheShape; @@ -5736,7 +5692,7 @@ yyreduce: break; case 149: -#line 1892 "Gmsh.y" +#line 1848 "Gmsh.y" { if(!strcmp((yyvsp[(1) - (3)].c), "Include")){ char tmpstring[1024]; @@ -5787,7 +5743,7 @@ yyreduce: break; case 150: -#line 1940 "Gmsh.y" +#line 1896 "Gmsh.y" { #if !defined(HAVE_NO_POST) if(!strcmp((yyvsp[(1) - (7)].c), "Save") && !strcmp((yyvsp[(2) - (7)].c), "View")){ @@ -5808,7 +5764,7 @@ yyreduce: break; case 151: -#line 1958 "Gmsh.y" +#line 1914 "Gmsh.y" { #if !defined(HAVE_NO_POST) if(!strcmp((yyvsp[(1) - (7)].c), "Background") && !strcmp((yyvsp[(2) - (7)].c), "Mesh") && !strcmp((yyvsp[(3) - (7)].c), "View")){ @@ -5826,7 +5782,7 @@ yyreduce: break; case 152: -#line 1973 "Gmsh.y" +#line 1929 "Gmsh.y" { if(!strcmp((yyvsp[(1) - (3)].c), "Sleep")){ SleepInSeconds((yyvsp[(2) - (3)].d)); @@ -5848,7 +5804,7 @@ yyreduce: break; case 153: -#line 1992 "Gmsh.y" +#line 1948 "Gmsh.y" { #if !defined(HAVE_NO_POST) try { @@ -5863,7 +5819,7 @@ yyreduce: break; case 154: -#line 2004 "Gmsh.y" +#line 1960 "Gmsh.y" { #if !defined(HAVE_NO_POST) if(!strcmp((yyvsp[(2) - (3)].c), "ElementsFromAllViews")) @@ -5890,14 +5846,14 @@ yyreduce: break; case 155: -#line 2028 "Gmsh.y" +#line 1984 "Gmsh.y" { exit(0); ;} break; case 156: -#line 2032 "Gmsh.y" +#line 1988 "Gmsh.y" { CTX::instance()->forcedBBox = 0; SetBoundingBox(); @@ -5905,7 +5861,7 @@ yyreduce: break; case 157: -#line 2037 "Gmsh.y" +#line 1993 "Gmsh.y" { CTX::instance()->forcedBBox = 1; SetBoundingBox((yyvsp[(3) - (15)].d), (yyvsp[(5) - (15)].d), (yyvsp[(7) - (15)].d), (yyvsp[(9) - (15)].d), (yyvsp[(11) - (15)].d), (yyvsp[(13) - (15)].d)); @@ -5913,7 +5869,7 @@ yyreduce: break; case 158: -#line 2042 "Gmsh.y" +#line 1998 "Gmsh.y" { #if defined(HAVE_FLTK) Draw(); @@ -5922,14 +5878,14 @@ yyreduce: break; case 159: -#line 2048 "Gmsh.y" +#line 2004 "Gmsh.y" { GModel::current()->createTopologyFromMesh(); ;} break; case 160: -#line 2057 "Gmsh.y" +#line 2013 "Gmsh.y" { LoopControlVariablesTab[ImbricatedLoop][0] = (yyvsp[(3) - (6)].d); LoopControlVariablesTab[ImbricatedLoop][1] = (yyvsp[(5) - (6)].d); @@ -5949,7 +5905,7 @@ yyreduce: break; case 161: -#line 2074 "Gmsh.y" +#line 2030 "Gmsh.y" { LoopControlVariablesTab[ImbricatedLoop][0] = (yyvsp[(3) - (8)].d); LoopControlVariablesTab[ImbricatedLoop][1] = (yyvsp[(5) - (8)].d); @@ -5969,7 +5925,7 @@ yyreduce: break; case 162: -#line 2091 "Gmsh.y" +#line 2047 "Gmsh.y" { LoopControlVariablesTab[ImbricatedLoop][0] = (yyvsp[(5) - (8)].d); LoopControlVariablesTab[ImbricatedLoop][1] = (yyvsp[(7) - (8)].d); @@ -5991,7 +5947,7 @@ yyreduce: break; case 163: -#line 2110 "Gmsh.y" +#line 2066 "Gmsh.y" { LoopControlVariablesTab[ImbricatedLoop][0] = (yyvsp[(5) - (10)].d); LoopControlVariablesTab[ImbricatedLoop][1] = (yyvsp[(7) - (10)].d); @@ -6013,7 +5969,7 @@ yyreduce: break; case 164: -#line 2129 "Gmsh.y" +#line 2085 "Gmsh.y" { if(ImbricatedLoop <= 0){ yymsg(0, "Invalid For/EndFor loop"); @@ -6044,7 +6000,7 @@ yyreduce: break; case 165: -#line 2157 "Gmsh.y" +#line 2113 "Gmsh.y" { if(!FunctionManager::Instance()->createFunction ((yyvsp[(2) - (2)].c), gmsh_yyin, gmsh_yyname, gmsh_yylineno)) @@ -6055,7 +6011,7 @@ yyreduce: break; case 166: -#line 2165 "Gmsh.y" +#line 2121 "Gmsh.y" { if(!FunctionManager::Instance()->leaveFunction (&gmsh_yyin, gmsh_yyname, gmsh_yylineno)) @@ -6064,7 +6020,7 @@ yyreduce: break; case 167: -#line 2171 "Gmsh.y" +#line 2127 "Gmsh.y" { if(!FunctionManager::Instance()->enterFunction ((yyvsp[(2) - (3)].c), &gmsh_yyin, gmsh_yyname, gmsh_yylineno)) @@ -6074,20 +6030,20 @@ yyreduce: break; case 168: -#line 2178 "Gmsh.y" +#line 2134 "Gmsh.y" { if(!(yyvsp[(3) - (4)].d)) skip_until("If", "EndIf"); ;} break; case 169: -#line 2182 "Gmsh.y" +#line 2138 "Gmsh.y" { ;} break; case 170: -#line 2191 "Gmsh.y" +#line 2147 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(TRANSLATE, (yyvsp[(4) - (5)].l), @@ -6098,7 +6054,7 @@ yyreduce: break; case 171: -#line 2199 "Gmsh.y" +#line 2155 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(ROTATE, (yyvsp[(10) - (11)].l), @@ -6109,7 +6065,7 @@ yyreduce: break; case 172: -#line 2207 "Gmsh.y" +#line 2163 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(TRANSLATE_ROTATE, (yyvsp[(12) - (13)].l), @@ -6120,14 +6076,14 @@ yyreduce: break; case 173: -#line 2215 "Gmsh.y" +#line 2171 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; case 174: -#line 2219 "Gmsh.y" +#line 2175 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(TRANSLATE, (yyvsp[(4) - (7)].l), @@ -6138,14 +6094,14 @@ yyreduce: break; case 175: -#line 2227 "Gmsh.y" +#line 2183 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; case 176: -#line 2231 "Gmsh.y" +#line 2187 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(ROTATE, (yyvsp[(10) - (13)].l), @@ -6156,14 +6112,14 @@ yyreduce: break; case 177: -#line 2239 "Gmsh.y" +#line 2195 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; case 178: -#line 2243 "Gmsh.y" +#line 2199 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(TRANSLATE_ROTATE, (yyvsp[(12) - (15)].l), @@ -6174,14 +6130,14 @@ yyreduce: break; case 179: -#line 2251 "Gmsh.y" +#line 2207 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; case 180: -#line 2255 "Gmsh.y" +#line 2211 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(BOUNDARY_LAYER, (yyvsp[(3) - (6)].l), 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., @@ -6191,7 +6147,7 @@ yyreduce: break; case 181: -#line 2264 "Gmsh.y" +#line 2220 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_POINT, (int)(yyvsp[(4) - (8)].d), @@ -6201,7 +6157,7 @@ yyreduce: break; case 182: -#line 2271 "Gmsh.y" +#line 2227 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (8)].d), @@ -6211,7 +6167,7 @@ yyreduce: break; case 183: -#line 2278 "Gmsh.y" +#line 2234 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (8)].d), @@ -6221,7 +6177,7 @@ yyreduce: break; case 184: -#line 2285 "Gmsh.y" +#line 2241 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_POINT, (int)(yyvsp[(4) - (12)].d), @@ -6231,7 +6187,7 @@ yyreduce: break; case 185: -#line 2292 "Gmsh.y" +#line 2248 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (12)].d), @@ -6241,7 +6197,7 @@ yyreduce: break; case 186: -#line 2299 "Gmsh.y" +#line 2255 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (12)].d), @@ -6251,7 +6207,7 @@ yyreduce: break; case 187: -#line 2306 "Gmsh.y" +#line 2262 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_POINT, (int)(yyvsp[(4) - (14)].d), @@ -6261,7 +6217,7 @@ yyreduce: break; case 188: -#line 2313 "Gmsh.y" +#line 2269 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (14)].d), @@ -6271,7 +6227,7 @@ yyreduce: break; case 189: -#line 2320 "Gmsh.y" +#line 2276 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (14)].d), @@ -6281,14 +6237,14 @@ yyreduce: break; case 190: -#line 2327 "Gmsh.y" +#line 2283 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; case 191: -#line 2331 "Gmsh.y" +#line 2287 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_POINT, (int)(yyvsp[(4) - (12)].d), @@ -6298,14 +6254,14 @@ yyreduce: break; case 192: -#line 2338 "Gmsh.y" +#line 2294 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; case 193: -#line 2342 "Gmsh.y" +#line 2298 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (12)].d), @@ -6315,14 +6271,14 @@ yyreduce: break; case 194: -#line 2349 "Gmsh.y" +#line 2305 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; case 195: -#line 2353 "Gmsh.y" +#line 2309 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (12)].d), @@ -6332,14 +6288,14 @@ yyreduce: break; case 196: -#line 2360 "Gmsh.y" +#line 2316 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; case 197: -#line 2364 "Gmsh.y" +#line 2320 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_POINT, (int)(yyvsp[(4) - (16)].d), @@ -6349,14 +6305,14 @@ yyreduce: break; case 198: -#line 2371 "Gmsh.y" +#line 2327 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; case 199: -#line 2375 "Gmsh.y" +#line 2331 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (16)].d), @@ -6366,14 +6322,14 @@ yyreduce: break; case 200: -#line 2382 "Gmsh.y" +#line 2338 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; case 201: -#line 2386 "Gmsh.y" +#line 2342 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (16)].d), @@ -6383,14 +6339,14 @@ yyreduce: break; case 202: -#line 2393 "Gmsh.y" +#line 2349 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; case 203: -#line 2397 "Gmsh.y" +#line 2353 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_POINT, (int)(yyvsp[(4) - (18)].d), @@ -6400,14 +6356,14 @@ yyreduce: break; case 204: -#line 2404 "Gmsh.y" +#line 2360 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; case 205: -#line 2408 "Gmsh.y" +#line 2364 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (18)].d), @@ -6417,14 +6373,14 @@ yyreduce: break; case 206: -#line 2415 "Gmsh.y" +#line 2371 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; case 207: -#line 2419 "Gmsh.y" +#line 2375 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (18)].d), @@ -6434,19 +6390,19 @@ yyreduce: break; case 208: -#line 2430 "Gmsh.y" +#line 2386 "Gmsh.y" { ;} break; case 209: -#line 2433 "Gmsh.y" +#line 2389 "Gmsh.y" { ;} break; case 210: -#line 2439 "Gmsh.y" +#line 2395 "Gmsh.y" { extr.mesh.ExtrudeMesh = true; extr.mesh.NbLayer = 1; @@ -6458,7 +6414,7 @@ yyreduce: break; case 211: -#line 2448 "Gmsh.y" +#line 2404 "Gmsh.y" { extr.mesh.ExtrudeMesh = true; extr.mesh.NbLayer = List_Nbr((yyvsp[(3) - (7)].l)); @@ -6481,7 +6437,7 @@ yyreduce: break; case 212: -#line 2468 "Gmsh.y" +#line 2424 "Gmsh.y" { yymsg(0, "Explicit region numbers in layers are deprecated"); extr.mesh.ExtrudeMesh = true; @@ -6507,14 +6463,14 @@ yyreduce: break; case 213: -#line 2491 "Gmsh.y" +#line 2447 "Gmsh.y" { extr.mesh.Recombine = true; ;} break; case 214: -#line 2495 "Gmsh.y" +#line 2451 "Gmsh.y" { int num = (int)(yyvsp[(3) - (9)].d); if(FindSurface(num)){ @@ -6536,14 +6492,14 @@ yyreduce: break; case 215: -#line 2518 "Gmsh.y" +#line 2474 "Gmsh.y" { (yyval.v)[0] = (yyval.v)[1] = 1.; ;} break; case 216: -#line 2522 "Gmsh.y" +#line 2478 "Gmsh.y" { if(!strcmp((yyvsp[(2) - (3)].c), "Progression") || !strcmp((yyvsp[(2) - (3)].c), "Power")) (yyval.v)[0] = 1.; @@ -6559,14 +6515,14 @@ yyreduce: break; case 217: -#line 2537 "Gmsh.y" +#line 2493 "Gmsh.y" { (yyval.i) = -1; // left ;} break; case 218: -#line 2541 "Gmsh.y" +#line 2497 "Gmsh.y" { if(!strcmp((yyvsp[(1) - (1)].c), "Right")) (yyval.i) = 1; @@ -6579,35 +6535,35 @@ yyreduce: break; case 219: -#line 2553 "Gmsh.y" +#line 2509 "Gmsh.y" { (yyval.l) = List_Create(1, 1, sizeof(double)); ;} break; case 220: -#line 2557 "Gmsh.y" +#line 2513 "Gmsh.y" { (yyval.l) = (yyvsp[(2) - (2)].l); ;} break; case 221: -#line 2562 "Gmsh.y" +#line 2518 "Gmsh.y" { (yyval.i) = 45; ;} break; case 222: -#line 2566 "Gmsh.y" +#line 2522 "Gmsh.y" { (yyval.i) = (int)(yyvsp[(2) - (2)].d); ;} break; case 223: -#line 2573 "Gmsh.y" +#line 2529 "Gmsh.y" { int type = (int)(yyvsp[(6) - (7)].v)[0]; double coef = fabs((yyvsp[(6) - (7)].v)[1]); @@ -6666,7 +6622,7 @@ yyreduce: break; case 224: -#line 2629 "Gmsh.y" +#line 2585 "Gmsh.y" { int k = List_Nbr((yyvsp[(4) - (6)].l)); if(k != 0 && k != 3 && k != 4){ @@ -6739,7 +6695,7 @@ yyreduce: break; case 225: -#line 2699 "Gmsh.y" +#line 2655 "Gmsh.y" { yymsg(1, "Elliptic Surface is deprecated: use Transfinite instead (with smoothing)"); List_Delete((yyvsp[(7) - (8)].l)); @@ -6747,7 +6703,7 @@ yyreduce: break; case 226: -#line 2704 "Gmsh.y" +#line 2660 "Gmsh.y" { int k = List_Nbr((yyvsp[(4) - (5)].l)); if(k != 0 && k != 6 && k != 8){ @@ -6817,7 +6773,7 @@ yyreduce: break; case 227: -#line 2771 "Gmsh.y" +#line 2727 "Gmsh.y" { if(!(yyvsp[(3) - (5)].l)){ List_T *tmp = Tree2List(GModel::current()->getGEOInternals()->Surfaces); @@ -6863,7 +6819,7 @@ yyreduce: break; case 228: -#line 2814 "Gmsh.y" +#line 2770 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (6)].l)); i++){ double d; @@ -6886,7 +6842,7 @@ yyreduce: break; case 229: -#line 2840 "Gmsh.y" +#line 2796 "Gmsh.y" { Surface *s = FindSurface((int)(yyvsp[(8) - (10)].d)); if(s){ @@ -6912,7 +6868,7 @@ yyreduce: break; case 230: -#line 2863 "Gmsh.y" +#line 2819 "Gmsh.y" { Surface *s = FindSurface((int)(yyvsp[(8) - (10)].d)); if(s){ @@ -6938,26 +6894,26 @@ yyreduce: break; case 231: -#line 2886 "Gmsh.y" +#line 2842 "Gmsh.y" { ;} break; case 232: -#line 2889 "Gmsh.y" +#line 2845 "Gmsh.y" { ;} break; case 233: -#line 2898 "Gmsh.y" +#line 2854 "Gmsh.y" { ReplaceAllDuplicates(); ;} break; case 234: -#line 2902 "Gmsh.y" +#line 2858 "Gmsh.y" { if(!strcmp((yyvsp[(2) - (3)].c), "Geometry")) ReplaceAllDuplicates(); @@ -6970,47 +6926,47 @@ yyreduce: break; case 235: -#line 2917 "Gmsh.y" +#line 2873 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (1)].d); ;} break; case 236: -#line 2918 "Gmsh.y" +#line 2874 "Gmsh.y" { (yyval.d) = (yyvsp[(2) - (3)].d); ;} break; case 237: -#line 2919 "Gmsh.y" +#line 2875 "Gmsh.y" { (yyval.d) = -(yyvsp[(2) - (2)].d); ;} break; case 238: -#line 2920 "Gmsh.y" +#line 2876 "Gmsh.y" { (yyval.d) = (yyvsp[(2) - (2)].d); ;} break; case 239: -#line 2921 "Gmsh.y" +#line 2877 "Gmsh.y" { (yyval.d) = !(yyvsp[(2) - (2)].d); ;} break; case 240: -#line 2922 "Gmsh.y" +#line 2878 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) - (yyvsp[(3) - (3)].d); ;} break; case 241: -#line 2923 "Gmsh.y" +#line 2879 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) + (yyvsp[(3) - (3)].d); ;} break; case 242: -#line 2924 "Gmsh.y" +#line 2880 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) * (yyvsp[(3) - (3)].d); ;} break; case 243: -#line 2926 "Gmsh.y" +#line 2882 "Gmsh.y" { if(!(yyvsp[(3) - (3)].d)) yymsg(0, "Division by zero in '%g / %g'", (yyvsp[(1) - (3)].d), (yyvsp[(3) - (3)].d)); @@ -7020,307 +6976,307 @@ yyreduce: break; case 244: -#line 2932 "Gmsh.y" +#line 2888 "Gmsh.y" { (yyval.d) = (int)(yyvsp[(1) - (3)].d) % (int)(yyvsp[(3) - (3)].d); ;} break; case 245: -#line 2933 "Gmsh.y" +#line 2889 "Gmsh.y" { (yyval.d) = pow((yyvsp[(1) - (3)].d), (yyvsp[(3) - (3)].d)); ;} break; case 246: -#line 2934 "Gmsh.y" +#line 2890 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) < (yyvsp[(3) - (3)].d); ;} break; case 247: -#line 2935 "Gmsh.y" +#line 2891 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) > (yyvsp[(3) - (3)].d); ;} break; case 248: -#line 2936 "Gmsh.y" +#line 2892 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) <= (yyvsp[(3) - (3)].d); ;} break; case 249: -#line 2937 "Gmsh.y" +#line 2893 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) >= (yyvsp[(3) - (3)].d); ;} break; case 250: -#line 2938 "Gmsh.y" +#line 2894 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) == (yyvsp[(3) - (3)].d); ;} break; case 251: -#line 2939 "Gmsh.y" +#line 2895 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) != (yyvsp[(3) - (3)].d); ;} break; case 252: -#line 2940 "Gmsh.y" +#line 2896 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) && (yyvsp[(3) - (3)].d); ;} break; case 253: -#line 2941 "Gmsh.y" +#line 2897 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) || (yyvsp[(3) - (3)].d); ;} break; case 254: -#line 2942 "Gmsh.y" +#line 2898 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (5)].d) ? (yyvsp[(3) - (5)].d) : (yyvsp[(5) - (5)].d); ;} break; case 255: -#line 2943 "Gmsh.y" +#line 2899 "Gmsh.y" { (yyval.d) = exp((yyvsp[(3) - (4)].d)); ;} break; case 256: -#line 2944 "Gmsh.y" +#line 2900 "Gmsh.y" { (yyval.d) = log((yyvsp[(3) - (4)].d)); ;} break; case 257: -#line 2945 "Gmsh.y" +#line 2901 "Gmsh.y" { (yyval.d) = log10((yyvsp[(3) - (4)].d)); ;} break; case 258: -#line 2946 "Gmsh.y" +#line 2902 "Gmsh.y" { (yyval.d) = sqrt((yyvsp[(3) - (4)].d)); ;} break; case 259: -#line 2947 "Gmsh.y" +#line 2903 "Gmsh.y" { (yyval.d) = sin((yyvsp[(3) - (4)].d)); ;} break; case 260: -#line 2948 "Gmsh.y" +#line 2904 "Gmsh.y" { (yyval.d) = asin((yyvsp[(3) - (4)].d)); ;} break; case 261: -#line 2949 "Gmsh.y" +#line 2905 "Gmsh.y" { (yyval.d) = cos((yyvsp[(3) - (4)].d)); ;} break; case 262: -#line 2950 "Gmsh.y" +#line 2906 "Gmsh.y" { (yyval.d) = acos((yyvsp[(3) - (4)].d)); ;} break; case 263: -#line 2951 "Gmsh.y" +#line 2907 "Gmsh.y" { (yyval.d) = tan((yyvsp[(3) - (4)].d)); ;} break; case 264: -#line 2952 "Gmsh.y" +#line 2908 "Gmsh.y" { (yyval.d) = atan((yyvsp[(3) - (4)].d)); ;} break; case 265: -#line 2953 "Gmsh.y" +#line 2909 "Gmsh.y" { (yyval.d) = atan2((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d));;} break; case 266: -#line 2954 "Gmsh.y" +#line 2910 "Gmsh.y" { (yyval.d) = sinh((yyvsp[(3) - (4)].d)); ;} break; case 267: -#line 2955 "Gmsh.y" +#line 2911 "Gmsh.y" { (yyval.d) = cosh((yyvsp[(3) - (4)].d)); ;} break; case 268: -#line 2956 "Gmsh.y" +#line 2912 "Gmsh.y" { (yyval.d) = tanh((yyvsp[(3) - (4)].d)); ;} break; case 269: -#line 2957 "Gmsh.y" +#line 2913 "Gmsh.y" { (yyval.d) = fabs((yyvsp[(3) - (4)].d)); ;} break; case 270: -#line 2958 "Gmsh.y" +#line 2914 "Gmsh.y" { (yyval.d) = floor((yyvsp[(3) - (4)].d)); ;} break; case 271: -#line 2959 "Gmsh.y" +#line 2915 "Gmsh.y" { (yyval.d) = ceil((yyvsp[(3) - (4)].d)); ;} break; case 272: -#line 2960 "Gmsh.y" +#line 2916 "Gmsh.y" { (yyval.d) = fmod((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d)); ;} break; case 273: -#line 2961 "Gmsh.y" +#line 2917 "Gmsh.y" { (yyval.d) = fmod((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d)); ;} break; case 274: -#line 2962 "Gmsh.y" +#line 2918 "Gmsh.y" { (yyval.d) = sqrt((yyvsp[(3) - (6)].d) * (yyvsp[(3) - (6)].d) + (yyvsp[(5) - (6)].d) * (yyvsp[(5) - (6)].d)); ;} break; case 275: -#line 2963 "Gmsh.y" +#line 2919 "Gmsh.y" { (yyval.d) = (yyvsp[(3) - (4)].d) * (double)rand() / (double)RAND_MAX; ;} break; case 276: -#line 2965 "Gmsh.y" +#line 2921 "Gmsh.y" { (yyval.d) = exp((yyvsp[(3) - (4)].d)); ;} break; case 277: -#line 2966 "Gmsh.y" +#line 2922 "Gmsh.y" { (yyval.d) = log((yyvsp[(3) - (4)].d)); ;} break; case 278: -#line 2967 "Gmsh.y" +#line 2923 "Gmsh.y" { (yyval.d) = log10((yyvsp[(3) - (4)].d)); ;} break; case 279: -#line 2968 "Gmsh.y" +#line 2924 "Gmsh.y" { (yyval.d) = sqrt((yyvsp[(3) - (4)].d)); ;} break; case 280: -#line 2969 "Gmsh.y" +#line 2925 "Gmsh.y" { (yyval.d) = sin((yyvsp[(3) - (4)].d)); ;} break; case 281: -#line 2970 "Gmsh.y" +#line 2926 "Gmsh.y" { (yyval.d) = asin((yyvsp[(3) - (4)].d)); ;} break; case 282: -#line 2971 "Gmsh.y" +#line 2927 "Gmsh.y" { (yyval.d) = cos((yyvsp[(3) - (4)].d)); ;} break; case 283: -#line 2972 "Gmsh.y" +#line 2928 "Gmsh.y" { (yyval.d) = acos((yyvsp[(3) - (4)].d)); ;} break; case 284: -#line 2973 "Gmsh.y" +#line 2929 "Gmsh.y" { (yyval.d) = tan((yyvsp[(3) - (4)].d)); ;} break; case 285: -#line 2974 "Gmsh.y" +#line 2930 "Gmsh.y" { (yyval.d) = atan((yyvsp[(3) - (4)].d)); ;} break; case 286: -#line 2975 "Gmsh.y" +#line 2931 "Gmsh.y" { (yyval.d) = atan2((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d));;} break; case 287: -#line 2976 "Gmsh.y" +#line 2932 "Gmsh.y" { (yyval.d) = sinh((yyvsp[(3) - (4)].d)); ;} break; case 288: -#line 2977 "Gmsh.y" +#line 2933 "Gmsh.y" { (yyval.d) = cosh((yyvsp[(3) - (4)].d)); ;} break; case 289: -#line 2978 "Gmsh.y" +#line 2934 "Gmsh.y" { (yyval.d) = tanh((yyvsp[(3) - (4)].d)); ;} break; case 290: -#line 2979 "Gmsh.y" +#line 2935 "Gmsh.y" { (yyval.d) = fabs((yyvsp[(3) - (4)].d)); ;} break; case 291: -#line 2980 "Gmsh.y" +#line 2936 "Gmsh.y" { (yyval.d) = floor((yyvsp[(3) - (4)].d)); ;} break; case 292: -#line 2981 "Gmsh.y" +#line 2937 "Gmsh.y" { (yyval.d) = ceil((yyvsp[(3) - (4)].d)); ;} break; case 293: -#line 2982 "Gmsh.y" +#line 2938 "Gmsh.y" { (yyval.d) = fmod((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d)); ;} break; case 294: -#line 2983 "Gmsh.y" +#line 2939 "Gmsh.y" { (yyval.d) = fmod((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d)); ;} break; case 295: -#line 2984 "Gmsh.y" +#line 2940 "Gmsh.y" { (yyval.d) = sqrt((yyvsp[(3) - (6)].d) * (yyvsp[(3) - (6)].d) + (yyvsp[(5) - (6)].d) * (yyvsp[(5) - (6)].d)); ;} break; case 296: -#line 2985 "Gmsh.y" +#line 2941 "Gmsh.y" { (yyval.d) = (yyvsp[(3) - (4)].d) * (double)rand() / (double)RAND_MAX; ;} break; case 297: -#line 2994 "Gmsh.y" +#line 2950 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (1)].d); ;} break; case 298: -#line 2995 "Gmsh.y" +#line 2951 "Gmsh.y" { (yyval.d) = 3.141592653589793; ;} break; case 299: -#line 2996 "Gmsh.y" +#line 2952 "Gmsh.y" { (yyval.d) = Msg::GetCommRank(); ;} break; case 300: -#line 2997 "Gmsh.y" +#line 2953 "Gmsh.y" { (yyval.d) = Msg::GetCommSize(); ;} break; case 301: -#line 2998 "Gmsh.y" +#line 2954 "Gmsh.y" { (yyval.d) = GetGmshMajorVersion(); ;} break; case 302: -#line 2999 "Gmsh.y" +#line 2955 "Gmsh.y" { (yyval.d) = GetGmshMinorVersion(); ;} break; case 303: -#line 3000 "Gmsh.y" +#line 2956 "Gmsh.y" { (yyval.d) = GetGmshPatchVersion(); ;} break; case 304: -#line 3005 "Gmsh.y" +#line 2961 "Gmsh.y" { if(!gmsh_yysymbols.count((yyvsp[(1) - (1)].c))){ yymsg(0, "Unknown variable '%s'", (yyvsp[(1) - (1)].c)); @@ -7333,7 +7289,7 @@ yyreduce: break; case 305: -#line 3018 "Gmsh.y" +#line 2974 "Gmsh.y" { char tmpstring[1024]; sprintf(tmpstring, "%s_%d", (yyvsp[(1) - (5)].c), (int)(yyvsp[(4) - (5)].d)) ; @@ -7348,7 +7304,7 @@ yyreduce: break; case 306: -#line 3030 "Gmsh.y" +#line 2986 "Gmsh.y" { int index = (int)(yyvsp[(3) - (4)].d); if(!gmsh_yysymbols.count((yyvsp[(1) - (4)].c))){ @@ -7366,7 +7322,7 @@ yyreduce: break; case 307: -#line 3045 "Gmsh.y" +#line 3001 "Gmsh.y" { if(!gmsh_yysymbols.count((yyvsp[(2) - (4)].c))){ yymsg(0, "Unknown variable '%s'", (yyvsp[(2) - (4)].c)); @@ -7379,7 +7335,7 @@ yyreduce: break; case 308: -#line 3055 "Gmsh.y" +#line 3011 "Gmsh.y" { if(!gmsh_yysymbols.count((yyvsp[(1) - (2)].c))){ yymsg(0, "Unknown variable '%s'", (yyvsp[(1) - (2)].c)); @@ -7392,7 +7348,7 @@ yyreduce: break; case 309: -#line 3065 "Gmsh.y" +#line 3021 "Gmsh.y" { int index = (int)(yyvsp[(3) - (5)].d); if(!gmsh_yysymbols.count((yyvsp[(1) - (5)].c))){ @@ -7410,7 +7366,7 @@ yyreduce: break; case 310: -#line 3083 "Gmsh.y" +#line 3039 "Gmsh.y" { NumberOption(GMSH_GET, (yyvsp[(1) - (3)].c), 0, (yyvsp[(3) - (3)].c), (yyval.d)); Free((yyvsp[(1) - (3)].c)); Free((yyvsp[(3) - (3)].c)); @@ -7418,7 +7374,7 @@ yyreduce: break; case 311: -#line 3088 "Gmsh.y" +#line 3044 "Gmsh.y" { NumberOption(GMSH_GET, (yyvsp[(1) - (6)].c), (int)(yyvsp[(3) - (6)].d), (yyvsp[(6) - (6)].c), (yyval.d)); Free((yyvsp[(1) - (6)].c)); Free((yyvsp[(6) - (6)].c)); @@ -7426,7 +7382,7 @@ yyreduce: break; case 312: -#line 3093 "Gmsh.y" +#line 3049 "Gmsh.y" { double d = 0.; if(NumberOption(GMSH_GET, (yyvsp[(1) - (4)].c), 0, (yyvsp[(3) - (4)].c), d)){ @@ -7439,7 +7395,7 @@ yyreduce: break; case 313: -#line 3103 "Gmsh.y" +#line 3059 "Gmsh.y" { double d = 0.; if(NumberOption(GMSH_GET, (yyvsp[(1) - (7)].c), (int)(yyvsp[(3) - (7)].d), (yyvsp[(6) - (7)].c), d)){ @@ -7452,7 +7408,7 @@ yyreduce: break; case 314: -#line 3113 "Gmsh.y" +#line 3069 "Gmsh.y" { (yyval.d) = Msg::GetValue((yyvsp[(3) - (6)].c), (yyvsp[(5) - (6)].d)); Free((yyvsp[(3) - (6)].c)); @@ -7460,70 +7416,70 @@ yyreduce: break; case 315: -#line 3121 "Gmsh.y" +#line 3077 "Gmsh.y" { memcpy((yyval.v), (yyvsp[(1) - (1)].v), 5*sizeof(double)); ;} break; case 316: -#line 3125 "Gmsh.y" +#line 3081 "Gmsh.y" { for(int i = 0; i < 5; i++) (yyval.v)[i] = -(yyvsp[(2) - (2)].v)[i]; ;} break; case 317: -#line 3129 "Gmsh.y" +#line 3085 "Gmsh.y" { for(int i = 0; i < 5; i++) (yyval.v)[i] = (yyvsp[(2) - (2)].v)[i]; ;} break; case 318: -#line 3133 "Gmsh.y" +#line 3089 "Gmsh.y" { for(int i = 0; i < 5; i++) (yyval.v)[i] = (yyvsp[(1) - (3)].v)[i] - (yyvsp[(3) - (3)].v)[i]; ;} break; case 319: -#line 3137 "Gmsh.y" +#line 3093 "Gmsh.y" { for(int i = 0; i < 5; i++) (yyval.v)[i] = (yyvsp[(1) - (3)].v)[i] + (yyvsp[(3) - (3)].v)[i]; ;} break; case 320: -#line 3144 "Gmsh.y" +#line 3100 "Gmsh.y" { (yyval.v)[0] = (yyvsp[(2) - (11)].d); (yyval.v)[1] = (yyvsp[(4) - (11)].d); (yyval.v)[2] = (yyvsp[(6) - (11)].d); (yyval.v)[3] = (yyvsp[(8) - (11)].d); (yyval.v)[4] = (yyvsp[(10) - (11)].d); ;} break; case 321: -#line 3148 "Gmsh.y" +#line 3104 "Gmsh.y" { (yyval.v)[0] = (yyvsp[(2) - (9)].d); (yyval.v)[1] = (yyvsp[(4) - (9)].d); (yyval.v)[2] = (yyvsp[(6) - (9)].d); (yyval.v)[3] = (yyvsp[(8) - (9)].d); (yyval.v)[4] = 1.0; ;} break; case 322: -#line 3152 "Gmsh.y" +#line 3108 "Gmsh.y" { (yyval.v)[0] = (yyvsp[(2) - (7)].d); (yyval.v)[1] = (yyvsp[(4) - (7)].d); (yyval.v)[2] = (yyvsp[(6) - (7)].d); (yyval.v)[3] = 0.0; (yyval.v)[4] = 1.0; ;} break; case 323: -#line 3156 "Gmsh.y" +#line 3112 "Gmsh.y" { (yyval.v)[0] = (yyvsp[(2) - (7)].d); (yyval.v)[1] = (yyvsp[(4) - (7)].d); (yyval.v)[2] = (yyvsp[(6) - (7)].d); (yyval.v)[3] = 0.0; (yyval.v)[4] = 1.0; ;} break; case 324: -#line 3163 "Gmsh.y" +#line 3119 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(List_T*)); List_Add((yyval.l), &((yyvsp[(1) - (1)].l))); @@ -7531,14 +7487,14 @@ yyreduce: break; case 325: -#line 3168 "Gmsh.y" +#line 3124 "Gmsh.y" { List_Add((yyval.l), &((yyvsp[(3) - (3)].l))); ;} break; case 326: -#line 3175 "Gmsh.y" +#line 3131 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); List_Add((yyval.l), &((yyvsp[(1) - (1)].d))); @@ -7546,14 +7502,14 @@ yyreduce: break; case 327: -#line 3180 "Gmsh.y" +#line 3136 "Gmsh.y" { (yyval.l) = (yyvsp[(1) - (1)].l); ;} break; case 328: -#line 3184 "Gmsh.y" +#line 3140 "Gmsh.y" { // creates an empty list (yyval.l) = List_Create(2, 1, sizeof(double)); @@ -7561,14 +7517,14 @@ yyreduce: break; case 329: -#line 3189 "Gmsh.y" +#line 3145 "Gmsh.y" { (yyval.l) = (yyvsp[(2) - (3)].l); ;} break; case 330: -#line 3193 "Gmsh.y" +#line 3149 "Gmsh.y" { (yyval.l) = (yyvsp[(3) - (4)].l); for(int i = 0; i < List_Nbr((yyval.l)); i++){ @@ -7579,7 +7535,7 @@ yyreduce: break; case 331: -#line 3201 "Gmsh.y" +#line 3157 "Gmsh.y" { (yyval.l) = (yyvsp[(4) - (5)].l); for(int i = 0; i < List_Nbr((yyval.l)); i++){ @@ -7590,14 +7546,14 @@ yyreduce: break; case 332: -#line 3212 "Gmsh.y" +#line 3168 "Gmsh.y" { (yyval.l) = (yyvsp[(1) - (1)].l); ;} break; case 333: -#line 3216 "Gmsh.y" +#line 3172 "Gmsh.y" { if(!strcmp((yyvsp[(1) - (1)].c), "*") || !strcmp((yyvsp[(1) - (1)].c), "all")) (yyval.l) = 0; @@ -7609,7 +7565,7 @@ yyreduce: break; case 334: -#line 3228 "Gmsh.y" +#line 3184 "Gmsh.y" { (yyval.l) = (yyvsp[(2) - (2)].l); for(int i = 0; i < List_Nbr((yyval.l)); i++){ @@ -7620,7 +7576,7 @@ yyreduce: break; case 335: -#line 3236 "Gmsh.y" +#line 3192 "Gmsh.y" { (yyval.l) = (yyvsp[(3) - (3)].l); for(int i = 0; i < List_Nbr((yyval.l)); i++){ @@ -7631,7 +7587,7 @@ yyreduce: break; case 336: -#line 3244 "Gmsh.y" +#line 3200 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); for(double d = (yyvsp[(1) - (3)].d); ((yyvsp[(1) - (3)].d) < (yyvsp[(3) - (3)].d)) ? (d <= (yyvsp[(3) - (3)].d)) : (d >= (yyvsp[(3) - (3)].d)); @@ -7641,7 +7597,7 @@ yyreduce: break; case 337: -#line 3251 "Gmsh.y" +#line 3207 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); if(!(yyvsp[(5) - (5)].d) || ((yyvsp[(1) - (5)].d) < (yyvsp[(3) - (5)].d) && (yyvsp[(5) - (5)].d) < 0) || ((yyvsp[(1) - (5)].d) > (yyvsp[(3) - (5)].d) && (yyvsp[(5) - (5)].d) > 0)){ @@ -7655,7 +7611,7 @@ yyreduce: break; case 338: -#line 3262 "Gmsh.y" +#line 3218 "Gmsh.y" { // Returns the coordinates of a point and fills a list with it. // This allows to ensure e.g. that relative point positions are @@ -7678,7 +7634,7 @@ yyreduce: break; case 339: -#line 3282 "Gmsh.y" +#line 3238 "Gmsh.y" { (yyval.l) = List_Create(List_Nbr((yyvsp[(1) - (1)].l)), 1, sizeof(double)); for(int i = 0; i < List_Nbr((yyvsp[(1) - (1)].l)); i++){ @@ -7691,7 +7647,7 @@ yyreduce: break; case 340: -#line 3292 "Gmsh.y" +#line 3248 "Gmsh.y" { (yyval.l) = List_Create(List_Nbr((yyvsp[(1) - (1)].l)), 1, sizeof(double)); for(int i = 0; i < List_Nbr((yyvsp[(1) - (1)].l)); i++){ @@ -7704,7 +7660,7 @@ yyreduce: break; case 341: -#line 3302 "Gmsh.y" +#line 3258 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); if(!gmsh_yysymbols.count((yyvsp[(1) - (3)].c))) @@ -7717,7 +7673,7 @@ yyreduce: break; case 342: -#line 3312 "Gmsh.y" +#line 3268 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); if(!gmsh_yysymbols.count((yyvsp[(1) - (6)].c))) @@ -7737,7 +7693,7 @@ yyreduce: break; case 343: -#line 3332 "Gmsh.y" +#line 3288 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); List_Add((yyval.l), &((yyvsp[(1) - (1)].d))); @@ -7745,21 +7701,21 @@ yyreduce: break; case 344: -#line 3337 "Gmsh.y" +#line 3293 "Gmsh.y" { (yyval.l) = (yyvsp[(1) - (1)].l); ;} break; case 345: -#line 3341 "Gmsh.y" +#line 3297 "Gmsh.y" { List_Add((yyval.l), &((yyvsp[(3) - (3)].d))); ;} break; case 346: -#line 3345 "Gmsh.y" +#line 3301 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (3)].l)); i++){ double d; @@ -7771,21 +7727,21 @@ yyreduce: break; case 347: -#line 3357 "Gmsh.y" +#line 3313 "Gmsh.y" { (yyval.u) = CTX::instance()->packColor((int)(yyvsp[(2) - (9)].d), (int)(yyvsp[(4) - (9)].d), (int)(yyvsp[(6) - (9)].d), (int)(yyvsp[(8) - (9)].d)); ;} break; case 348: -#line 3361 "Gmsh.y" +#line 3317 "Gmsh.y" { (yyval.u) = CTX::instance()->packColor((int)(yyvsp[(2) - (7)].d), (int)(yyvsp[(4) - (7)].d), (int)(yyvsp[(6) - (7)].d), 255); ;} break; case 349: -#line 3373 "Gmsh.y" +#line 3329 "Gmsh.y" { int flag; (yyval.u) = GetColorForString(ColorString, -1, (yyvsp[(1) - (1)].c), &flag); @@ -7795,7 +7751,7 @@ yyreduce: break; case 350: -#line 3380 "Gmsh.y" +#line 3336 "Gmsh.y" { unsigned int val = 0; ColorOption(GMSH_GET, (yyvsp[(1) - (5)].c), 0, (yyvsp[(5) - (5)].c), val); @@ -7805,14 +7761,14 @@ yyreduce: break; case 351: -#line 3390 "Gmsh.y" +#line 3346 "Gmsh.y" { (yyval.l) = (yyvsp[(2) - (3)].l); ;} break; case 352: -#line 3394 "Gmsh.y" +#line 3350 "Gmsh.y" { (yyval.l) = List_Create(256, 10, sizeof(unsigned int)); GmshColorTable *ct = GetColorTable((int)(yyvsp[(3) - (6)].d)); @@ -7827,7 +7783,7 @@ yyreduce: break; case 353: -#line 3409 "Gmsh.y" +#line 3365 "Gmsh.y" { (yyval.l) = List_Create(256, 10, sizeof(unsigned int)); List_Add((yyval.l), &((yyvsp[(1) - (1)].u))); @@ -7835,21 +7791,21 @@ yyreduce: break; case 354: -#line 3414 "Gmsh.y" +#line 3370 "Gmsh.y" { List_Add((yyval.l), &((yyvsp[(3) - (3)].u))); ;} break; case 355: -#line 3421 "Gmsh.y" +#line 3377 "Gmsh.y" { (yyval.c) = (yyvsp[(1) - (1)].c); ;} break; case 356: -#line 3425 "Gmsh.y" +#line 3381 "Gmsh.y" { if(!gmsh_yystringsymbols.count((yyvsp[(1) - (1)].c))){ yymsg(0, "Unknown string variable '%s'", (yyvsp[(1) - (1)].c)); @@ -7865,7 +7821,7 @@ yyreduce: break; case 357: -#line 3438 "Gmsh.y" +#line 3394 "Gmsh.y" { std::string out; StringOption(GMSH_GET, (yyvsp[(1) - (3)].c), 0, (yyvsp[(3) - (3)].c), out); @@ -7876,7 +7832,7 @@ yyreduce: break; case 358: -#line 3446 "Gmsh.y" +#line 3402 "Gmsh.y" { std::string out; StringOption(GMSH_GET, (yyvsp[(1) - (6)].c), (int)(yyvsp[(3) - (6)].d), (yyvsp[(6) - (6)].c), out); @@ -7887,14 +7843,14 @@ yyreduce: break; case 359: -#line 3457 "Gmsh.y" +#line 3413 "Gmsh.y" { (yyval.c) = (yyvsp[(1) - (1)].c); ;} break; case 360: -#line 3461 "Gmsh.y" +#line 3417 "Gmsh.y" { (yyval.c) = (char *)Malloc(32 * sizeof(char)); time_t now; @@ -7905,7 +7861,7 @@ yyreduce: break; case 361: -#line 3469 "Gmsh.y" +#line 3425 "Gmsh.y" { (yyval.c) = (char *)Malloc((strlen((yyvsp[(3) - (6)].c)) + strlen((yyvsp[(5) - (6)].c)) + 1) * sizeof(char)); strcpy((yyval.c), (yyvsp[(3) - (6)].c)); @@ -7916,7 +7872,7 @@ yyreduce: break; case 362: -#line 3477 "Gmsh.y" +#line 3433 "Gmsh.y" { (yyval.c) = (char *)Malloc((strlen((yyvsp[(3) - (4)].c)) + 1) * sizeof(char)); int i; @@ -7933,7 +7889,7 @@ yyreduce: break; case 363: -#line 3491 "Gmsh.y" +#line 3447 "Gmsh.y" { (yyval.c) = (char *)Malloc((strlen((yyvsp[(3) - (4)].c)) + 1) * sizeof(char)); int i; @@ -7950,14 +7906,14 @@ yyreduce: break; case 364: -#line 3505 "Gmsh.y" +#line 3461 "Gmsh.y" { (yyval.c) = (yyvsp[(3) - (4)].c); ;} break; case 365: -#line 3509 "Gmsh.y" +#line 3465 "Gmsh.y" { char tmpstring[1024]; int i = PrintListOfDouble((yyvsp[(3) - (6)].c), (yyvsp[(5) - (6)].l), tmpstring); @@ -7980,7 +7936,7 @@ yyreduce: /* Line 1267 of yacc.c. */ -#line 7984 "Gmsh.tab.cpp" +#line 7940 "Gmsh.tab.cpp" default: break; } YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); @@ -8194,7 +8150,7 @@ yyreturn: } -#line 3529 "Gmsh.y" +#line 3485 "Gmsh.y" int PrintListOfDouble(char *format, List_T *list, char *buffer) diff --git a/Parser/Gmsh.y b/Parser/Gmsh.y index 59326aa16648566497178d88ad556aff5c03435a..537660846f304962478167212092bfa9bc1fb404 100644 --- a/Parser/Gmsh.y +++ b/Parser/Gmsh.y @@ -50,7 +50,7 @@ static std::map<std::string, std::string > gmsh_yystringsymbols; static PViewDataList *ViewData; #endif static std::vector<double> ViewCoord; -static List_T *ViewValueList = 0; +static std::vector<double> *ViewValueList = 0; static int *ViewNumList = 0; static ExtrudeParams extr; static int curPhysDim = 0; @@ -282,7 +282,7 @@ Views : // nothing { #if !defined(HAVE_NO_POST) - ViewData = new PViewDataList(true); + ViewData = new PViewDataList(); #endif } | Views Element @@ -301,149 +301,107 @@ ElementCoords : ElementValues : FExpr - { if(ViewValueList) List_Add(ViewValueList, &$1); } + { if(ViewValueList) ViewValueList->push_back($1); } | ElementValues ',' FExpr - { if(ViewValueList) List_Add(ViewValueList, &$3); } + { if(ViewValueList) ViewValueList->push_back($3); } ; Element : tSTRING { #if !defined(HAVE_NO_POST) - if(!strcmp($1, "SP")){ - ViewValueList = ViewData->SP; ViewNumList = &ViewData->NbSP; + if(!strncmp($1, "SP", 2)){ + ViewValueList = &ViewData->SP; ViewNumList = &ViewData->NbSP; } - else if(!strcmp($1, "VP")){ - ViewValueList = ViewData->VP; ViewNumList = &ViewData->NbVP; + else if(!strncmp($1, "VP", 2)){ + ViewValueList = &ViewData->VP; ViewNumList = &ViewData->NbVP; } - else if(!strcmp($1, "TP")){ - ViewValueList = ViewData->TP; ViewNumList = &ViewData->NbTP; + else if(!strncmp($1, "TP", 2)){ + ViewValueList = &ViewData->TP; ViewNumList = &ViewData->NbTP; } - else if(!strcmp($1, "SL")){ - ViewValueList = ViewData->SL; ViewNumList = &ViewData->NbSL; + else if(!strncmp($1, "SL", 2)){ + ViewValueList = &ViewData->SL; ViewNumList = &ViewData->NbSL; + if(strlen($1) > 2) ViewData->setOrder2(1); } - else if(!strcmp($1, "VL")){ - ViewValueList = ViewData->VL; ViewNumList = &ViewData->NbVL; + else if(!strncmp($1, "VL", 2)){ + ViewValueList = &ViewData->VL; ViewNumList = &ViewData->NbVL; + if(strlen($1) > 2) ViewData->setOrder2(1); } - else if(!strcmp($1, "TL")){ - ViewValueList = ViewData->TL; ViewNumList = &ViewData->NbTL; + else if(!strncmp($1, "TL", 2)){ + ViewValueList = &ViewData->TL; ViewNumList = &ViewData->NbTL; + if(strlen($1) > 2) ViewData->setOrder2(1); } - else if(!strcmp($1, "ST")){ - ViewValueList = ViewData->ST; ViewNumList = &ViewData->NbST; + else if(!strncmp($1, "ST", 2)){ + ViewValueList = &ViewData->ST; ViewNumList = &ViewData->NbST; + if(strlen($1) > 2) ViewData->setOrder2(3); } - else if(!strcmp($1, "VT")){ - ViewValueList = ViewData->VT; ViewNumList = &ViewData->NbVT; + else if(!strncmp($1, "VT", 2)){ + ViewValueList = &ViewData->VT; ViewNumList = &ViewData->NbVT; + if(strlen($1) > 2) ViewData->setOrder2(3); } - else if(!strcmp($1, "TT")){ - ViewValueList = ViewData->TT; ViewNumList = &ViewData->NbTT; + else if(!strncmp($1, "TT", 2)){ + ViewValueList = &ViewData->TT; ViewNumList = &ViewData->NbTT; + if(strlen($1) > 2) ViewData->setOrder2(3); } - else if(!strcmp($1, "SQ")){ - ViewValueList = ViewData->SQ; ViewNumList = &ViewData->NbSQ; + else if(!strncmp($1, "SQ", 2)){ + ViewValueList = &ViewData->SQ; ViewNumList = &ViewData->NbSQ; + if(strlen($1) > 2) ViewData->setOrder2(4); } - else if(!strcmp($1, "VQ")){ - ViewValueList = ViewData->VQ; ViewNumList = &ViewData->NbVQ; + else if(!strncmp($1, "VQ", 2)){ + ViewValueList = &ViewData->VQ; ViewNumList = &ViewData->NbVQ; + if(strlen($1) > 2) ViewData->setOrder2(4); } - else if(!strcmp($1, "TQ")){ - ViewValueList = ViewData->TQ; ViewNumList = &ViewData->NbTQ; + else if(!strncmp($1, "TQ", 2)){ + ViewValueList = &ViewData->TQ; ViewNumList = &ViewData->NbTQ; + if(strlen($1) > 2) ViewData->setOrder2(4); } - else if(!strcmp($1, "SS")){ - ViewValueList = ViewData->SS; ViewNumList = &ViewData->NbSS; + else if(!strncmp($1, "SS", 2)){ + ViewValueList = &ViewData->SS; ViewNumList = &ViewData->NbSS; + if(strlen($1) > 2) ViewData->setOrder2(6); } - else if(!strcmp($1, "VS")){ - ViewValueList = ViewData->VS; ViewNumList = &ViewData->NbVS; + else if(!strncmp($1, "VS", 2)){ + ViewValueList = &ViewData->VS; ViewNumList = &ViewData->NbVS; + if(strlen($1) > 2) ViewData->setOrder2(6); } - else if(!strcmp($1, "TS")){ - ViewValueList = ViewData->TS; ViewNumList = &ViewData->NbTS; + else if(!strncmp($1, "TS", 2)){ + ViewValueList = &ViewData->TS; ViewNumList = &ViewData->NbTS; + if(strlen($1) > 2) ViewData->setOrder2(6); } - else if(!strcmp($1, "SH")){ - ViewValueList = ViewData->SH; ViewNumList = &ViewData->NbSH; + else if(!strncmp($1, "SH", 2)){ + ViewValueList = &ViewData->SH; ViewNumList = &ViewData->NbSH; + if(strlen($1) > 2) ViewData->setOrder2(12); } - else if(!strcmp($1, "VH")){ - ViewValueList = ViewData->VH; ViewNumList = &ViewData->NbVH; + else if(!strncmp($1, "VH", 2)){ + ViewValueList = &ViewData->VH; ViewNumList = &ViewData->NbVH; + if(strlen($1) > 2) ViewData->setOrder2(12); } - else if(!strcmp($1, "TH")){ - ViewValueList = ViewData->TH; ViewNumList = &ViewData->NbTH; + else if(!strncmp($1, "TH", 2)){ + ViewValueList = &ViewData->TH; ViewNumList = &ViewData->NbTH; + if(strlen($1) > 2) ViewData->setOrder2(12); } - else if(!strcmp($1, "SI")){ - ViewValueList = ViewData->SI; ViewNumList = &ViewData->NbSI; + else if(!strncmp($1, "SI", 2)){ + ViewValueList = &ViewData->SI; ViewNumList = &ViewData->NbSI; + if(strlen($1) > 2) ViewData->setOrder2(9); } - else if(!strcmp($1, "VI")){ - ViewValueList = ViewData->VI; ViewNumList = &ViewData->NbVI; + else if(!strncmp($1, "VI", 2)){ + ViewValueList = &ViewData->VI; ViewNumList = &ViewData->NbVI; + if(strlen($1) > 2) ViewData->setOrder2(9); } - else if(!strcmp($1, "TI")){ - ViewValueList = ViewData->TI; ViewNumList = &ViewData->NbTI; + else if(!strncmp($1, "TI", 2)){ + ViewValueList = &ViewData->TI; ViewNumList = &ViewData->NbTI; + if(strlen($1) > 2) ViewData->setOrder2(9); } - else if(!strcmp($1, "SY")){ - ViewValueList = ViewData->SY; ViewNumList = &ViewData->NbSY; + else if(!strncmp($1, "SY", 2)){ + ViewValueList = &ViewData->SY; ViewNumList = &ViewData->NbSY; + if(strlen($1) > 2) ViewData->setOrder2(8); } - else if(!strcmp($1, "VY")){ - ViewValueList = ViewData->VY; ViewNumList = &ViewData->NbVY; + else if(!strncmp($1, "VY", 2)){ + ViewValueList = &ViewData->VY; ViewNumList = &ViewData->NbVY; + if(strlen($1) > 2) ViewData->setOrder2(8); } - else if(!strcmp($1, "TY")){ - ViewValueList = ViewData->TY; ViewNumList = &ViewData->NbTY; - } - else if(!strcmp($1, "SL2")){ - ViewValueList = ViewData->SL2; ViewNumList = &ViewData->NbSL2; - } - else if(!strcmp($1, "VL2")){ - ViewValueList = ViewData->VL2; ViewNumList = &ViewData->NbVL2; - } - else if(!strcmp($1, "TL2")){ - ViewValueList = ViewData->TL2; ViewNumList = &ViewData->NbTL2; - } - else if(!strcmp($1, "ST2")){ - ViewValueList = ViewData->ST2; ViewNumList = &ViewData->NbST2; - } - else if(!strcmp($1, "VT2")){ - ViewValueList = ViewData->VT2; ViewNumList = &ViewData->NbVT2; - } - else if(!strcmp($1, "TT2")){ - ViewValueList = ViewData->TT2; ViewNumList = &ViewData->NbTT2; - } - else if(!strcmp($1, "SQ2")){ - ViewValueList = ViewData->SQ2; ViewNumList = &ViewData->NbSQ2; - } - else if(!strcmp($1, "VQ2")){ - ViewValueList = ViewData->VQ2; ViewNumList = &ViewData->NbVQ2; - } - else if(!strcmp($1, "TQ2")){ - ViewValueList = ViewData->TQ2; ViewNumList = &ViewData->NbTQ2; - } - else if(!strcmp($1, "SS2")){ - ViewValueList = ViewData->SS2; ViewNumList = &ViewData->NbSS2; - } - else if(!strcmp($1, "VS2")){ - ViewValueList = ViewData->VS2; ViewNumList = &ViewData->NbVS2; - } - else if(!strcmp($1, "TS2")){ - ViewValueList = ViewData->TS2; ViewNumList = &ViewData->NbTS2; - } - else if(!strcmp($1, "SH2")){ - ViewValueList = ViewData->SH2; ViewNumList = &ViewData->NbSH2; - } - else if(!strcmp($1, "VH2")){ - ViewValueList = ViewData->VH2; ViewNumList = &ViewData->NbVH2; - } - else if(!strcmp($1, "TH2")){ - ViewValueList = ViewData->TH2; ViewNumList = &ViewData->NbTH2; - } - else if(!strcmp($1, "SI2")){ - ViewValueList = ViewData->SI2; ViewNumList = &ViewData->NbSI2; - } - else if(!strcmp($1, "VI2")){ - ViewValueList = ViewData->VI2; ViewNumList = &ViewData->NbVI2; - } - else if(!strcmp($1, "TI2")){ - ViewValueList = ViewData->TI2; ViewNumList = &ViewData->NbTI2; - } - else if(!strcmp($1, "SY2")){ - ViewValueList = ViewData->SY2; ViewNumList = &ViewData->NbSY2; - } - else if(!strcmp($1, "VY2")){ - ViewValueList = ViewData->VY2; ViewNumList = &ViewData->NbVY2; - } - else if(!strcmp($1, "TY2")){ - ViewValueList = ViewData->TY2; ViewNumList = &ViewData->NbTY2; + else if(!strncmp($1, "TY", 2)){ + ViewValueList = &ViewData->TY; ViewNumList = &ViewData->NbTY; + if(strlen($1) > 2) ViewData->setOrder2(8); } else{ yymsg(0, "Unknown element type '%s'", $1); @@ -459,7 +417,7 @@ Element : if(ViewValueList){ for(int i = 0; i < 3; i++) for(int j = 0; j < ViewCoord.size() / 3; j++) - List_Add(ViewValueList, &ViewCoord[3 * j + i]); + ViewValueList->push_back(ViewCoord[3 * j + i]); } #endif } @@ -475,14 +433,14 @@ Text2DValues : StringExprVar { #if !defined(HAVE_NO_POST) - for(int i = 0; i < (int)strlen($1)+1; i++) List_Add(ViewData->T2C, &$1[i]); + for(int i = 0; i < (int)strlen($1) + 1; i++) ViewData->T2C.push_back($1[i]); #endif Free($1); } | Text2DValues ',' StringExprVar { #if !defined(HAVE_NO_POST) - for(int i = 0; i < (int)strlen($3)+1; i++) List_Add(ViewData->T2C, &$3[i]); + for(int i = 0; i < (int)strlen($3) + 1; i++) ViewData->T2C.push_back($3[i]); #endif Free($3); } @@ -492,11 +450,10 @@ Text2D : tText2D '(' FExpr ',' FExpr ',' FExpr ')' { #if !defined(HAVE_NO_POST) - List_Add(ViewData->T2D, &$3); - List_Add(ViewData->T2D, &$5); - List_Add(ViewData->T2D, &$7); - double d = List_Nbr(ViewData->T2C); - List_Add(ViewData->T2D, &d); + ViewData->T2D.push_back($3); + ViewData->T2D.push_back($5); + ViewData->T2D.push_back($7); + ViewData->T2D.push_back(ViewData->T2C.size()); #endif } '{' Text2DValues '}' tEND @@ -511,14 +468,14 @@ Text3DValues : StringExprVar { #if !defined(HAVE_NO_POST) - for(int i = 0; i < (int)strlen($1)+1; i++) List_Add(ViewData->T3C, &$1[i]); + for(int i = 0; i < (int)strlen($1) + 1; i++) ViewData->T3C.push_back($1[i]); #endif Free($1); } | Text3DValues ',' StringExprVar { #if !defined(HAVE_NO_POST) - for(int i = 0; i < (int)strlen($3)+1; i++) List_Add(ViewData->T3C, &$3[i]); + for(int i = 0; i < (int)strlen($3) + 1; i++) ViewData->T3C.push_back($3[i]); #endif Free($3); } @@ -528,10 +485,9 @@ Text3D : tText3D '(' FExpr ',' FExpr ',' FExpr ',' FExpr ')' { #if !defined(HAVE_NO_POST) - List_Add(ViewData->T3D, &$3); List_Add(ViewData->T3D, &$5); - List_Add(ViewData->T3D, &$7); List_Add(ViewData->T3D, &$9); - double d = List_Nbr(ViewData->T3C); - List_Add(ViewData->T3D, &d); + ViewData->T3D.push_back($3); ViewData->T3D.push_back($5); + ViewData->T3D.push_back($7); ViewData->T3D.push_back($9); + ViewData->T3D.push_back(ViewData->T3C.size()); #endif } '{' Text3DValues '}' tEND @@ -584,7 +540,7 @@ Time : tTime { #if !defined(HAVE_NO_POST) - ViewValueList = ViewData->Time; + ViewValueList = &ViewData->Time; #endif } '{' ElementValues '}' tEND diff --git a/Parser/Makefile b/Parser/Makefile index d29a736f87fbd21081ce80f6ac3611a99351f1dc..5a6ed86bc71525b4b31f4345752d0ed4cf16ef45 100644 --- a/Parser/Makefile +++ b/Parser/Makefile @@ -59,9 +59,10 @@ Gmsh.tab${OBJEXT}: Gmsh.tab.cpp ../Common/GmshConfig.h ../Common/GmshMessage.h \ ../Numeric/Numeric.h ../Numeric/GmshMatrix.h ../Common/Context.h \ ../Geo/CGNSOptions.h ../Mesh/meshPartitionOptions.h ../Geo/GModel.h \ ../Geo/GVertex.h ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \ - ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/GPoint.h \ - ../Geo/SPoint2.h ../Geo/GEdge.h ../Geo/GEntity.h ../Geo/GVertex.h \ - ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint3.h ../Geo/SPoint2.h \ + ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/SOrientedBoundingBox.h \ + ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/Pair.h \ + ../Geo/GPoint.h ../Geo/SPoint2.h ../Geo/GEdge.h ../Geo/GEntity.h \ + ../Geo/GVertex.h ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint2.h \ ../Geo/GFace.h ../Geo/GEntity.h ../Geo/GPoint.h ../Geo/GEdgeLoop.h \ ../Geo/GEdge.h ../Geo/SPoint2.h ../Geo/SVector3.h ../Geo/Pair.h \ ../Geo/GRegion.h ../Geo/GEntity.h ../Geo/SPoint3.h \ diff --git a/Plugin/Annotate.cpp b/Plugin/Annotate.cpp index cb5881308f17aa8fbe5772079c8ddef6cf7d0e36..a9b7deec4ad116cd357af37265cbfac35dc7ae84 100644 --- a/Plugin/Annotate.cpp +++ b/Plugin/Annotate.cpp @@ -246,24 +246,22 @@ PView *GMSH_AnnotatePlugin::execute(PView *v) if(!data1) return v; if(dim3){ - List_Add(data1->T3D, &X); - List_Add(data1->T3D, &Y); - List_Add(data1->T3D, &Z); - List_Add(data1->T3D, &style); - double d = List_Nbr(data1->T3C); - List_Add(data1->T3D, &d); + data1->T3D.push_back(X); + data1->T3D.push_back(Y); + data1->T3D.push_back(Z); + data1->T3D.push_back(style); + data1->T3D.push_back(data1->T3C.size()); for(int i = 0; i < (int)strlen(text) + 1; i++) - List_Add(data1->T3C, (void*)&text[i]); + data1->T3C.push_back(text[i]); data1->NbT3++; } else{ - List_Add(data1->T2D, &X); - List_Add(data1->T2D, &Y); - List_Add(data1->T2D, &style); - double d = List_Nbr(data1->T2C); - List_Add(data1->T2D, &d); + data1->T2D.push_back(X); + data1->T2D.push_back(Y); + data1->T2D.push_back(style); + data1->T2D.push_back(data1->T2C.size()); for(int i = 0; i < (int)strlen(text) + 1; i++) - List_Add(data1->T2C, (void*)&text[i]); + data1->T2C.push_back(text[i]); data1->NbT2++; } diff --git a/Plugin/Curl.cpp b/Plugin/Curl.cpp index c1680c24a2756040954937266a61d62b46c11538..61c999723aa776add7966b09ef654767231eb9ee 100644 --- a/Plugin/Curl.cpp +++ b/Plugin/Curl.cpp @@ -51,17 +51,17 @@ void GMSH_CurlPlugin::catchErrorMessage(char *errorMessage) const strcpy(errorMessage, "Curl failed..."); } -static List_T *incrementList(PViewDataList *data2, int numEdges) +static std::vector<double> *incrementList(PViewDataList *data2, int numEdges) { switch(numEdges){ - case 0: data2->NbVP++; return data2->VP; - case 1: data2->NbVL++; return data2->VL; - case 3: data2->NbVT++; return data2->VT; - case 4: data2->NbVQ++; return data2->VQ; - case 6: data2->NbVS++; return data2->VS; - case 12: data2->NbVH++; return data2->VH; - case 9: data2->NbVI++; return data2->VI; - case 8: data2->NbVY++; return data2->VY; + case 0: data2->NbVP++; return &data2->VP; + case 1: data2->NbVL++; return &data2->VL; + case 3: data2->NbVT++; return &data2->VT; + case 4: data2->NbVQ++; return &data2->VQ; + case 6: data2->NbVS++; return &data2->VS; + case 12: data2->NbVH++; return &data2->VH; + case 9: data2->NbVI++; return &data2->VI; + case 8: data2->NbVY++; return &data2->VY; default: return 0; } } @@ -79,7 +79,7 @@ PView *GMSH_CurlPlugin::execute(PView *v) return v; } - PView *v2 = new PView(true, data1->getNumElements()); + PView *v2 = new PView(); PViewDataList *data2 = getDataList(v2); for(int ent = 0; ent < data1->getNumEntities(0); ent++){ @@ -88,7 +88,7 @@ PView *GMSH_CurlPlugin::execute(PView *v) int numComp = data1->getNumComponents(0, ent, ele); if(numComp != 3) continue; int numEdges = data1->getNumEdges(0, ent, ele); - List_T *out = incrementList(data2, numEdges); + std::vector<double> *out = incrementList(data2, numEdges); if(!out) continue; int numNodes = data1->getNumNodes(0, ent, ele); double x[8], y[8], z[8], val[8 * 3]; @@ -98,9 +98,9 @@ PView *GMSH_CurlPlugin::execute(PView *v) elementFactory factory; element *element = factory.create(numNodes, dim, x, y, z); if(!element) continue; - for(int nod = 0; nod < numNodes; nod++) List_Add(out, &x[nod]); - for(int nod = 0; nod < numNodes; nod++) List_Add(out, &y[nod]); - for(int nod = 0; nod < numNodes; nod++) List_Add(out, &z[nod]); + for(int nod = 0; nod < numNodes; nod++) out->push_back(x[nod]); + for(int nod = 0; nod < numNodes; nod++) out->push_back(y[nod]); + for(int nod = 0; nod < numNodes; nod++) out->push_back(z[nod]); for(int step = 0; step < data1->getNumTimeSteps(); step++){ for(int nod = 0; nod < numNodes; nod++) for(int comp = 0; comp < numComp; comp++) @@ -109,9 +109,9 @@ PView *GMSH_CurlPlugin::execute(PView *v) double u, v, w, f[3]; element->getNode(nod, u, v, w); element->interpolateCurl(val, u, v, w, f, 3); - List_Add(out, &f[0]); - List_Add(out, &f[1]); - List_Add(out, &f[2]); + out->push_back(f[0]); + out->push_back(f[1]); + out->push_back(f[2]); } } delete element; @@ -120,7 +120,7 @@ PView *GMSH_CurlPlugin::execute(PView *v) for(int i = 0; i < data1->getNumTimeSteps(); i++){ double time = data1->getTime(i); - List_Add(data2->Time, &time); + data2->Time.push_back(time); } data2->setName(data1->getName() + "_Curl"); data2->setFileName(data1->getName() + "_Curl.pos"); diff --git a/Plugin/CutGrid.cpp b/Plugin/CutGrid.cpp index 5001eab3cdb34d573f1050a040af6b0fdd030996..54c6c02796bd588b8e490d74a4a9d5be8c39d30f 100644 --- a/Plugin/CutGrid.cpp +++ b/Plugin/CutGrid.cpp @@ -228,21 +228,21 @@ void GMSH_CutGridPlugin::getPoint(int iU, int iV, double *X) void GMSH_CutGridPlugin::addInView(int numsteps, int connect, int nbcomp, double ***pnts, double ***vals, - List_T *P, int *nP, - List_T *L, int *nL, - List_T *Q, int *nQ) + std::vector<double> &P, int *nP, + std::vector<double> &L, int *nL, + std::vector<double> &Q, int *nQ) { if(!connect || (getNbU() == 1 && getNbV() == 1)){ // generate points for(int i = 0; i < getNbU(); ++i){ for(int j = 0; j < getNbV(); ++j){ - List_Add(P, &pnts[i][j][0]); - List_Add(P, &pnts[i][j][1]); - List_Add(P, &pnts[i][j][2]); + P.push_back(pnts[i][j][0]); + P.push_back(pnts[i][j][1]); + P.push_back(pnts[i][j][2]); (*nP)++; for(int k = 0; k < numsteps; ++k){ for(int l = 0; l < nbcomp; ++l) - List_Add(P, &vals[i][j][nbcomp*k+l]); + P.push_back(vals[i][j][nbcomp*k+l]); } } } @@ -252,51 +252,51 @@ void GMSH_CutGridPlugin::addInView(int numsteps, int connect, int nbcomp, if(getNbU() == 1){ for(int i = 0; i < getNbV()-1; ++i){ - List_Add(L, &pnts[0][i][0]); List_Add(L, &pnts[0][i+1][0]); - List_Add(L, &pnts[0][i][1]); List_Add(L, &pnts[0][i+1][1]); - List_Add(L, &pnts[0][i][2]); List_Add(L, &pnts[0][i+1][2]); + L.push_back(pnts[0][i][0]); L.push_back(pnts[0][i+1][0]); + L.push_back(pnts[0][i][1]); L.push_back(pnts[0][i+1][1]); + L.push_back(pnts[0][i][2]); L.push_back(pnts[0][i+1][2]); (*nL)++; for(int k = 0; k < numsteps; ++k){ for(int l = 0; l < nbcomp; ++l) - List_Add(L, &vals[0][i ][nbcomp*k+l]); + L.push_back(vals[0][i ][nbcomp*k+l]); for(int l = 0; l < nbcomp; ++l) - List_Add(L, &vals[0][i+1][nbcomp*k+l]); + L.push_back(vals[0][i+1][nbcomp*k+l]); } } } else if(getNbV() == 1){ for(int i = 0; i < getNbU()-1; ++i){ - List_Add(L, &pnts[i][0][0]); List_Add(L, &pnts[i+1][0][0]); - List_Add(L, &pnts[i][0][1]); List_Add(L, &pnts[i+1][0][1]); - List_Add(L, &pnts[i][0][2]); List_Add(L, &pnts[i+1][0][2]); + L.push_back(pnts[i][0][0]); L.push_back(pnts[i+1][0][0]); + L.push_back(pnts[i][0][1]); L.push_back(pnts[i+1][0][1]); + L.push_back(pnts[i][0][2]); L.push_back(pnts[i+1][0][2]); (*nL)++; for(int k = 0; k < numsteps; ++k){ for(int l = 0; l < nbcomp; ++l) - List_Add(L, &vals[i ][0][nbcomp*k+l]); + L.push_back(vals[i ][0][nbcomp*k+l]); for(int l = 0; l < nbcomp; ++l) - List_Add(L, &vals[i+1][0][nbcomp*k+l]); + L.push_back(vals[i+1][0][nbcomp*k+l]); } } } else{ for(int i = 0; i < getNbU()-1; ++i){ for(int j = 0; j < getNbV()-1; ++j){ - List_Add(Q, &pnts[i ][j ][0]); List_Add(Q, &pnts[i+1][j ][0]); - List_Add(Q, &pnts[i+1][j+1][0]); List_Add(Q, &pnts[i ][j+1][0]); - List_Add(Q, &pnts[i ][j ][1]); List_Add(Q, &pnts[i+1][j ][1]); - List_Add(Q, &pnts[i+1][j+1][1]); List_Add(Q, &pnts[i ][j+1][1]); - List_Add(Q, &pnts[i ][j ][2]); List_Add(Q, &pnts[i+1][j ][2]); - List_Add(Q, &pnts[i+1][j+1][2]); List_Add(Q, &pnts[i ][j+1][2]); + Q.push_back(pnts[i ][j ][0]); Q.push_back(pnts[i+1][j ][0]); + Q.push_back(pnts[i+1][j+1][0]); Q.push_back(pnts[i ][j+1][0]); + Q.push_back(pnts[i ][j ][1]); Q.push_back(pnts[i+1][j ][1]); + Q.push_back(pnts[i+1][j+1][1]); Q.push_back(pnts[i ][j+1][1]); + Q.push_back(pnts[i ][j ][2]); Q.push_back(pnts[i+1][j ][2]); + Q.push_back(pnts[i+1][j+1][2]); Q.push_back(pnts[i ][j+1][2]); (*nQ)++; for(int k = 0; k < numsteps; ++k){ for(int l = 0; l < nbcomp; ++l) - List_Add(Q, &vals[i ][j ][nbcomp*k+l]); + Q.push_back(vals[i ][j ][nbcomp*k+l]); for(int l = 0; l < nbcomp; ++l) - List_Add(Q, &vals[i+1][j ][nbcomp*k+l]); + Q.push_back(vals[i+1][j ][nbcomp*k+l]); for(int l = 0; l < nbcomp; ++l) - List_Add(Q, &vals[i+1][j+1][nbcomp*k+l]); + Q.push_back(vals[i+1][j+1][nbcomp*k+l]); for(int l = 0; l < nbcomp; ++l) - List_Add(Q, &vals[i ][j+1][nbcomp*k+l]); + Q.push_back(vals[i ][j+1][nbcomp*k+l]); } } } @@ -311,7 +311,7 @@ PView *GMSH_CutGridPlugin::GenerateView(PView *v1, int connect) PViewData *data1 = v1->getData(); - PView *v2 = new PView(true); + PView *v2 = new PView(); PViewDataList *data2 = getDataList(v2); OctreePost o(v1); diff --git a/Plugin/CutGrid.h b/Plugin/CutGrid.h index fd87b08f703a0396bf6b624009fe1093a4c93d8b..93ef11694ee00fc0846f35e4e2ba10c0328f6348 100644 --- a/Plugin/CutGrid.h +++ b/Plugin/CutGrid.h @@ -19,9 +19,9 @@ class GMSH_CutGridPlugin : public GMSH_PostPlugin double step, double min, double max); void addInView(int numsteps, int connect, int nbcomp, double ***pnts, double ***vals, - List_T *P, int *nP, - List_T *L, int *nL, - List_T *Q, int *nQ); + std::vector<double> &P, int *nP, + std::vector<double> &L, int *nL, + std::vector<double> &Q, int *nQ); PView *GenerateView (PView *v, int connectPoints); public: GMSH_CutGridPlugin(){} diff --git a/Plugin/CutParametric.cpp b/Plugin/CutParametric.cpp index acd41058f239f9cf7f03beee3d9fa4674c07825b..7d49fee1faa9af95a183827a4fb31a3000be128e 100644 --- a/Plugin/CutParametric.cpp +++ b/Plugin/CutParametric.cpp @@ -242,29 +242,30 @@ void GMSH_CutParametricPlugin::catchErrorMessage(char *errorMessage) const static void addInView(int connect, int i, int nbcomp, int nbtime, double x0, double y0, double z0, double *res0, double x, double y, double z, double *res, - List_T *P, int *nP, List_T *L, int *nL) + std::vector<double> &P, int *nP, + std::vector<double> &L, int *nL) { if(connect){ if(i){ - List_Add(L, &x0); List_Add(L, &x); - List_Add(L, &y0); List_Add(L, &y); - List_Add(L, &z0); List_Add(L, &z); + L.push_back(x0); L.push_back(x); + L.push_back(y0); L.push_back(y); + L.push_back(z0); L.push_back(z); for(int k = 0; k < nbtime; ++k){ for(int l = 0; l < nbcomp; ++l) - List_Add(L, &res0[nbcomp*k+l]); + L.push_back(res0[nbcomp * k + l]); for(int l = 0; l < nbcomp; ++l) - List_Add(L, &res[nbcomp*k+l]); + L.push_back(res[nbcomp * k + l]); } (*nL)++; } } else{ - List_Add(P, &x); - List_Add(P, &y); - List_Add(P, &z); + P.push_back(x); + P.push_back(y); + P.push_back(z); for(int k = 0; k < nbtime; ++k) for(int l = 0; l < nbcomp; ++l) - List_Add(P, &res[nbcomp*k+l]); + P.push_back(res[nbcomp * k + l]); (*nP)++; } } @@ -287,7 +288,7 @@ PView *GMSH_CutParametricPlugin::execute(PView *v) OctreePost o(v1); - PView *v2 = new PView(true); + PView *v2 = new PView(); PViewDataList *data2 = getDataList(v2); double *res0 = new double[9 * numSteps]; diff --git a/Plugin/Divergence.cpp b/Plugin/Divergence.cpp index fd7e25f1aab9838e1bedf1f85acabd85e5a9787b..ad2befd7f19eb1282fa7def123881a67517428f1 100644 --- a/Plugin/Divergence.cpp +++ b/Plugin/Divergence.cpp @@ -51,17 +51,17 @@ void GMSH_DivergencePlugin::catchErrorMessage(char *errorMessage) const strcpy(errorMessage, "Divergence failed..."); } -static List_T *incrementList(PViewDataList *data2, int numEdges) +static std::vector<double> *incrementList(PViewDataList *data2, int numEdges) { switch(numEdges){ - case 0: data2->NbSP++; return data2->SP; - case 1: data2->NbSL++; return data2->SL; - case 3: data2->NbST++; return data2->ST; - case 4: data2->NbSQ++; return data2->SQ; - case 6: data2->NbSS++; return data2->SS; - case 12: data2->NbSH++; return data2->SH; - case 9: data2->NbSI++; return data2->SI; - case 8: data2->NbSY++; return data2->SY; + case 0: data2->NbSP++; return &data2->SP; + case 1: data2->NbSL++; return &data2->SL; + case 3: data2->NbST++; return &data2->ST; + case 4: data2->NbSQ++; return &data2->SQ; + case 6: data2->NbSS++; return &data2->SS; + case 12: data2->NbSH++; return &data2->SH; + case 9: data2->NbSI++; return &data2->SI; + case 8: data2->NbSY++; return &data2->SY; default: return 0; } } @@ -79,7 +79,7 @@ PView *GMSH_DivergencePlugin::execute(PView *v) return v; } - PView *v2 = new PView(true, data1->getNumElements()); + PView *v2 = new PView(); PViewDataList *data2 = getDataList(v2); for(int ent = 0; ent < data1->getNumEntities(0); ent++){ @@ -88,7 +88,7 @@ PView *GMSH_DivergencePlugin::execute(PView *v) int numComp = data1->getNumComponents(0, ent, ele); if(numComp != 3) continue; int numEdges = data1->getNumEdges(0, ent, ele); - List_T *out = incrementList(data2, numEdges); + std::vector<double> *out = incrementList(data2, numEdges); if(!out) continue; int numNodes = data1->getNumNodes(0, ent, ele); double x[8], y[8], z[8], val[8 * 3]; @@ -98,9 +98,9 @@ PView *GMSH_DivergencePlugin::execute(PView *v) elementFactory factory; element *element = factory.create(numNodes, dim, x, y, z); if(!element) continue; - for(int nod = 0; nod < numNodes; nod++) List_Add(out, &x[nod]); - for(int nod = 0; nod < numNodes; nod++) List_Add(out, &y[nod]); - for(int nod = 0; nod < numNodes; nod++) List_Add(out, &z[nod]); + for(int nod = 0; nod < numNodes; nod++) out->push_back(x[nod]); + for(int nod = 0; nod < numNodes; nod++) out->push_back(y[nod]); + for(int nod = 0; nod < numNodes; nod++) out->push_back(z[nod]); for(int step = 0; step < data1->getNumTimeSteps(); step++){ for(int nod = 0; nod < numNodes; nod++) for(int comp = 0; comp < numComp; comp++) @@ -109,7 +109,7 @@ PView *GMSH_DivergencePlugin::execute(PView *v) double u, v, w; element->getNode(nod, u, v, w); double f = element->interpolateDiv(val, u, v, w, 3); - List_Add(out, &f); + out->push_back(f); } } delete element; @@ -118,7 +118,7 @@ PView *GMSH_DivergencePlugin::execute(PView *v) for(int i = 0; i < data1->getNumTimeSteps(); i++){ double time = data1->getTime(i); - List_Add(data2->Time, &time); + data2->Time.push_back(time); } data2->setName(data1->getName() + "_Divergence"); data2->setFileName(data1->getName() + "_Divergence.pos"); diff --git a/Plugin/Eigenvalues.cpp b/Plugin/Eigenvalues.cpp index a69d99ede3fd71fcc9aa9fe5eb5e5dc86ba77d74..94c25bd7acfca681173f4de1d4bd340b20a93905 100644 --- a/Plugin/Eigenvalues.cpp +++ b/Plugin/Eigenvalues.cpp @@ -50,17 +50,17 @@ void GMSH_EigenvaluesPlugin::catchErrorMessage(char *errorMessage) const strcpy(errorMessage, "Eigenvalues failed..."); } -static List_T *incrementList(PViewDataList *data2, int numEdges) +static std::vector<double> *incrementList(PViewDataList *data2, int numEdges) { switch(numEdges){ - case 0: data2->NbSP++; return data2->SP; - case 1: data2->NbSL++; return data2->SL; - case 3: data2->NbST++; return data2->ST; - case 4: data2->NbSQ++; return data2->SQ; - case 6: data2->NbSS++; return data2->SS; - case 12: data2->NbSH++; return data2->SH; - case 9: data2->NbSI++; return data2->SI; - case 8: data2->NbSY++; return data2->SY; + case 0: data2->NbSP++; return &data2->SP; + case 1: data2->NbSL++; return &data2->SL; + case 3: data2->NbST++; return &data2->ST; + case 4: data2->NbSQ++; return &data2->SQ; + case 6: data2->NbSS++; return &data2->SS; + case 12: data2->NbSH++; return &data2->SH; + case 9: data2->NbSI++; return &data2->SI; + case 8: data2->NbSY++; return &data2->SY; default: return 0; } } @@ -78,9 +78,9 @@ PView *GMSH_EigenvaluesPlugin::execute(PView *v) return v; } - PView *min = new PView(true); - PView *mid = new PView(true); - PView *max = new PView(true); + PView *min = new PView(); + PView *mid = new PView(); + PView *max = new PView(); PViewDataList *dmin = getDataList(min); PViewDataList *dmid = getDataList(mid); @@ -92,9 +92,9 @@ PView *GMSH_EigenvaluesPlugin::execute(PView *v) int numComp = data1->getNumComponents(0, ent, ele); if(numComp != 9) continue; int numEdges = data1->getNumEdges(0, ent, ele); - List_T *outmin = incrementList(dmin, numEdges); - List_T *outmid = incrementList(dmid, numEdges); - List_T *outmax = incrementList(dmax, numEdges); + std::vector<double> *outmin = incrementList(dmin, numEdges); + std::vector<double> *outmid = incrementList(dmid, numEdges); + std::vector<double> *outmax = incrementList(dmax, numEdges); if(!outmin || !outmid || !outmax) continue; int numNodes = data1->getNumNodes(0, ent, ele); double xyz[3][8]; @@ -102,9 +102,9 @@ PView *GMSH_EigenvaluesPlugin::execute(PView *v) data1->getNode(0, ent, ele, nod, xyz[0][nod], xyz[1][nod], xyz[2][nod]); for(int i = 0; i < 3; i++){ for(int nod = 0; nod < numNodes; nod++){ - List_Add(outmin, &xyz[i][nod]); - List_Add(outmid, &xyz[i][nod]); - List_Add(outmax, &xyz[i][nod]); + outmin->push_back(xyz[i][nod]); + outmid->push_back(xyz[i][nod]); + outmax->push_back(xyz[i][nod]); } } for(int step = 0; step < data1->getNumTimeSteps(); step++){ @@ -116,9 +116,9 @@ PView *GMSH_EigenvaluesPlugin::execute(PView *v) {val[3], val[4], val[5]}, {val[6], val[7], val[8]}}; eigenvalue(A, w); - List_Add(outmin, &w[2]); - List_Add(outmid, &w[1]); - List_Add(outmax, &w[0]); + outmin->push_back(w[2]); + outmid->push_back(w[1]); + outmax->push_back(w[0]); } } } @@ -126,9 +126,9 @@ PView *GMSH_EigenvaluesPlugin::execute(PView *v) for(int i = 0; i < data1->getNumTimeSteps(); i++){ double time = data1->getTime(i); - List_Add(dmin->Time, &time); - List_Add(dmid->Time, &time); - List_Add(dmax->Time, &time); + dmin->Time.push_back(time); + dmid->Time.push_back(time); + dmax->Time.push_back(time); } dmin->setName(data1->getName() + "_MinEigenvalues"); dmin->setFileName(data1->getName() + "_MinEigenvalues.pos"); diff --git a/Plugin/Eigenvectors.cpp b/Plugin/Eigenvectors.cpp index d7245375f17741fccb14fe64eddfed97be0252c1..11e5a9082f31697bf5ee0b06e5c04aafd4248f41 100644 --- a/Plugin/Eigenvectors.cpp +++ b/Plugin/Eigenvectors.cpp @@ -58,17 +58,17 @@ void GMSH_EigenvectorsPlugin::catchErrorMessage(char *errorMessage) const strcpy(errorMessage, "Eigenvectors failed..."); } -static List_T *incrementList(PViewDataList *data2, int numEdges) +static std::vector<double> *incrementList(PViewDataList *data2, int numEdges) { switch(numEdges){ - case 0: data2->NbVP++; return data2->VP; - case 1: data2->NbVL++; return data2->VL; - case 3: data2->NbVT++; return data2->VT; - case 4: data2->NbVQ++; return data2->VQ; - case 6: data2->NbVS++; return data2->VS; - case 12: data2->NbVH++; return data2->VH; - case 9: data2->NbVI++; return data2->VI; - case 8: data2->NbVY++; return data2->VY; + case 0: data2->NbVP++; return &data2->VP; + case 1: data2->NbVL++; return &data2->VL; + case 3: data2->NbVT++; return &data2->VT; + case 4: data2->NbVQ++; return &data2->VQ; + case 6: data2->NbVS++; return &data2->VS; + case 12: data2->NbVH++; return &data2->VH; + case 9: data2->NbVI++; return &data2->VI; + case 8: data2->NbVY++; return &data2->VY; default: return 0; } } @@ -94,9 +94,9 @@ PView *GMSH_EigenvectorsPlugin::execute(PView *v) return v; } - PView *min = new PView(true); - PView *mid = new PView(true); - PView *max = new PView(true); + PView *min = new PView(); + PView *mid = new PView(); + PView *max = new PView(); PViewDataList *dmin = getDataList(min); PViewDataList *dmid = getDataList(mid); @@ -110,9 +110,9 @@ PView *GMSH_EigenvectorsPlugin::execute(PView *v) int numComp = data1->getNumComponents(0, ent, ele); if(numComp != 9) continue; int numEdges = data1->getNumEdges(0, ent, ele); - List_T *outmin = incrementList(dmin, numEdges); - List_T *outmid = incrementList(dmid, numEdges); - List_T *outmax = incrementList(dmax, numEdges); + std::vector<double> *outmin = incrementList(dmin, numEdges); + std::vector<double> *outmid = incrementList(dmid, numEdges); + std::vector<double> *outmax = incrementList(dmax, numEdges); if(!outmin || !outmid || !outmax) continue; int numNodes = data1->getNumNodes(0, ent, ele); double xyz[3][8]; @@ -120,9 +120,9 @@ PView *GMSH_EigenvectorsPlugin::execute(PView *v) data1->getNode(0, ent, ele, nod, xyz[0][nod], xyz[1][nod], xyz[2][nod]); for(int i = 0; i < 3; i++){ for(int nod = 0; nod < numNodes; nod++){ - List_Add(outmin, &xyz[i][nod]); - List_Add(outmid, &xyz[i][nod]); - List_Add(outmax, &xyz[i][nod]); + outmin->push_back(xyz[i][nod]); + outmid->push_back(xyz[i][nod]); + outmax->push_back(xyz[i][nod]); } } for(int step = 0; step < data1->getNumTimeSteps(); step++){ @@ -139,9 +139,9 @@ PView *GMSH_EigenvectorsPlugin::execute(PView *v) double res; // wrong if there are complex eigenvals (B contains both // real and imag parts: cf. explanation in EigSolve.cpp) - res = wr[0] * B[i]; List_Add(outmin, &res); - res = wr[1] * B[3 + i]; List_Add(outmid, &res); - res = wr[2] * B[6 + i]; List_Add(outmax, &res); + res = wr[0] * B[i]; outmin->push_back(res); + res = wr[1] * B[3 + i]; outmid->push_back(res); + res = wr[2] * B[6 + i]; outmax->push_back(res); } } } @@ -150,13 +150,13 @@ PView *GMSH_EigenvectorsPlugin::execute(PView *v) if(nbcomplex) Msg::Error("%d tensors have complex eigenvalues/eigenvectors", - nbcomplex); + nbcomplex); for(int i = 0; i < data1->getNumTimeSteps(); i++){ double time = data1->getTime(i); - List_Add(dmin->Time, &time); - List_Add(dmid->Time, &time); - List_Add(dmax->Time, &time); + dmin->Time.push_back(time); + dmid->Time.push_back(time); + dmax->Time.push_back(time); } dmin->setName(data1->getName() + "_MinEigenvectors"); dmin->setFileName(data1->getName() + "_MinEigenvectors.pos"); diff --git a/Plugin/Extract.cpp b/Plugin/Extract.cpp index 79846332391814da189b27a8c0cdba4b280533e2..4aeaec6ce93f710835f3e9419add949b437f7f22 100644 --- a/Plugin/Extract.cpp +++ b/Plugin/Extract.cpp @@ -97,17 +97,17 @@ void GMSH_ExtractPlugin::catchErrorMessage(char *errorMessage) const strcpy(errorMessage, "Extract failed..."); } -static void extract(const char *expr[9], List_T *inList, int inNb, - List_T *outListScalar, int *outNbScalar, - List_T *outListVector, int *outNbVector, - List_T *outListTensor, int *outNbTensor, +static void extract(const char *expr[9], std::vector<double> &inList, int inNb, + std::vector<double> *outListScalar, int *outNbScalar, + std::vector<double> *outListVector, int *outNbVector, + std::vector<double> *outListTensor, int *outNbTensor, int timeStep, int nbNod, int nbComp) { if(!inNb) return; int outNbComp, *outNb; - List_T *outList; + std::vector<double> *outList; if(strlen(expr[3]) || strlen(expr[4]) || strlen(expr[5]) || strlen(expr[6]) || strlen(expr[7]) || strlen(expr[8])){ @@ -166,13 +166,13 @@ static void extract(const char *expr[9], List_T *inList, int inNb, int timeBeg = (timeStep < 0) ? 0 : timeStep; int timeEnd = (timeStep < 0) ? -timeStep : timeStep + 1; - int nb = List_Nbr(inList) / inNb; - for(int i = 0; i < List_Nbr(inList); i += nb) { - double *x = (double *)List_Pointer_Fast(inList, i); - double *y = (double *)List_Pointer_Fast(inList, i + nbNod); - double *z = (double *)List_Pointer_Fast(inList, i + 2 * nbNod); + int nb = inList.size() / inNb; + for(unsigned int i = 0; i < inList.size(); i += nb) { + double *x = &inList[i]; + double *y = &inList[i + nbNod]; + double *z = &inList[i + 2 * nbNod]; for(int j = 0; j < 3 * nbNod; j++) - List_Add(outList, List_Pointer_Fast(inList, i + j)); + outList->push_back(inList[i + j]); for(int j = timeBeg; j < timeEnd; j++){ for(int k = 0; k < nbNod; k++){ double xx = x[k]; @@ -180,7 +180,7 @@ static void extract(const char *expr[9], List_T *inList, int inNb, double zz = z[k]; double d[9] = {0., 0., 0., 0., 0., 0., 0., 0., 0.}; for(int l = 0; l < nbComp; l++) - List_Read(inList, i + 3 * nbNod + nbNod * nbComp * j + nbComp * k + l, &d[l]); + d[l] = inList[i + 3 * nbNod + nbNod * nbComp * j + nbComp * k + l]; for(int l = 0; l < outNbComp; l++){ #if defined(HAVE_MATH_EVAL) char *names[] = { "x", "y", "z", "v0", "v1", "v2", "v3", "v4", "v5", "v6", "v7", "v8" }; @@ -189,7 +189,7 @@ static void extract(const char *expr[9], List_T *inList, int inNb, #else double res = d[comp[l]]; #endif - List_Add(outList, &res); + outList->push_back(res); } } } @@ -222,7 +222,7 @@ PView *GMSH_ExtractPlugin::execute(PView *v) PViewDataList *data1 = getDataList(v1); if(!data1) return v; - PView *v2 = new PView(true, data1->getNumElements()); + PView *v2 = new PView(); PViewDataList *data2 = getDataList(v2); if(!data2) return v; @@ -237,67 +237,66 @@ PView *GMSH_ExtractPlugin::execute(PView *v) } // points - extract(expr, data1->SP, data1->NbSP, data2->SP, &data2->NbSP, - data2->VP, &data2->NbVP, data2->TP, &data2->NbTP, step, 1, 1); - extract(expr, data1->VP, data1->NbVP, data2->SP, &data2->NbSP, - data2->VP, &data2->NbVP, data2->TP, &data2->NbTP, step, 1, 3); - extract(expr, data1->TP, data1->NbTP, data2->SP, &data2->NbSP, - data2->VP, &data2->NbVP, data2->TP, &data2->NbTP, step, 1, 9); + extract(expr, data1->SP, data1->NbSP, &data2->SP, &data2->NbSP, + &data2->VP, &data2->NbVP, &data2->TP, &data2->NbTP, step, 1, 1); + extract(expr, data1->VP, data1->NbVP, &data2->SP, &data2->NbSP, + &data2->VP, &data2->NbVP, &data2->TP, &data2->NbTP, step, 1, 3); + extract(expr, data1->TP, data1->NbTP, &data2->SP, &data2->NbSP, + &data2->VP, &data2->NbVP, &data2->TP, &data2->NbTP, step, 1, 9); // lines - extract(expr, data1->SL, data1->NbSL, data2->SL, &data2->NbSL, - data2->VL, &data2->NbVL, data2->TL, &data2->NbTL, step, 2, 1); - extract(expr, data1->VL, data1->NbVL, data2->SL, &data2->NbSL, - data2->VL, &data2->NbVL, data2->TL, &data2->NbTL, step, 2, 3); - extract(expr, data1->TL, data1->NbTL, data2->SL, &data2->NbSL, - data2->VL, &data2->NbVL, data2->TL, &data2->NbTL, step, 2, 9); + extract(expr, data1->SL, data1->NbSL, &data2->SL, &data2->NbSL, + &data2->VL, &data2->NbVL, &data2->TL, &data2->NbTL, step, 2, 1); + extract(expr, data1->VL, data1->NbVL, &data2->SL, &data2->NbSL, + &data2->VL, &data2->NbVL, &data2->TL, &data2->NbTL, step, 2, 3); + extract(expr, data1->TL, data1->NbTL, &data2->SL, &data2->NbSL, + &data2->VL, &data2->NbVL, &data2->TL, &data2->NbTL, step, 2, 9); // triangles - extract(expr, data1->ST, data1->NbST, data2->ST, &data2->NbST, - data2->VT, &data2->NbVT, data2->TT, &data2->NbTT, step, 3, 1); - extract(expr, data1->VT, data1->NbVT, data2->ST, &data2->NbST, - data2->VT, &data2->NbVT, data2->TT, &data2->NbTT, step, 3, 3); - extract(expr, data1->TT, data1->NbTT, data2->ST, &data2->NbST, - data2->VT, &data2->NbVT, data2->TT, &data2->NbTT, step, 3, 9); + extract(expr, data1->ST, data1->NbST, &data2->ST, &data2->NbST, + &data2->VT, &data2->NbVT, &data2->TT, &data2->NbTT, step, 3, 1); + extract(expr, data1->VT, data1->NbVT, &data2->ST, &data2->NbST, + &data2->VT, &data2->NbVT, &data2->TT, &data2->NbTT, step, 3, 3); + extract(expr, data1->TT, data1->NbTT, &data2->ST, &data2->NbST, + &data2->VT, &data2->NbVT, &data2->TT, &data2->NbTT, step, 3, 9); // quadrangles - extract(expr, data1->SQ, data1->NbSQ, data2->SQ, &data2->NbSQ, - data2->VQ, &data2->NbVQ, data2->TQ, &data2->NbTQ, step, 4, 1); - extract(expr, data1->VQ, data1->NbVQ, data2->SQ, &data2->NbSQ, - data2->VQ, &data2->NbVQ, data2->TQ, &data2->NbTQ, step, 4, 3); - extract(expr, data1->TQ, data1->NbTQ, data2->SQ, &data2->NbSQ, - data2->VQ, &data2->NbVQ, data2->TQ, &data2->NbTQ, step, 4, 9); + extract(expr, data1->SQ, data1->NbSQ, &data2->SQ, &data2->NbSQ, + &data2->VQ, &data2->NbVQ, &data2->TQ, &data2->NbTQ, step, 4, 1); + extract(expr, data1->VQ, data1->NbVQ, &data2->SQ, &data2->NbSQ, + &data2->VQ, &data2->NbVQ, &data2->TQ, &data2->NbTQ, step, 4, 3); + extract(expr, data1->TQ, data1->NbTQ, &data2->SQ, &data2->NbSQ, + &data2->VQ, &data2->NbVQ, &data2->TQ, &data2->NbTQ, step, 4, 9); // tets - extract(expr, data1->SS, data1->NbSS, data2->SS, &data2->NbSS, - data2->VS, &data2->NbVS, data2->TS, &data2->NbTS, step, 4, 1); - extract(expr, data1->VS, data1->NbVS, data2->SS, &data2->NbSS, - data2->VS, &data2->NbVS, data2->TS, &data2->NbTS, step, 4, 3); - extract(expr, data1->TS, data1->NbTS, data2->SS, &data2->NbSS, - data2->VS, &data2->NbVS, data2->TS, &data2->NbTS, step, 4, 9); + extract(expr, data1->SS, data1->NbSS, &data2->SS, &data2->NbSS, + &data2->VS, &data2->NbVS, &data2->TS, &data2->NbTS, step, 4, 1); + extract(expr, data1->VS, data1->NbVS, &data2->SS, &data2->NbSS, + &data2->VS, &data2->NbVS, &data2->TS, &data2->NbTS, step, 4, 3); + extract(expr, data1->TS, data1->NbTS, &data2->SS, &data2->NbSS, + &data2->VS, &data2->NbVS, &data2->TS, &data2->NbTS, step, 4, 9); // hexas - extract(expr, data1->SH, data1->NbSH, data2->SH, &data2->NbSH, - data2->VH, &data2->NbVH, data2->TH, &data2->NbTH, step, 8, 1); - extract(expr, data1->VH, data1->NbVH, data2->SH, &data2->NbSH, - data2->VH, &data2->NbVH, data2->TH, &data2->NbTH, step, 8, 3); - extract(expr, data1->TH, data1->NbTH, data2->SH, &data2->NbSH, - data2->VH, &data2->NbVH, data2->TH, &data2->NbTH, step, 8, 9); + extract(expr, data1->SH, data1->NbSH, &data2->SH, &data2->NbSH, + &data2->VH, &data2->NbVH, &data2->TH, &data2->NbTH, step, 8, 1); + extract(expr, data1->VH, data1->NbVH, &data2->SH, &data2->NbSH, + &data2->VH, &data2->NbVH, &data2->TH, &data2->NbTH, step, 8, 3); + extract(expr, data1->TH, data1->NbTH, &data2->SH, &data2->NbSH, + &data2->VH, &data2->NbVH, &data2->TH, &data2->NbTH, step, 8, 9); // prisms - extract(expr, data1->SI, data1->NbSI, data2->SI, &data2->NbSI, - data2->VI, &data2->NbVI, data2->TI, &data2->NbTI, step, 6, 1); - extract(expr, data1->VI, data1->NbVI, data2->SI, &data2->NbSI, - data2->VI, &data2->NbVI, data2->TI, &data2->NbTI, step, 6, 3); - extract(expr, data1->TI, data1->NbTI, data2->SI, &data2->NbSI, - data2->VI, &data2->NbVI, data2->TI, &data2->NbTI, step, 6, 9); + extract(expr, data1->SI, data1->NbSI, &data2->SI, &data2->NbSI, + &data2->VI, &data2->NbVI, &data2->TI, &data2->NbTI, step, 6, 1); + extract(expr, data1->VI, data1->NbVI, &data2->SI, &data2->NbSI, + &data2->VI, &data2->NbVI, &data2->TI, &data2->NbTI, step, 6, 3); + extract(expr, data1->TI, data1->NbTI, &data2->SI, &data2->NbSI, + &data2->VI, &data2->NbVI, &data2->TI, &data2->NbTI, step, 6, 9); // pyramids - extract(expr, data1->SY, data1->NbSY, data2->SY, &data2->NbSY, - data2->VY, &data2->NbVY, data2->TY, &data2->NbTY, step, 5, 1); - extract(expr, data1->VY, data1->NbVY, data2->SY, &data2->NbSY, - data2->VY, &data2->NbVY, data2->TY, &data2->NbTY, step, 5, 3); - extract(expr, data1->TY, data1->NbTY, data2->SY, &data2->NbSY, - data2->VY, &data2->NbVY, data2->TY, &data2->NbTY, step, 5, 9); + extract(expr, data1->SY, data1->NbSY, &data2->SY, &data2->NbSY, + &data2->VY, &data2->NbVY, &data2->TY, &data2->NbTY, step, 5, 1); + extract(expr, data1->VY, data1->NbVY, &data2->SY, &data2->NbSY, + &data2->VY, &data2->NbVY, &data2->TY, &data2->NbTY, step, 5, 3); + extract(expr, data1->TY, data1->NbTY, &data2->SY, &data2->NbSY, + &data2->VY, &data2->NbVY, &data2->TY, &data2->NbTY, step, 5, 9); if(step < 0) - for(int i = 0; i < List_Nbr(data1->Time); i++) - List_Add(data2->Time, List_Pointer(data1->Time, i)); + data2->Time = data1->Time; else - List_Add(data2->Time, List_Pointer(data1->Time, step)); + data2->Time.push_back(data1->Time[step]); data2->setName(data1->getName() + "_Extract"); data2->setFileName(data1->getName() + "_Extract.pos"); diff --git a/Plugin/ExtractEdges.cpp b/Plugin/ExtractEdges.cpp index bce79886499ddc4670d9fc462602f62ed2fa1bf4..fd0896b5adccc94d02dda898991db9d04e1a2325 100644 --- a/Plugin/ExtractEdges.cpp +++ b/Plugin/ExtractEdges.cpp @@ -4,7 +4,6 @@ // bugs and problems to <gmsh@geuz.org>. #include "ExtractEdges.h" -#include "BDS.h" StringXNumber ExtractEdgesOptions_Number[] = { {GMSH_FULLRC, "Angle", NULL, 22.}, @@ -68,32 +67,16 @@ PView *GMSH_ExtractEdgesPlugin::execute(PView *v) PViewDataList *data1 = getDataList(v1); if(!data1) return v; - PView *v2 = new PView(true); + PView *v2 = new PView(); PViewDataList *data2 = getDataList(v2); if(!data2) return v; - BDS_Mesh bds; + //BDS_Mesh bds; //bds.import_view(v1, CTX::instance()->lc * 1.e-12); //bds.classify(angle * M_PI / 180.); - Msg::Error("BDS->classify(angle, edge_prolongation) must be reinterfaced"); - - std::list<BDS_Edge*>::iterator it = bds.edges.begin(); - std::list<BDS_Edge*>::iterator ite = bds.edges.end(); - while (it != ite){ - BDS_GeomEntity *g = (*it)->g; - if(g && g->classif_degree == 1) { - List_Add(data2->SL, &(*it)->p1->X); List_Add(data2->SL, &(*it)->p2->X); - List_Add(data2->SL, &(*it)->p1->Y); List_Add(data2->SL, &(*it)->p2->Y); - List_Add(data2->SL, &(*it)->p1->Z); List_Add(data2->SL, &(*it)->p2->Z); - double val = g->classif_tag; - List_Add(data2->SL, &val); - List_Add(data2->SL, &val); - data2->NbSL++; - } - ++it; - } + Msg::Error("classify(angle, edge_prolongation) must be reinterfaced"); data2->setName(data1->getName() + "_ExtractEdges"); data2->setFileName(data1->getName() + "_ExtractEdges.pos"); diff --git a/Plugin/ExtractElements.cpp b/Plugin/ExtractElements.cpp index baa3040740cb5b72106c547784b372a3486a02ec..aa0b6a8290c66a31e9139c491010cf43be0b3840 100644 --- a/Plugin/ExtractElements.cpp +++ b/Plugin/ExtractElements.cpp @@ -57,8 +57,8 @@ void GMSH_ExtractElementsPlugin::catchErrorMessage(char *errorMessage) const strcpy(errorMessage, "ExtractElements failed..."); } -static void extract(List_T *inList, int inNb, - List_T *outList, int *outNb, +static void extract(std::vector<double> &inList, int inNb, + std::vector<double> &outList, int *outNb, int timeStep, int nbNod, int nbComp) { if(!inNb) @@ -67,10 +67,9 @@ static void extract(List_T *inList, int inNb, double MinVal = ExtractElementsOptions_Number[0].def; double MaxVal = ExtractElementsOptions_Number[1].def; - int nb = List_Nbr(inList) / inNb; - for(int i = 0; i < List_Nbr(inList); i += nb) { - double *vals = (double *)List_Pointer_Fast(inList, i + 3 * nbNod + - timeStep * nbNod * nbComp); + int nb = inList.size() / inNb; + for(unsigned int i = 0; i < inList.size(); i += nb) { + double *vals = &inList[i + 3 * nbNod + timeStep * nbNod * nbComp]; double d = 0.; for(int k = 0; k < nbNod; k++) { double *v = &vals[nbComp * k]; @@ -91,7 +90,7 @@ static void extract(List_T *inList, int inNb, // worrying about roundoff errors if(d >= MinVal && d < MaxVal){ for(int j = 0; j < nb; j++) - List_Add(outList, List_Pointer_Fast(inList, i + j)); + outList.push_back(inList[i + j]); (*outNb)++; } } @@ -108,7 +107,7 @@ PView *GMSH_ExtractElementsPlugin::execute(PView *v) PViewDataList *data1 = getDataList(v1); if(!data1) return v; - PView *v2 = new PView(true); + PView *v2 = new PView(); PViewDataList *data2 = getDataList(v2); if(!data2) return v; @@ -152,8 +151,7 @@ PView *GMSH_ExtractElementsPlugin::execute(PView *v) extract(data1->VY, data1->NbVY, data2->VY, &data2->NbVY, step, 5, 3); extract(data1->TY, data1->NbTY, data2->TY, &data2->NbTY, step, 5, 9); - for(int i = 0; i < List_Nbr(data1->Time); i++) - List_Add(data2->Time, List_Pointer(data1->Time, i)); + data2->Time = data1->Time; data2->setName(data1->getName() + "_ExtractElements"); data2->setFileName(data1->getName() + "_ExtractElements.pos"); data2->finalize(); diff --git a/Plugin/Gradient.cpp b/Plugin/Gradient.cpp index 20acd61eb181ba7cd8afc99554eb7cab7ee037d8..0792a1a7f1f6eadcc81cfcb0423791ffd3f00bc9 100644 --- a/Plugin/Gradient.cpp +++ b/Plugin/Gradient.cpp @@ -51,31 +51,31 @@ void GMSH_GradientPlugin::catchErrorMessage(char *errorMessage) const strcpy(errorMessage, "Gradient failed..."); } -static List_T *incrementList(PViewDataList *data2, int numComp, int numEdges) +static std::vector<double> *incrementList(PViewDataList *data2, int numComp, int numEdges) { if(numComp == 1){ switch(numEdges){ - case 0: data2->NbVP++; return data2->VP; - case 1: data2->NbVL++; return data2->VL; - case 3: data2->NbVT++; return data2->VT; - case 4: data2->NbVQ++; return data2->VQ; - case 6: data2->NbVS++; return data2->VS; - case 12: data2->NbVH++; return data2->VH; - case 9: data2->NbVI++; return data2->VI; - case 8: data2->NbVY++; return data2->VY; + case 0: data2->NbVP++; return &data2->VP; + case 1: data2->NbVL++; return &data2->VL; + case 3: data2->NbVT++; return &data2->VT; + case 4: data2->NbVQ++; return &data2->VQ; + case 6: data2->NbVS++; return &data2->VS; + case 12: data2->NbVH++; return &data2->VH; + case 9: data2->NbVI++; return &data2->VI; + case 8: data2->NbVY++; return &data2->VY; default: return 0; } } else if(numComp == 3){ switch(numEdges){ - case 0: data2->NbTP++; return data2->TP; - case 1: data2->NbTL++; return data2->TL; - case 3: data2->NbTT++; return data2->TT; - case 4: data2->NbTQ++; return data2->TQ; - case 6: data2->NbTS++; return data2->TS; - case 12: data2->NbTH++; return data2->TH; - case 9: data2->NbTI++; return data2->TI; - case 8: data2->NbTY++; return data2->TY; + case 0: data2->NbTP++; return &data2->TP; + case 1: data2->NbTL++; return &data2->TL; + case 3: data2->NbTT++; return &data2->TT; + case 4: data2->NbTQ++; return &data2->TQ; + case 6: data2->NbTS++; return &data2->TS; + case 12: data2->NbTH++; return &data2->TH; + case 9: data2->NbTI++; return &data2->TI; + case 8: data2->NbTY++; return &data2->TY; default: return 0; } } @@ -95,7 +95,7 @@ PView *GMSH_GradientPlugin::execute(PView *v) return v; } - PView *v2 = new PView(true, data1->getNumElements()); + PView *v2 = new PView(); PViewDataList *data2 = getDataList(v2); for(int ent = 0; ent < data1->getNumEntities(0); ent++){ @@ -104,7 +104,7 @@ PView *GMSH_GradientPlugin::execute(PView *v) int numComp = data1->getNumComponents(0, ent, ele); if(numComp != 1 && numComp != 3) continue; int numEdges = data1->getNumEdges(0, ent, ele); - List_T *out = incrementList(data2, numComp, numEdges); + std::vector<double> *out = incrementList(data2, numComp, numEdges); if(!out) continue; int numNodes = data1->getNumNodes(0, ent, ele); double x[8], y[8], z[8], val[8 * 3]; @@ -114,9 +114,9 @@ PView *GMSH_GradientPlugin::execute(PView *v) elementFactory factory; element *element = factory.create(numNodes, dim, x, y, z); if(!element) continue; - for(int nod = 0; nod < numNodes; nod++) List_Add(out, &x[nod]); - for(int nod = 0; nod < numNodes; nod++) List_Add(out, &y[nod]); - for(int nod = 0; nod < numNodes; nod++) List_Add(out, &z[nod]); + for(int nod = 0; nod < numNodes; nod++) out->push_back(x[nod]); + for(int nod = 0; nod < numNodes; nod++) out->push_back(y[nod]); + for(int nod = 0; nod < numNodes; nod++) out->push_back(z[nod]); for(int step = 0; step < data1->getNumTimeSteps(); step++){ for(int nod = 0; nod < numNodes; nod++) for(int comp = 0; comp < numComp; comp++) @@ -126,9 +126,9 @@ PView *GMSH_GradientPlugin::execute(PView *v) element->getNode(nod, u, v, w); for(int comp = 0; comp < numComp; comp++){ element->interpolateGrad(val + comp, u, v, w, f, numComp); - List_Add(out, &f[0]); - List_Add(out, &f[1]); - List_Add(out, &f[2]); + out->push_back(f[0]); + out->push_back(f[1]); + out->push_back(f[2]); } } } @@ -138,7 +138,7 @@ PView *GMSH_GradientPlugin::execute(PView *v) for(int i = 0; i < data1->getNumTimeSteps(); i++){ double time = data1->getTime(i); - List_Add(data2->Time, &time); + data2->Time.push_back(time); } data2->setName(data1->getName() + "_Gradient"); data2->setFileName(data1->getName() + "_Gradient.pos"); diff --git a/Plugin/HarmonicToTime.cpp b/Plugin/HarmonicToTime.cpp index e206cf0ad7d420ec28bd7fe5cd0b1460354574a7..5d89e366fe124eef02d312d568c5fb7608f868ab 100644 --- a/Plugin/HarmonicToTime.cpp +++ b/Plugin/HarmonicToTime.cpp @@ -65,25 +65,24 @@ void GMSH_HarmonicToTimePlugin::catchErrorMessage(char *errorMessage) const } -static void h2t(int nb1, List_T *list1, int *nb2, List_T *list2, +static void h2t(int nb1, std::vector<double> &list1, + int *nb2, std::vector<double> &list2, int nbNod, int nbComp, int rIndex, int iIndex, int nSteps) { if(!nb1) return; - int nb = List_Nbr(list1) / nb1; - for(int i = 0; i < List_Nbr(list1); i += nb) { + int nb = list1.size() / nb1; + for(unsigned int i = 0; i < list1.size(); i += nb) { for(int j = 0; j < 3 * nbNod; j++) - List_Add(list2, List_Pointer_Fast(list1, i + j)); - double *valr = (double *)List_Pointer_Fast(list1, i + 3 * nbNod + - nbNod * nbComp * rIndex); - double *vali = (double *)List_Pointer_Fast(list1, i + 3 * nbNod + - nbNod * nbComp * iIndex); + list2.push_back(list1[i + j]); + double *valr = &list1[i + 3 * nbNod + nbNod * nbComp * rIndex]; + double *vali = &list1[i + 3 * nbNod + nbNod * nbComp * iIndex]; for(int t = 0; t < nSteps; t++) { double p = 2. * M_PI * t / nSteps; for(int j = 0; j < nbNod; j++) { for(int k = 0; k < nbComp; k++) { double val = valr[nbComp * j + k] * cos(p) - vali[nbComp * j + k] * sin(p); - List_Add(list2, &val); + list2.push_back(val); } } } @@ -115,7 +114,7 @@ PView *GMSH_HarmonicToTimePlugin::execute(PView * v) return v1; } - PView *v2 = new PView(true, data1->getNumElements() * nSteps); + PView *v2 = new PView(); PViewDataList *data2 = getDataList(v2); if(!data2) return v; @@ -147,7 +146,7 @@ PView *GMSH_HarmonicToTimePlugin::execute(PView * v) for(int i = 0; i < nSteps; i++){ double p = 2. * M_PI * i / (double)nSteps; - List_Add(data2->Time, &p); + data2->Time.push_back(p); } data2->setName(data1->getName() + "_HarmonicToTime"); data2->setFileName(data1->getName() + "_HarmonicToTime.pos"); diff --git a/Plugin/Integrate.cpp b/Plugin/Integrate.cpp index 95520bcf64d1d79e3aeea911f4d0ad7fea1c687c..5f7abd58a847fa4d131eac8889bfb0be4006f92c 100644 --- a/Plugin/Integrate.cpp +++ b/Plugin/Integrate.cpp @@ -67,15 +67,15 @@ PView *GMSH_IntegratePlugin::execute(PView * v) if(!v1) return v; PViewData *data1 = v1->getData(); - PView *v2 = new PView(true); + PView *v2 = new PView(); PViewDataList *data2 = getDataList(v2); double x = data1->getBoundingBox().center().x(); double y = data1->getBoundingBox().center().y(); double z = data1->getBoundingBox().center().z(); - List_Add(data2->SP, &x); - List_Add(data2->SP, &y); - List_Add(data2->SP, &z); + data2->SP.push_back(x); + data2->SP.push_back(y); + data2->SP.push_back(z); for(int step = 0; step < data1->getNumTimeSteps(); step++){ double res = 0, resv[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0}; bool simpleSum = false; @@ -121,14 +121,14 @@ PView *GMSH_IntegratePlugin::execute(PView * v) resv[8]); else Msg::Info("Step %d: integral = %.16g", step, res); - List_Add(data2->SP, &res); + data2->SP.push_back(res); } data2->NbSP = 1; v2->getOptions()->intervalsType = PViewOptions::Numeric; for(int i = 0; i < data1->getNumTimeSteps(); i++){ double time = data1->getTime(i); - List_Add(data2->Time, &time); + data2->Time.push_back(time); } data2->setName(data1->getName() + "_Integrate"); data2->setFileName(data1->getName() + "_Integrate.pos"); diff --git a/Plugin/Lambda2.cpp b/Plugin/Lambda2.cpp index 0ebc895fbf75835198ca0e4849dadcf086f2b77c..a1301e478782b2ad93044d480e8c6ccaa55feb55 100644 --- a/Plugin/Lambda2.cpp +++ b/Plugin/Lambda2.cpp @@ -91,39 +91,34 @@ static int inv3x3tran(double mat[3][3], double inv[3][3], double *det) return 1; } -static void eigen(List_T *inList, int inNb, - List_T *outList, int *outNb, +static void eigen(std::vector<double> &inList, int inNb, + std::vector<double> &outList, int *outNb, int nbTime, int nbNod, int nbComp, int lam) { if(!inNb || (nbComp != 3 && nbComp != 9) || lam < 1 || lam > 3) return; // loop on elements - int nb = List_Nbr(inList) / inNb; - for(int i = 0; i < List_Nbr(inList); i += nb) { - - // FIXME: there was this test in the old Plugin(Gradient) - // double *yy = (double *)List_Pointer_Fast(inList, i + nbNod); - // if(yy[0] > 0){ + int nb = inList.size() / inNb; + for(unsigned int i = 0; i < inList.size(); i += nb) { // copy node coordinates for(int j = 0; j < 3 * nbNod; j++) - List_Add(outList, List_Pointer_Fast(inList, i + j)); + outList.push_back(inList[i + j]); // loop on time steps for(int j = 0; j < nbTime; j++){ - double *x = (double *)List_Pointer_Fast(inList, i); - double *y = (double *)List_Pointer_Fast(inList, i + nbNod); - double *z = (double *)List_Pointer_Fast(inList, i + 2 * nbNod); + double *x = &inList[i]; + double *y = &inList[i + nbNod]; + double *z = &inList[i + 2 * nbNod]; double GradVel[3][3]; if(nbComp == 9){ // val is the velocity gradient tensor: we assume that it is // constant per element - double *v = (double *)List_Pointer_Fast(inList, i + 3 * nbNod + - nbNod * nbComp * j + nbComp * 0); + double *v = &inList[i + 3 * nbNod + nbNod * nbComp * j + nbComp * 0]; GradVel[0][0] = v[0]; GradVel[0][1] = v[1]; GradVel[0][2] = v[2]; GradVel[1][0] = v[3]; GradVel[1][1] = v[4]; GradVel[1][2] = v[5]; GradVel[2][0] = v[6]; GradVel[2][1] = v[7]; GradVel[2][2] = v[8]; @@ -137,8 +132,7 @@ static void eigen(List_T *inList, int inNb, const int MAX_NOD = 4; double val[3][MAX_NOD]; for(int k = 0; k < nbNod; k++){ - double *v = (double *)List_Pointer_Fast(inList, i + 3 * nbNod + - nbNod * nbComp * j + nbComp * k); + double *v = &inList[i + 3 * nbNod + nbNod * nbComp * j + nbComp * k]; for(int l = 0; l < 3; l++){ val[l][k] = v[l]; } @@ -217,14 +211,11 @@ static void eigen(List_T *inList, int inNb, double lambda[3]; eigenvalue(a, lambda); for(int k = 0; k < nbNod; k++) - List_Add(outList, &lambda[lam-1]); + outList.push_back(lambda[lam-1]); } (*outNb)++; - // FIXME: end of the yy[0]>0 test in the old Plugin(Gradient) - // } - } } @@ -239,7 +230,7 @@ PView *GMSH_Lambda2Plugin::execute(PView *v) PViewDataList *data1 = getDataList(v1); if(!data1) return v; - PView *v2 = new PView(true); + PView *v2 = new PView(); PViewDataList *data2 = getDataList(v2); if(!data2) return v; @@ -266,8 +257,7 @@ PView *GMSH_Lambda2Plugin::execute(PView *v) //eigen(data1->VI, data1->NbVI, data2->SI, &data2->NbSI, nts, 6, 3, ev); //eigen(data1->VY, data1->NbVY, data2->SY, &data2->NbSY, nts, 5, 3, ev); - for(int i = 0; i < List_Nbr(data1->Time); i++) - List_Add(data2->Time, List_Pointer(data1->Time, i)); + data2->Time = data1->Time; data2->setName(data1->getName() + "_Lambda2"); data2->setFileName(data1->getName() + "_Lambda2.pos"); data2->finalize(); diff --git a/Plugin/Levelset.cpp b/Plugin/Levelset.cpp index 50579da9b9e02845b7210be99f2065f01cb9ecbe..799cfab65802e521d5fd37b6100079ee407e71d4 100644 --- a/Plugin/Levelset.cpp +++ b/Plugin/Levelset.cpp @@ -5,7 +5,6 @@ #include "Levelset.h" #include "MakeSimplex.h" -#include "ListUtils.h" #include "Numeric.h" #include "adaptiveData.h" @@ -193,50 +192,50 @@ void GMSH_LevelsetPlugin::_addElement(int step, int np, int numEdges, int numCom double xp[12], double yp[12], double zp[12], double valp[12][9], PViewDataList *out) { - List_T *list; + std::vector<double> *list; int *nbPtr; switch(np){ case 1: - if(numComp == 1) { list = out->SP; nbPtr = &out->NbSP; } - else if(numComp == 3) { list = out->VP; nbPtr = &out->NbVP; } - else { list = out->TP; nbPtr = &out->NbTP; } + if(numComp == 1) { list = &out->SP; nbPtr = &out->NbSP; } + else if(numComp == 3) { list = &out->VP; nbPtr = &out->NbVP; } + else { list = &out->TP; nbPtr = &out->NbTP; } break; case 2: - if(numComp == 1) { list = out->SL; nbPtr = &out->NbSL; } - else if(numComp == 3) { list = out->VL; nbPtr = &out->NbVL; } - else { list = out->TL; nbPtr = &out->NbTL; } + if(numComp == 1) { list = &out->SL; nbPtr = &out->NbSL; } + else if(numComp == 3) { list = &out->VL; nbPtr = &out->NbVL; } + else { list = &out->TL; nbPtr = &out->NbTL; } break; case 3: - if(numComp == 1) { list = out->ST; nbPtr = &out->NbST; } - else if(numComp == 3) { list = out->VT; nbPtr = &out->NbVT; } - else { list = out->TT; nbPtr = &out->NbTT; } + if(numComp == 1) { list = &out->ST; nbPtr = &out->NbST; } + else if(numComp == 3) { list = &out->VT; nbPtr = &out->NbVT; } + else { list = &out->TT; nbPtr = &out->NbTT; } break; case 4: if(!_extractVolume || numEdges <= 4){ - if(numComp == 1) { list = out->SQ; nbPtr = &out->NbSQ; } - else if(numComp == 3) { list = out->VQ; nbPtr = &out->NbVQ; } - else { list = out->TQ; nbPtr = &out->NbTQ; } + if(numComp == 1) { list = &out->SQ; nbPtr = &out->NbSQ; } + else if(numComp == 3) { list = &out->VQ; nbPtr = &out->NbVQ; } + else { list = &out->TQ; nbPtr = &out->NbTQ; } } else{ - if(numComp == 1) { list = out->SS; nbPtr = &out->NbSS; } - else if(numComp == 3) { list = out->VS; nbPtr = &out->NbVS; } - else { list = out->TS; nbPtr = &out->NbTS; } + if(numComp == 1) { list = &out->SS; nbPtr = &out->NbSS; } + else if(numComp == 3) { list = &out->VS; nbPtr = &out->NbVS; } + else { list = &out->TS; nbPtr = &out->NbTS; } } break; case 5: - if(numComp == 1) { list = out->SY; nbPtr = &out->NbSY; } - else if(numComp == 3) { list = out->VY; nbPtr = &out->NbVY; } - else { list = out->TY; nbPtr = &out->NbTY; } + if(numComp == 1) { list = &out->SY; nbPtr = &out->NbSY; } + else if(numComp == 3) { list = &out->VY; nbPtr = &out->NbVY; } + else { list = &out->TY; nbPtr = &out->NbTY; } break; case 6: - if(numComp == 1) { list = out->SI; nbPtr = &out->NbSI; } - else if(numComp == 3) { list = out->VI; nbPtr = &out->NbVI; } - else { list = out->TI; nbPtr = &out->NbTI; } + if(numComp == 1) { list = &out->SI; nbPtr = &out->NbSI; } + else if(numComp == 3) { list = &out->VI; nbPtr = &out->NbVI; } + else { list = &out->TI; nbPtr = &out->NbTI; } break; case 8: - if(numComp == 1) { list = out->SH; nbPtr = &out->NbSH; } - else if(numComp == 3) { list = out->VH; nbPtr = &out->NbVH; } - else { list = out->TH; nbPtr = &out->NbTH; } + if(numComp == 1) { list = &out->SH; nbPtr = &out->NbSH; } + else if(numComp == 3) { list = &out->VH; nbPtr = &out->NbVH; } + else { list = &out->TH; nbPtr = &out->NbTH; } break; default: return; @@ -245,16 +244,16 @@ void GMSH_LevelsetPlugin::_addElement(int step, int np, int numEdges, int numCom // copy the elements in the output data if(!step || !_valueIndependent) { for(int k = 0; k < np; k++) - List_Add(list, &xp[k]); + list->push_back(xp[k]); for(int k = 0; k < np; k++) - List_Add(list, &yp[k]); + list->push_back(yp[k]); for(int k = 0; k < np; k++) - List_Add(list, &zp[k]); + list->push_back(zp[k]); (*nbPtr)++; } for(int k = 0; k < np; k++) for(int l = 0; l < numComp; l++) - List_Add(list, &valp[k][l]); + list->push_back(valp[k][l]); } void GMSH_LevelsetPlugin::_cutAndAddElements(PViewData *vdata, PViewData *wdata, @@ -431,7 +430,7 @@ PView *GMSH_LevelsetPlugin::execute(PView *v) if(_valueIndependent) { // create a single output view containing the (possibly // multi-step) levelset - PViewDataList *out = getDataList(new PView(true)); + PViewDataList *out = getDataList(new PView()); for(int ent = 0; ent < vdata->getNumEntities(0); ent++){ for(int ele = 0; ele < vdata->getNumElements(0, ent); ele++){ if(vdata->skipElement(0, ent, ele)) continue; @@ -453,7 +452,7 @@ PView *GMSH_LevelsetPlugin::execute(PView *v) else{ // create one view per timestep for(int step = 0; step < vdata->getNumTimeSteps(); step++){ - PViewDataList *out = getDataList(new PView(true)); + PViewDataList *out = getDataList(new PView()); for(int ent = 0; ent < vdata->getNumEntities(step); ent++){ for(int ele = 0; ele < vdata->getNumElements(step, ent); ele++){ if(vdata->skipElement(step, ent, ele)) continue; diff --git a/Plugin/MakeSimplex.cpp b/Plugin/MakeSimplex.cpp index cb8797edf078ebf2c328c06f3d1fc73042842d45..62f6a85364684da29e9a72aec67e2485ea972d0a 100644 --- a/Plugin/MakeSimplex.cpp +++ b/Plugin/MakeSimplex.cpp @@ -59,7 +59,8 @@ void GMSH_MakeSimplexPlugin::catchErrorMessage(char *errorMessage) const } static void decomposeList(PViewDataList *data, int nbNod, int nbComp, - List_T **listIn, int *nbIn, List_T *listOut, int *nbOut) + std::vector<double> &listIn, int *nbIn, + std::vector<double> &listOut, int *nbOut) { double xNew[4], yNew[4], zNew[4]; double *valNew = new double[data->getNumTimeSteps() * nbComp * nbNod]; @@ -68,29 +69,29 @@ static void decomposeList(PViewDataList *data, int nbNod, int nbComp, if(!(*nbIn)) return; - int nb = List_Nbr(*listIn) / (*nbIn); - for(int i = 0; i < List_Nbr(*listIn); i += nb){ - double *x = (double *)List_Pointer(*listIn, i); - double *y = (double *)List_Pointer(*listIn, i + nbNod); - double *z = (double *)List_Pointer(*listIn, i + 2 * nbNod); - double *val = (double *)List_Pointer(*listIn, i + 3 * nbNod); + int nb = listIn.size() / (*nbIn); + for(unsigned int i = 0; i < listIn.size(); i += nb){ + double *x = &listIn[i]; + double *y = &listIn[i + nbNod]; + double *z = &listIn[i + 2 * nbNod]; + double *val = &listIn[i + 3 * nbNod]; for(int j = 0; j < dec.numSimplices(); j++){ dec.decompose(j, x, y, z, val, xNew, yNew, zNew, valNew); for(int k = 0; k < dec.numSimplexNodes(); k++) - List_Add(listOut, &xNew[k]); + listOut.push_back(xNew[k]); for(int k = 0; k < dec.numSimplexNodes(); k++) - List_Add(listOut, &yNew[k]); + listOut.push_back(yNew[k]); for(int k = 0; k < dec.numSimplexNodes(); k++) - List_Add(listOut, &zNew[k]); + listOut.push_back(zNew[k]); for(int k = 0; k < dec.numSimplexNodes() * data->getNumTimeSteps() * nbComp; k++) - List_Add(listOut, &valNew[k]); + listOut.push_back(valNew[k]); (*nbOut)++; } } delete [] valNew; - List_Reset(*listIn); + listIn.clear(); *nbIn = 0; } @@ -105,24 +106,24 @@ PView *GMSH_MakeSimplexPlugin::execute(PView *v) if(!data1) return v; // quads - decomposeList(data1, 4, 1, &data1->SQ, &data1->NbSQ, data1->ST, &data1->NbST); - decomposeList(data1, 4, 3, &data1->VQ, &data1->NbVQ, data1->VT, &data1->NbVT); - decomposeList(data1, 4, 9, &data1->TQ, &data1->NbTQ, data1->TT, &data1->NbTT); + decomposeList(data1, 4, 1, data1->SQ, &data1->NbSQ, data1->ST, &data1->NbST); + decomposeList(data1, 4, 3, data1->VQ, &data1->NbVQ, data1->VT, &data1->NbVT); + decomposeList(data1, 4, 9, data1->TQ, &data1->NbTQ, data1->TT, &data1->NbTT); // hexas - decomposeList(data1, 8, 1, &data1->SH, &data1->NbSH, data1->SS, &data1->NbSS); - decomposeList(data1, 8, 3, &data1->VH, &data1->NbVH, data1->VS, &data1->NbVS); - decomposeList(data1, 8, 9, &data1->TH, &data1->NbTH, data1->TS, &data1->NbTS); + decomposeList(data1, 8, 1, data1->SH, &data1->NbSH, data1->SS, &data1->NbSS); + decomposeList(data1, 8, 3, data1->VH, &data1->NbVH, data1->VS, &data1->NbVS); + decomposeList(data1, 8, 9, data1->TH, &data1->NbTH, data1->TS, &data1->NbTS); // prisms - decomposeList(data1, 6, 1, &data1->SI, &data1->NbSI, data1->SS, &data1->NbSS); - decomposeList(data1, 6, 3, &data1->VI, &data1->NbVI, data1->VS, &data1->NbVS); - decomposeList(data1, 6, 9, &data1->TI, &data1->NbTI, data1->TS, &data1->NbTS); + decomposeList(data1, 6, 1, data1->SI, &data1->NbSI, data1->SS, &data1->NbSS); + decomposeList(data1, 6, 3, data1->VI, &data1->NbVI, data1->VS, &data1->NbVS); + decomposeList(data1, 6, 9, data1->TI, &data1->NbTI, data1->TS, &data1->NbTS); // pyramids - decomposeList(data1, 5, 1, &data1->SY, &data1->NbSY, data1->SS, &data1->NbSS); - decomposeList(data1, 5, 3, &data1->VY, &data1->NbVY, data1->VS, &data1->NbVS); - decomposeList(data1, 5, 9, &data1->TY, &data1->NbTY, data1->TS, &data1->NbTS); + decomposeList(data1, 5, 1, data1->SY, &data1->NbSY, data1->SS, &data1->NbSS); + decomposeList(data1, 5, 3, data1->VY, &data1->NbVY, data1->VS, &data1->NbVS); + decomposeList(data1, 5, 9, data1->TY, &data1->NbTY, data1->TS, &data1->NbTS); data1->finalize(); v1->setChanged(true); diff --git a/Plugin/Makefile b/Plugin/Makefile index 9d013f8352e687529700f28581872c73dad9087f..ae4d7572847257ce5fbf6ceb95a6236ea18b0f44 100644 --- a/Plugin/Makefile +++ b/Plugin/Makefile @@ -65,13 +65,13 @@ depend: Plugin${OBJEXT}: Plugin.cpp Plugin.h ../Common/Options.h ../Post/ColorTable.h \ ../Common/GmshMessage.h ../Post/PView.h ../Geo/SPoint3.h \ ../Post/PViewDataList.h ../Post/PViewData.h ../Geo/SBoundingBox3d.h \ - ../Geo/SPoint3.h ../Numeric/GmshMatrix.h ../Common/GmshConfig.h \ - ../Common/ListUtils.h -PluginManager${OBJEXT}: PluginManager.cpp ../Common/GmshConfig.h Plugin.h \ - ../Common/Options.h ../Post/ColorTable.h ../Common/GmshMessage.h \ - ../Post/PView.h ../Geo/SPoint3.h ../Post/PViewDataList.h \ - ../Post/PViewData.h ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h \ - ../Numeric/GmshMatrix.h ../Common/ListUtils.h PluginManager.h CutMap.h \ + ../Geo/SPoint3.h ../Numeric/GmshMatrix.h ../Common/GmshConfig.h +PluginManager${OBJEXT}: PluginManager.cpp ../Common/GmshConfig.h \ + ../Common/Context.h ../Geo/CGNSOptions.h ../Mesh/meshPartitionOptions.h \ + Plugin.h ../Common/Options.h ../Post/ColorTable.h \ + ../Common/GmshMessage.h ../Post/PView.h ../Geo/SPoint3.h \ + ../Post/PViewDataList.h ../Post/PViewData.h ../Geo/SBoundingBox3d.h \ + ../Geo/SPoint3.h ../Numeric/GmshMatrix.h PluginManager.h CutMap.h \ Levelset.h CutGrid.h StreamLines.h CutPlane.h CutParametric.h \ CutSphere.h Skin.h ../Common/TreeUtils.h ../Common/avl.h \ ../Common/ListUtils.h Extract.h ExtractElements.h ExtractEdges.h \ @@ -79,72 +79,69 @@ PluginManager${OBJEXT}: PluginManager.cpp ../Common/GmshConfig.h Plugin.h \ Divergence.h Annotate.h Remove.h MakeSimplex.h Smooth.h Transform.h \ LongitudeLatitude.h Triangulate.h Warp.h SphericalRaise.h \ Eigenvectors.h Eigenvalues.h Lambda2.h Evaluate.h Probe.h FieldView.h \ - GSHHS.h FiniteElement.h ../Common/Context.h ../Geo/CGNSOptions.h \ - ../Mesh/meshPartitionOptions.h + GSHHS.h FiniteElement.h HomologyComputation.h Levelset${OBJEXT}: Levelset.cpp Levelset.h Plugin.h ../Common/Options.h \ ../Post/ColorTable.h ../Common/GmshMessage.h ../Post/PView.h \ ../Geo/SPoint3.h ../Post/PViewDataList.h ../Post/PViewData.h \ ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Numeric/GmshMatrix.h \ - ../Common/GmshConfig.h ../Common/ListUtils.h MakeSimplex.h \ - ../Numeric/Numeric.h ../Numeric/GmshMatrix.h ../Post/adaptiveData.h + ../Common/GmshConfig.h MakeSimplex.h ../Numeric/Numeric.h \ + ../Numeric/GmshMatrix.h ../Post/adaptiveData.h CutPlane${OBJEXT}: CutPlane.cpp ../Common/GmshConfig.h CutPlane.h Levelset.h \ Plugin.h ../Common/Options.h ../Post/ColorTable.h \ ../Common/GmshMessage.h ../Post/PView.h ../Geo/SPoint3.h \ ../Post/PViewDataList.h ../Post/PViewData.h ../Geo/SBoundingBox3d.h \ - ../Geo/SPoint3.h ../Numeric/GmshMatrix.h ../Common/ListUtils.h \ - ../Common/Context.h ../Geo/CGNSOptions.h ../Mesh/meshPartitionOptions.h \ + ../Geo/SPoint3.h ../Numeric/GmshMatrix.h ../Common/Context.h \ + ../Geo/CGNSOptions.h ../Mesh/meshPartitionOptions.h \ ../Graphics/drawContext.h ../Fltk/Draw.h CutSphere${OBJEXT}: CutSphere.cpp ../Common/GmshConfig.h CutSphere.h Levelset.h \ Plugin.h ../Common/Options.h ../Post/ColorTable.h \ ../Common/GmshMessage.h ../Post/PView.h ../Geo/SPoint3.h \ ../Post/PViewDataList.h ../Post/PViewData.h ../Geo/SBoundingBox3d.h \ - ../Geo/SPoint3.h ../Numeric/GmshMatrix.h ../Common/ListUtils.h \ - ../Common/Context.h ../Geo/CGNSOptions.h ../Mesh/meshPartitionOptions.h \ + ../Geo/SPoint3.h ../Numeric/GmshMatrix.h ../Common/Context.h \ + ../Geo/CGNSOptions.h ../Mesh/meshPartitionOptions.h \ ../Graphics/drawContext.h ../Fltk/Draw.h CutMap${OBJEXT}: CutMap.cpp CutMap.h Levelset.h Plugin.h ../Common/Options.h \ ../Post/ColorTable.h ../Common/GmshMessage.h ../Post/PView.h \ ../Geo/SPoint3.h ../Post/PViewDataList.h ../Post/PViewData.h \ ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Numeric/GmshMatrix.h \ - ../Common/GmshConfig.h ../Common/ListUtils.h ../Common/Context.h \ - ../Geo/CGNSOptions.h ../Mesh/meshPartitionOptions.h + ../Common/GmshConfig.h ../Common/Context.h ../Geo/CGNSOptions.h \ + ../Mesh/meshPartitionOptions.h Smooth${OBJEXT}: Smooth.cpp Smooth.h Plugin.h ../Common/Options.h \ ../Post/ColorTable.h ../Common/GmshMessage.h ../Post/PView.h \ ../Geo/SPoint3.h ../Post/PViewDataList.h ../Post/PViewData.h \ ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Numeric/GmshMatrix.h \ - ../Common/GmshConfig.h ../Common/ListUtils.h + ../Common/GmshConfig.h CutParametric${OBJEXT}: CutParametric.cpp ../Common/GmshConfig.h \ ../Post/OctreePost.h ../Common/Octree.h ../Common/OctreeInternals.h \ CutParametric.h Plugin.h ../Common/Options.h ../Post/ColorTable.h \ ../Common/GmshMessage.h ../Post/PView.h ../Geo/SPoint3.h \ ../Post/PViewDataList.h ../Post/PViewData.h ../Geo/SBoundingBox3d.h \ - ../Geo/SPoint3.h ../Numeric/GmshMatrix.h ../Common/ListUtils.h \ - ../Common/Context.h ../Geo/CGNSOptions.h ../Mesh/meshPartitionOptions.h \ + ../Geo/SPoint3.h ../Numeric/GmshMatrix.h ../Common/Context.h \ + ../Geo/CGNSOptions.h ../Mesh/meshPartitionOptions.h \ ../Graphics/drawContext.h ../Fltk/Draw.h Lambda2${OBJEXT}: Lambda2.cpp Lambda2.h Plugin.h ../Common/Options.h \ ../Post/ColorTable.h ../Common/GmshMessage.h ../Post/PView.h \ ../Geo/SPoint3.h ../Post/PViewDataList.h ../Post/PViewData.h \ ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Numeric/GmshMatrix.h \ - ../Common/GmshConfig.h ../Common/ListUtils.h ../Numeric/Numeric.h \ - ../Numeric/GmshMatrix.h + ../Common/GmshConfig.h ../Numeric/Numeric.h ../Numeric/GmshMatrix.h Eigenvectors${OBJEXT}: Eigenvectors.cpp Eigenvectors.h Plugin.h \ ../Common/Options.h ../Post/ColorTable.h ../Common/GmshMessage.h \ ../Post/PView.h ../Geo/SPoint3.h ../Post/PViewDataList.h \ ../Post/PViewData.h ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h \ - ../Numeric/GmshMatrix.h ../Common/GmshConfig.h ../Common/ListUtils.h \ - ../Numeric/Numeric.h ../Numeric/GmshMatrix.h ../Numeric/EigSolve.h + ../Numeric/GmshMatrix.h ../Common/GmshConfig.h ../Numeric/Numeric.h \ + ../Numeric/GmshMatrix.h ../Numeric/EigSolve.h Eigenvalues${OBJEXT}: Eigenvalues.cpp Eigenvalues.h Plugin.h ../Common/Options.h \ ../Post/ColorTable.h ../Common/GmshMessage.h ../Post/PView.h \ ../Geo/SPoint3.h ../Post/PViewDataList.h ../Post/PViewData.h \ ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Numeric/GmshMatrix.h \ - ../Common/GmshConfig.h ../Common/ListUtils.h ../Numeric/Numeric.h \ - ../Numeric/GmshMatrix.h + ../Common/GmshConfig.h ../Numeric/Numeric.h ../Numeric/GmshMatrix.h StreamLines${OBJEXT}: StreamLines.cpp ../Common/GmshConfig.h StreamLines.h \ Plugin.h ../Common/Options.h ../Post/ColorTable.h \ ../Common/GmshMessage.h ../Post/PView.h ../Geo/SPoint3.h \ ../Post/PViewDataList.h ../Post/PViewData.h ../Geo/SBoundingBox3d.h \ - ../Geo/SPoint3.h ../Numeric/GmshMatrix.h ../Common/ListUtils.h \ - ../Post/OctreePost.h ../Common/Octree.h ../Common/OctreeInternals.h \ - ../Common/Context.h ../Geo/CGNSOptions.h ../Mesh/meshPartitionOptions.h \ + ../Geo/SPoint3.h ../Numeric/GmshMatrix.h ../Post/OctreePost.h \ + ../Common/Octree.h ../Common/OctreeInternals.h ../Common/Context.h \ + ../Geo/CGNSOptions.h ../Mesh/meshPartitionOptions.h \ ../Post/PViewOptions.h ../Post/ColorTable.h ../Graphics/drawContext.h \ ../Fltk/Draw.h CutGrid${OBJEXT}: CutGrid.cpp ../Common/GmshConfig.h ../Post/OctreePost.h \ @@ -152,25 +149,24 @@ CutGrid${OBJEXT}: CutGrid.cpp ../Common/GmshConfig.h ../Post/OctreePost.h \ ../Common/Options.h ../Post/ColorTable.h ../Common/GmshMessage.h \ ../Post/PView.h ../Geo/SPoint3.h ../Post/PViewDataList.h \ ../Post/PViewData.h ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h \ - ../Numeric/GmshMatrix.h ../Common/ListUtils.h ../Common/Context.h \ - ../Geo/CGNSOptions.h ../Mesh/meshPartitionOptions.h \ - ../Graphics/drawContext.h ../Fltk/Draw.h + ../Numeric/GmshMatrix.h ../Common/Context.h ../Geo/CGNSOptions.h \ + ../Mesh/meshPartitionOptions.h ../Graphics/drawContext.h ../Fltk/Draw.h Transform${OBJEXT}: Transform.cpp Transform.h Plugin.h ../Common/Options.h \ ../Post/ColorTable.h ../Common/GmshMessage.h ../Post/PView.h \ ../Geo/SPoint3.h ../Post/PViewDataList.h ../Post/PViewData.h \ ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Numeric/GmshMatrix.h \ - ../Common/GmshConfig.h ../Common/ListUtils.h + ../Common/GmshConfig.h LongitudeLatitude${OBJEXT}: LongitudeLatitude.cpp LongitudeLatitude.h Plugin.h \ ../Common/Options.h ../Post/ColorTable.h ../Common/GmshMessage.h \ ../Post/PView.h ../Geo/SPoint3.h ../Post/PViewDataList.h \ ../Post/PViewData.h ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h \ - ../Numeric/GmshMatrix.h ../Common/GmshConfig.h ../Common/ListUtils.h \ - ../Common/OpenFile.h + ../Numeric/GmshMatrix.h ../Common/GmshConfig.h ../Common/OpenFile.h Triangulate${OBJEXT}: Triangulate.cpp ../Geo/GModel.h ../Geo/GVertex.h \ ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \ - ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/GPoint.h \ - ../Geo/SPoint2.h ../Geo/GEdge.h ../Geo/GEntity.h ../Geo/GVertex.h \ - ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint3.h ../Geo/SPoint2.h \ + ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/SOrientedBoundingBox.h \ + ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/Pair.h \ + ../Geo/GPoint.h ../Geo/SPoint2.h ../Geo/GEdge.h ../Geo/GEntity.h \ + ../Geo/GVertex.h ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint2.h \ ../Geo/GFace.h ../Geo/GEntity.h ../Geo/GPoint.h ../Geo/GEdgeLoop.h \ ../Geo/GEdge.h ../Geo/SPoint2.h ../Geo/SVector3.h ../Geo/Pair.h \ ../Geo/GRegion.h ../Geo/GEntity.h ../Geo/SPoint3.h \ @@ -182,36 +178,35 @@ Triangulate${OBJEXT}: Triangulate.cpp ../Geo/GModel.h ../Geo/GVertex.h \ ../Common/GmshMessage.h Triangulate.h Plugin.h ../Common/Options.h \ ../Post/ColorTable.h ../Post/PView.h ../Post/PViewDataList.h \ ../Post/PViewData.h ../Numeric/GmshMatrix.h ../Common/GmshConfig.h \ - ../Common/ListUtils.h ../Common/Context.h ../Geo/CGNSOptions.h \ - ../Mesh/meshPartitionOptions.h + ../Common/Context.h ../Geo/CGNSOptions.h ../Mesh/meshPartitionOptions.h Warp${OBJEXT}: Warp.cpp Warp.h Plugin.h ../Common/Options.h ../Post/ColorTable.h \ ../Common/GmshMessage.h ../Post/PView.h ../Geo/SPoint3.h \ ../Post/PViewDataList.h ../Post/PViewData.h ../Geo/SBoundingBox3d.h \ ../Geo/SPoint3.h ../Numeric/GmshMatrix.h ../Common/GmshConfig.h \ - ../Common/ListUtils.h ../Common/SmoothData.h ../Numeric/Numeric.h \ - ../Numeric/GmshMatrix.h + ../Common/SmoothData.h ../Numeric/Numeric.h ../Numeric/GmshMatrix.h SphericalRaise${OBJEXT}: SphericalRaise.cpp SphericalRaise.h Plugin.h \ ../Common/Options.h ../Post/ColorTable.h ../Common/GmshMessage.h \ ../Post/PView.h ../Geo/SPoint3.h ../Post/PViewDataList.h \ ../Post/PViewData.h ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h \ - ../Numeric/GmshMatrix.h ../Common/GmshConfig.h ../Common/ListUtils.h \ - ../Numeric/Numeric.h ../Numeric/GmshMatrix.h + ../Numeric/GmshMatrix.h ../Common/GmshConfig.h ../Numeric/Numeric.h \ + ../Numeric/GmshMatrix.h Skin${OBJEXT}: Skin.cpp Skin.h Plugin.h ../Common/Options.h ../Post/ColorTable.h \ ../Common/GmshMessage.h ../Post/PView.h ../Geo/SPoint3.h \ ../Post/PViewDataList.h ../Post/PViewData.h ../Geo/SBoundingBox3d.h \ ../Geo/SPoint3.h ../Numeric/GmshMatrix.h ../Common/GmshConfig.h \ - ../Common/ListUtils.h ../Common/TreeUtils.h ../Common/avl.h \ - ../Common/ListUtils.h ../Common/MallocUtils.h ../Common/Context.h \ - ../Geo/CGNSOptions.h ../Mesh/meshPartitionOptions.h + ../Common/TreeUtils.h ../Common/avl.h ../Common/ListUtils.h \ + ../Common/MallocUtils.h ../Common/Context.h ../Geo/CGNSOptions.h \ + ../Mesh/meshPartitionOptions.h GSHHS${OBJEXT}: GSHHS.cpp ../Mesh/Field.h ../Common/GmshConfig.h \ ../Geo/STensor3.h ../Geo/SVector3.h ../Geo/SPoint3.h \ ../Numeric/GmshMatrix.h ../Common/GmshMessage.h ../Numeric/Numeric.h \ ../Numeric/GmshMatrix.h ../Post/PView.h ../Geo/SPoint2.h GSHHS.h \ Plugin.h ../Common/Options.h ../Post/ColorTable.h \ ../Post/PViewDataList.h ../Post/PViewData.h ../Geo/SBoundingBox3d.h \ - ../Geo/SPoint3.h ../Common/ListUtils.h ../Geo/GModel.h ../Geo/GVertex.h \ - ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \ - ../Geo/SBoundingBox3d.h ../Geo/GPoint.h ../Geo/SPoint2.h ../Geo/GEdge.h \ + ../Geo/SPoint3.h ../Geo/GModel.h ../Geo/GVertex.h ../Geo/GEntity.h \ + ../Geo/Range.h ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h \ + ../Geo/SOrientedBoundingBox.h ../Geo/SVector3.h ../Geo/SPoint2.h \ + ../Geo/Pair.h ../Geo/GPoint.h ../Geo/SPoint2.h ../Geo/GEdge.h \ ../Geo/GEntity.h ../Geo/GVertex.h ../Geo/SVector3.h ../Geo/SPoint3.h \ ../Geo/SPoint2.h ../Geo/GFace.h ../Geo/GEntity.h ../Geo/GPoint.h \ ../Geo/GEdgeLoop.h ../Geo/GEdge.h ../Geo/SPoint2.h ../Geo/SVector3.h \ @@ -221,125 +216,141 @@ Extract${OBJEXT}: Extract.cpp ../Common/GmshConfig.h Extract.h Plugin.h \ ../Common/Options.h ../Post/ColorTable.h ../Common/GmshMessage.h \ ../Post/PView.h ../Geo/SPoint3.h ../Post/PViewDataList.h \ ../Post/PViewData.h ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h \ - ../Numeric/GmshMatrix.h ../Common/ListUtils.h + ../Numeric/GmshMatrix.h ExtractElements${OBJEXT}: ExtractElements.cpp ExtractElements.h Plugin.h \ ../Common/Options.h ../Post/ColorTable.h ../Common/GmshMessage.h \ ../Post/PView.h ../Geo/SPoint3.h ../Post/PViewDataList.h \ ../Post/PViewData.h ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h \ - ../Numeric/GmshMatrix.h ../Common/GmshConfig.h ../Common/ListUtils.h \ - ../Numeric/Numeric.h ../Numeric/GmshMatrix.h + ../Numeric/GmshMatrix.h ../Common/GmshConfig.h ../Numeric/Numeric.h \ + ../Numeric/GmshMatrix.h ExtractEdges${OBJEXT}: ExtractEdges.cpp ExtractEdges.h Plugin.h \ ../Common/Options.h ../Post/ColorTable.h ../Common/GmshMessage.h \ ../Post/PView.h ../Geo/SPoint3.h ../Post/PViewDataList.h \ ../Post/PViewData.h ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h \ - ../Numeric/GmshMatrix.h ../Common/GmshConfig.h ../Common/ListUtils.h \ - ../Mesh/BDS.h + ../Numeric/GmshMatrix.h ../Common/GmshConfig.h MakeSimplex${OBJEXT}: MakeSimplex.cpp MakeSimplex.h Plugin.h ../Common/Options.h \ ../Post/ColorTable.h ../Common/GmshMessage.h ../Post/PView.h \ ../Geo/SPoint3.h ../Post/PViewDataList.h ../Post/PViewData.h \ ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Numeric/GmshMatrix.h \ - ../Common/GmshConfig.h ../Common/ListUtils.h + ../Common/GmshConfig.h Evaluate${OBJEXT}: Evaluate.cpp ../Common/GmshConfig.h Evaluate.h Plugin.h \ ../Common/Options.h ../Post/ColorTable.h ../Common/GmshMessage.h \ ../Post/PView.h ../Geo/SPoint3.h ../Post/PViewDataList.h \ ../Post/PViewData.h ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h \ - ../Numeric/GmshMatrix.h ../Common/ListUtils.h ../Post/OctreePost.h \ - ../Common/Octree.h ../Common/OctreeInternals.h + ../Numeric/GmshMatrix.h ../Post/OctreePost.h ../Common/Octree.h \ + ../Common/OctreeInternals.h FieldView${OBJEXT}: FieldView.cpp FieldView.h Plugin.h ../Common/Options.h \ ../Post/ColorTable.h ../Common/GmshMessage.h ../Post/PView.h \ ../Geo/SPoint3.h ../Post/PViewDataList.h ../Post/PViewData.h \ ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Numeric/GmshMatrix.h \ - ../Common/GmshConfig.h ../Common/ListUtils.h ../Mesh/Field.h \ - ../Geo/STensor3.h ../Geo/SVector3.h ../Geo/SPoint3.h \ - ../Numeric/Numeric.h ../Numeric/GmshMatrix.h ../Geo/GModel.h \ - ../Geo/GVertex.h ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \ - ../Geo/SBoundingBox3d.h ../Geo/GPoint.h ../Geo/SPoint2.h ../Geo/GEdge.h \ - ../Geo/GEntity.h ../Geo/GVertex.h ../Geo/SVector3.h ../Geo/SPoint3.h \ - ../Geo/SPoint2.h ../Geo/GFace.h ../Geo/GEntity.h ../Geo/GPoint.h \ - ../Geo/GEdgeLoop.h ../Geo/GEdge.h ../Geo/SPoint2.h ../Geo/SVector3.h \ - ../Geo/Pair.h ../Geo/GRegion.h ../Geo/GEntity.h ../Geo/SPoint3.h \ - ../Geo/SBoundingBox3d.h + ../Common/GmshConfig.h ../Mesh/Field.h ../Geo/STensor3.h \ + ../Geo/SVector3.h ../Geo/SPoint3.h ../Numeric/Numeric.h \ + ../Numeric/GmshMatrix.h ../Geo/GModel.h ../Geo/GVertex.h \ + ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \ + ../Geo/SBoundingBox3d.h ../Geo/SOrientedBoundingBox.h ../Geo/SVector3.h \ + ../Geo/SPoint2.h ../Geo/Pair.h ../Geo/GPoint.h ../Geo/SPoint2.h \ + ../Geo/GEdge.h ../Geo/GEntity.h ../Geo/GVertex.h ../Geo/SVector3.h \ + ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/GFace.h ../Geo/GEntity.h \ + ../Geo/GPoint.h ../Geo/GEdgeLoop.h ../Geo/GEdge.h ../Geo/SPoint2.h \ + ../Geo/SVector3.h ../Geo/Pair.h ../Geo/GRegion.h ../Geo/GEntity.h \ + ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h Integrate${OBJEXT}: Integrate.cpp Integrate.h Plugin.h ../Common/Options.h \ ../Post/ColorTable.h ../Common/GmshMessage.h ../Post/PView.h \ ../Geo/SPoint3.h ../Post/PViewDataList.h ../Post/PViewData.h \ ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Numeric/GmshMatrix.h \ - ../Common/GmshConfig.h ../Common/ListUtils.h ../Post/shapeFunctions.h \ - ../Numeric/Numeric.h ../Numeric/GmshMatrix.h ../Post/PViewOptions.h \ - ../Post/ColorTable.h + ../Common/GmshConfig.h ../Post/shapeFunctions.h ../Numeric/Numeric.h \ + ../Numeric/GmshMatrix.h ../Post/PViewOptions.h ../Post/ColorTable.h Gradient${OBJEXT}: Gradient.cpp Gradient.h Plugin.h ../Common/Options.h \ ../Post/ColorTable.h ../Common/GmshMessage.h ../Post/PView.h \ ../Geo/SPoint3.h ../Post/PViewDataList.h ../Post/PViewData.h \ ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Numeric/GmshMatrix.h \ - ../Common/GmshConfig.h ../Common/ListUtils.h ../Post/shapeFunctions.h \ - ../Numeric/Numeric.h ../Numeric/GmshMatrix.h + ../Common/GmshConfig.h ../Post/shapeFunctions.h ../Numeric/Numeric.h \ + ../Numeric/GmshMatrix.h Curl${OBJEXT}: Curl.cpp Curl.h Plugin.h ../Common/Options.h ../Post/ColorTable.h \ ../Common/GmshMessage.h ../Post/PView.h ../Geo/SPoint3.h \ ../Post/PViewDataList.h ../Post/PViewData.h ../Geo/SBoundingBox3d.h \ ../Geo/SPoint3.h ../Numeric/GmshMatrix.h ../Common/GmshConfig.h \ - ../Common/ListUtils.h ../Post/shapeFunctions.h ../Numeric/Numeric.h \ - ../Numeric/GmshMatrix.h + ../Post/shapeFunctions.h ../Numeric/Numeric.h ../Numeric/GmshMatrix.h Divergence${OBJEXT}: Divergence.cpp Divergence.h Plugin.h ../Common/Options.h \ ../Post/ColorTable.h ../Common/GmshMessage.h ../Post/PView.h \ ../Geo/SPoint3.h ../Post/PViewDataList.h ../Post/PViewData.h \ ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Numeric/GmshMatrix.h \ - ../Common/GmshConfig.h ../Common/ListUtils.h ../Post/shapeFunctions.h \ - ../Numeric/Numeric.h ../Numeric/GmshMatrix.h + ../Common/GmshConfig.h ../Post/shapeFunctions.h ../Numeric/Numeric.h \ + ../Numeric/GmshMatrix.h Annotate${OBJEXT}: Annotate.cpp ../Common/GmshConfig.h Annotate.h Plugin.h \ ../Common/Options.h ../Post/ColorTable.h ../Common/GmshMessage.h \ ../Post/PView.h ../Geo/SPoint3.h ../Post/PViewDataList.h \ ../Post/PViewData.h ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h \ - ../Numeric/GmshMatrix.h ../Common/ListUtils.h ../Common/Context.h \ - ../Geo/CGNSOptions.h ../Mesh/meshPartitionOptions.h \ - ../Graphics/drawContext.h ../Fltk/Draw.h ../Fltk/GUI.h + ../Numeric/GmshMatrix.h ../Common/Context.h ../Geo/CGNSOptions.h \ + ../Mesh/meshPartitionOptions.h ../Graphics/drawContext.h ../Fltk/Draw.h \ + ../Fltk/GUI.h Remove${OBJEXT}: Remove.cpp Remove.h Plugin.h ../Common/Options.h \ ../Post/ColorTable.h ../Common/GmshMessage.h ../Post/PView.h \ ../Geo/SPoint3.h ../Post/PViewDataList.h ../Post/PViewData.h \ ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Numeric/GmshMatrix.h \ - ../Common/GmshConfig.h ../Common/ListUtils.h + ../Common/GmshConfig.h Probe${OBJEXT}: Probe.cpp ../Common/GmshConfig.h Probe.h Plugin.h \ ../Common/Options.h ../Post/ColorTable.h ../Common/GmshMessage.h \ ../Post/PView.h ../Geo/SPoint3.h ../Post/PViewDataList.h \ ../Post/PViewData.h ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h \ - ../Numeric/GmshMatrix.h ../Common/ListUtils.h ../Common/Context.h \ - ../Geo/CGNSOptions.h ../Mesh/meshPartitionOptions.h \ - ../Post/OctreePost.h ../Common/Octree.h ../Common/OctreeInternals.h \ - ../Graphics/drawContext.h ../Fltk/Draw.h + ../Numeric/GmshMatrix.h ../Common/Context.h ../Geo/CGNSOptions.h \ + ../Mesh/meshPartitionOptions.h ../Post/OctreePost.h ../Common/Octree.h \ + ../Common/OctreeInternals.h ../Graphics/drawContext.h ../Fltk/Draw.h HarmonicToTime${OBJEXT}: HarmonicToTime.cpp HarmonicToTime.h Plugin.h \ ../Common/Options.h ../Post/ColorTable.h ../Common/GmshMessage.h \ ../Post/PView.h ../Geo/SPoint3.h ../Post/PViewDataList.h \ ../Post/PViewData.h ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h \ - ../Numeric/GmshMatrix.h ../Common/GmshConfig.h ../Common/ListUtils.h + ../Numeric/GmshMatrix.h ../Common/GmshConfig.h ModulusPhase${OBJEXT}: ModulusPhase.cpp ModulusPhase.h Plugin.h \ ../Common/Options.h ../Post/ColorTable.h ../Common/GmshMessage.h \ ../Post/PView.h ../Geo/SPoint3.h ../Post/PViewDataList.h \ ../Post/PViewData.h ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h \ - ../Numeric/GmshMatrix.h ../Common/GmshConfig.h ../Common/ListUtils.h + ../Numeric/GmshMatrix.h ../Common/GmshConfig.h FiniteElement${OBJEXT}: FiniteElement.cpp ../Common/GmshConfig.h ../Geo/GModel.h \ ../Geo/GVertex.h ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \ - ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/GPoint.h \ - ../Geo/SPoint2.h ../Geo/GEdge.h ../Geo/GEntity.h ../Geo/GVertex.h \ - ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint3.h ../Geo/SPoint2.h \ + ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/SOrientedBoundingBox.h \ + ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/Pair.h \ + ../Geo/GPoint.h ../Geo/SPoint2.h ../Geo/GEdge.h ../Geo/GEntity.h \ + ../Geo/GVertex.h ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint2.h \ ../Geo/GFace.h ../Geo/GEntity.h ../Geo/GPoint.h ../Geo/GEdgeLoop.h \ ../Geo/GEdge.h ../Geo/SPoint2.h ../Geo/SVector3.h ../Geo/Pair.h \ ../Geo/GRegion.h ../Geo/GEntity.h ../Geo/SPoint3.h \ ../Geo/SBoundingBox3d.h FiniteElement.h Plugin.h ../Common/Options.h \ ../Post/ColorTable.h ../Common/GmshMessage.h ../Post/PView.h \ ../Post/PViewDataList.h ../Post/PViewData.h ../Numeric/GmshMatrix.h \ - ../Common/ListUtils.h ../Numeric/gmshAssembler.h \ - ../Numeric/gmshLinearSystem.h ../Numeric/gmshProjection.h \ - ../Numeric/gmshTermOfFormulation.h ../Numeric/GmshMatrix.h \ - ../Numeric/gmshFunction.h ../Numeric/gmshAssembler.h ../Geo/MElement.h \ - ../Common/GmshDefines.h ../Geo/MVertex.h ../Geo/SPoint2.h \ - ../Geo/SPoint3.h ../Geo/MEdge.h ../Geo/MVertex.h ../Geo/SVector3.h \ - ../Geo/MFace.h ../Geo/MVertex.h ../Geo/MEdge.h ../Geo/SVector3.h \ - ../Numeric/FunctionSpace.h ../Numeric/GmshMatrix.h ../Numeric/Gauss.h \ - ../Numeric/gmshFunction.h ../Common/Gmsh.h ../Common/GmshMessage.h \ - ../Numeric/GmshMatrix.h ../Numeric/gmshLaplace.h \ - ../Numeric/gmshTermOfFormulation.h ../Numeric/gmshFunction.h \ - ../Numeric/GmshMatrix.h ../Numeric/gmshHelmholtz.h \ - ../Numeric/gmshTermOfFormulation.h ../Numeric/gmshFunction.h \ - ../Numeric/GmshMatrix.h ../Numeric/gmshLinearSystemGmm.h \ - ../Numeric/gmshLinearSystem.h -HomologyComputation${OBJEXT}: HomologyComputation.cpp Plugin.h \ - ../Geo/GModel.h ../Geo/GEntity.h ../Geo/CellComplex.h \ - ../Post/PView.h HomologyComputation.h ../Geo/Homology.h + ../Numeric/gmshAssembler.h ../Numeric/gmshLinearSystem.h \ + ../Numeric/gmshProjection.h ../Numeric/gmshTermOfFormulation.h \ + ../Numeric/GmshMatrix.h ../Numeric/gmshFunction.h \ + ../Numeric/gmshAssembler.h ../Geo/MElement.h ../Common/GmshDefines.h \ + ../Geo/MVertex.h ../Geo/SPoint2.h ../Geo/SPoint3.h ../Geo/MEdge.h \ + ../Geo/MVertex.h ../Geo/SVector3.h ../Geo/MFace.h ../Geo/MVertex.h \ + ../Geo/MEdge.h ../Geo/SVector3.h ../Numeric/FunctionSpace.h \ + ../Numeric/GmshMatrix.h ../Numeric/Gauss.h ../Numeric/gmshFunction.h \ + ../Common/Gmsh.h ../Common/GmshMessage.h ../Numeric/GmshMatrix.h \ + ../Numeric/gmshLaplace.h ../Numeric/gmshTermOfFormulation.h \ + ../Numeric/gmshFunction.h ../Numeric/GmshMatrix.h \ + ../Numeric/gmshHelmholtz.h ../Numeric/gmshTermOfFormulation.h \ + ../Numeric/gmshFunction.h ../Numeric/GmshMatrix.h \ + ../Numeric/gmshLinearSystemGmm.h ../Numeric/gmshLinearSystem.h +HomologyComputation${OBJEXT}: HomologyComputation.cpp ../Common/Gmsh.h \ + ../Common/GmshMessage.h ../Common/GmshConfig.h ../Geo/GModel.h \ + ../Geo/GVertex.h ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \ + ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/SOrientedBoundingBox.h \ + ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/Pair.h \ + ../Geo/GPoint.h ../Geo/SPoint2.h ../Geo/GEdge.h ../Geo/GEntity.h \ + ../Geo/GVertex.h ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint2.h \ + ../Geo/GFace.h ../Geo/GEntity.h ../Geo/GPoint.h ../Geo/GEdgeLoop.h \ + ../Geo/GEdge.h ../Geo/SPoint2.h ../Geo/SVector3.h ../Geo/Pair.h \ + ../Geo/GRegion.h ../Geo/GEntity.h ../Geo/SPoint3.h \ + ../Geo/SBoundingBox3d.h ../Geo/Homology.h ../Geo/CellComplex.h \ + ../Geo/MElement.h ../Common/GmshDefines.h ../Geo/MVertex.h \ + ../Geo/SPoint2.h ../Geo/SPoint3.h ../Geo/MEdge.h ../Geo/MVertex.h \ + ../Geo/SVector3.h ../Geo/MFace.h ../Geo/MVertex.h ../Geo/MEdge.h \ + ../Geo/SVector3.h ../Numeric/FunctionSpace.h ../Numeric/GmshMatrix.h \ + ../Numeric/Gauss.h ../Geo/MPoint.h ../Geo/MElement.h ../Geo/MLine.h \ + ../Geo/MElement.h ../Geo/MTriangle.h ../Geo/MElement.h \ + ../Geo/MTetrahedron.h ../Geo/MElement.h ../Geo/GModel.h \ + ../Geo/GEntity.h ../Geo/GRegion.h ../Geo/GFace.h ../Geo/GVertex.h \ + ../Post/PViewDataGModel.h ../Post/PViewData.h HomologyComputation.h \ + Plugin.h ../Common/Options.h ../Post/ColorTable.h ../Post/PView.h \ + ../Post/PViewDataList.h ../Post/PViewData.h diff --git a/Plugin/PluginManager.cpp b/Plugin/PluginManager.cpp index 0485342d86641294895e3f4a5f9950d14bc0300d..54a7232cff62875688f533eeb88d754b02fe8578 100644 --- a/Plugin/PluginManager.cpp +++ b/Plugin/PluginManager.cpp @@ -7,6 +7,7 @@ #include <stdlib.h> #include "GmshConfig.h" +#include "Context.h" #include "Plugin.h" #include "PluginManager.h" #include "CutMap.h" @@ -42,7 +43,6 @@ #include "FieldView.h" #include "GSHHS.h" #include "FiniteElement.h" -#include "Context.h" #include "HomologyComputation.h" #if !defined(HAVE_NO_DLL) diff --git a/Plugin/Probe.cpp b/Plugin/Probe.cpp index 3f821e686aaf1554a814930e1b3f3c2cf9972740..ec2f4deed573d776abb16b3a8e1a8019d5461e0c 100644 --- a/Plugin/Probe.cpp +++ b/Plugin/Probe.cpp @@ -142,7 +142,7 @@ PView *GMSH_ProbePlugin::execute(PView *v) PView *v1 = getView(iView, v); if(!v1) return v; - PView *v2 = new PView(true); + PView *v2 = new PView(); PViewDataList *data2 = getDataList(v2); int numSteps = v1->getData()->getNumTimeSteps(); @@ -151,32 +151,32 @@ PView *GMSH_ProbePlugin::execute(PView *v) OctreePost o(v1); if(o.searchScalar(x, y, z, val)){ - List_Add(data2->SP, &x); - List_Add(data2->SP, &y); - List_Add(data2->SP, &z); + data2->SP.push_back(x); + data2->SP.push_back(y); + data2->SP.push_back(z); for(int i = 0; i < numSteps; i++) - List_Add(data2->SP, &val[i]); + data2->SP.push_back(val[i]); data2->NbSP++; } if(o.searchVector(x, y, z, val)){ - List_Add(data2->VP, &x); - List_Add(data2->VP, &y); - List_Add(data2->VP, &z); + data2->VP.push_back(x); + data2->VP.push_back(y); + data2->VP.push_back(z); for(int i = 0; i < numSteps; i++){ for(int j = 0; j < 3; j++) - List_Add(data2->VP, &val[3*i+j]); + data2->VP.push_back(val[3 * i + j]); } data2->NbVP++; } if(o.searchTensor(x, y, z, val)){ - List_Add(data2->TP, &x); - List_Add(data2->TP, &y); - List_Add(data2->TP, &z); + data2->TP.push_back(x); + data2->TP.push_back(y); + data2->TP.push_back(z); for(int i = 0; i < numSteps; i++){ for(int j = 0; j < 9; j++) - List_Add(data2->TP, &val[9*i+j]); + data2->TP.push_back(val[9 * i + j]); } data2->NbTP++; } @@ -185,7 +185,7 @@ PView *GMSH_ProbePlugin::execute(PView *v) for(int i = 0; i < numSteps; i++){ double time = v1->getData()->getTime(i); - List_Add(data2->Time, &time); + data2->Time.push_back(time); } data2->setName(v1->getData()->getName() + "_Probe"); data2->setFileName(v1->getData()->getName() + "_Probe.pos"); diff --git a/Plugin/Remove.cpp b/Plugin/Remove.cpp index 8727ca41f09c6f8809b8eb71351954208430f272..325db88e29dc11f6d4530b4319a6762ddd921ce5 100644 --- a/Plugin/Remove.cpp +++ b/Plugin/Remove.cpp @@ -78,50 +78,50 @@ PView *GMSH_RemovePlugin::execute(PView *v) int tensor = (int)RemoveOptions_Number[12].def; if(RemoveOptions_Number[0].def){ - data1->NbT2 = 0; List_Reset(data1->T2D); List_Reset(data1->T2C); + data1->NbT2 = 0; data1->T2D.clear(); data1->T2C.clear(); } if(RemoveOptions_Number[1].def){ - data1->NbT3 = 0; List_Reset(data1->T3D); List_Reset(data1->T3C); + data1->NbT3 = 0; data1->T3D.clear(); data1->T3C.clear(); } if(RemoveOptions_Number[2].def){ - if(scalar){ data1->NbSP = 0; List_Reset(data1->SP); } - if(vector){ data1->NbVP = 0; List_Reset(data1->VP); } - if(tensor){ data1->NbTP = 0; List_Reset(data1->TP); } + if(scalar){ data1->NbSP = 0; data1->SP.clear(); } + if(vector){ data1->NbVP = 0; data1->VP.clear(); } + if(tensor){ data1->NbTP = 0; data1->TP.clear(); } } if(RemoveOptions_Number[3].def){ - if(scalar){ data1->NbSL = 0; List_Reset(data1->SL); } - if(vector){ data1->NbVL = 0; List_Reset(data1->VL); } - if(tensor){ data1->NbTL = 0; List_Reset(data1->TL); } + if(scalar){ data1->NbSL = 0; data1->SL.clear(); } + if(vector){ data1->NbVL = 0; data1->VL.clear(); } + if(tensor){ data1->NbTL = 0; data1->TL.clear(); } } if(RemoveOptions_Number[4].def){ - if(scalar){ data1->NbST = 0; List_Reset(data1->ST); } - if(vector){ data1->NbVT = 0; List_Reset(data1->VT); } - if(tensor){ data1->NbTT = 0; List_Reset(data1->TT); } + if(scalar){ data1->NbST = 0; data1->ST.clear(); } + if(vector){ data1->NbVT = 0; data1->VT.clear(); } + if(tensor){ data1->NbTT = 0; data1->TT.clear(); } } if(RemoveOptions_Number[5].def){ - if(scalar){ data1->NbSQ = 0; List_Reset(data1->SQ); } - if(vector){ data1->NbVQ = 0; List_Reset(data1->VQ); } - if(tensor){ data1->NbTQ = 0; List_Reset(data1->TQ); } + if(scalar){ data1->NbSQ = 0; data1->SQ.clear(); } + if(vector){ data1->NbVQ = 0; data1->VQ.clear(); } + if(tensor){ data1->NbTQ = 0; data1->TQ.clear(); } } if(RemoveOptions_Number[6].def){ - if(scalar){ data1->NbSS = 0; List_Reset(data1->SS); } - if(vector){ data1->NbVS = 0; List_Reset(data1->VS); } - if(tensor){ data1->NbTS = 0; List_Reset(data1->TS); } + if(scalar){ data1->NbSS = 0; data1->SS.clear(); } + if(vector){ data1->NbVS = 0; data1->VS.clear(); } + if(tensor){ data1->NbTS = 0; data1->TS.clear(); } } if(RemoveOptions_Number[7].def){ - if(scalar){ data1->NbSH = 0; List_Reset(data1->SH); } - if(vector){ data1->NbVH = 0; List_Reset(data1->VH); } - if(tensor){ data1->NbTH = 0; List_Reset(data1->TH); } + if(scalar){ data1->NbSH = 0; data1->SH.clear(); } + if(vector){ data1->NbVH = 0; data1->VH.clear(); } + if(tensor){ data1->NbTH = 0; data1->TH.clear(); } } if(RemoveOptions_Number[8].def){ - if(scalar){ data1->NbSI = 0; List_Reset(data1->SI); } - if(vector){ data1->NbVI = 0; List_Reset(data1->VI); } - if(tensor){ data1->NbTI = 0; List_Reset(data1->TI); } + if(scalar){ data1->NbSI = 0; data1->SI.clear(); } + if(vector){ data1->NbVI = 0; data1->VI.clear(); } + if(tensor){ data1->NbTI = 0; data1->TI.clear(); } } if(RemoveOptions_Number[9].def){ - if(scalar){ data1->NbSY = 0; List_Reset(data1->SY); } - if(vector){ data1->NbVY = 0; List_Reset(data1->VY); } - if(tensor){ data1->NbTY = 0; List_Reset(data1->TY); } + if(scalar){ data1->NbSY = 0; data1->SY.clear(); } + if(vector){ data1->NbVY = 0; data1->VY.clear(); } + if(tensor){ data1->NbTY = 0; data1->TY.clear(); } } data1->finalize(); diff --git a/Plugin/Skin.cpp b/Plugin/Skin.cpp index a039ae94f85a3594eb3996d7270e8f08ffb95eb5..a5a74782090f262509b53874399cb0c3808eddf9 100644 --- a/Plugin/Skin.cpp +++ b/Plugin/Skin.cpp @@ -7,9 +7,9 @@ #include "MallocUtils.h" #include "Context.h" -List_T *GMSH_SkinPlugin::_list = NULL; -Tree_T *GMSH_SkinPlugin::_skin = NULL; -int *GMSH_SkinPlugin::_nbList = NULL; +std::vector<double> *GMSH_SkinPlugin::_list = 0; +Tree_T *GMSH_SkinPlugin::_skin = 0; +int *GMSH_SkinPlugin::_nbList = 0; int GMSH_SkinPlugin::_nbNod = 0; int GMSH_SkinPlugin::_nbComp = 0; int GMSH_SkinPlugin::_nbTimeStep = 0; @@ -100,24 +100,24 @@ void GMSH_SkinPlugin::addInView(void *a, void *b) Elm *e = (Elm *)a; for(int i = 0; i < 3 * _nbNod; i++) - List_Add(_list, &e->coord[i]); + _list->push_back(e->coord[i]); for(int ts = 0; ts < _nbTimeStep; ts++) for(int k = 0; k < _nbNod * _nbComp; k++) - List_Add(_list, &e->val[_nbNod * _nbComp * ts + k]); + _list->push_back(e->val[_nbNod * _nbComp * ts + k]); Free(e->val); (*_nbList)++; } -void GMSH_SkinPlugin::skinList(List_T *inList, int inNbList, +void GMSH_SkinPlugin::skinList(std::vector<double> &inList, int inNbList, int inNbNod, int inNbFac, int fxn[6][4]) { if(!inNbList) return; - int nb = List_Nbr(inList) / inNbList; - for(int i = 0; i < List_Nbr(inList); i += nb) { - double *coord = (double *)List_Pointer_Fast(inList, i); - double *val = (double *)List_Pointer_Fast(inList, i + 3 * inNbNod); + int nb = inList.size() / inNbList; + for(unsigned int i = 0; i < inList.size(); i += nb) { + double *coord = &inList[i]; + double *val = &inList[i + 3 * inNbNod]; for(int j = 0; j < inNbFac; j++) { Elm e, *pe; for(int k = 0; k < _nbNod; k++) { @@ -152,7 +152,7 @@ PView *GMSH_SkinPlugin::execute(PView *v) PViewDataList *data1 = getDataList(v1); if(!data1) return v; - PView *v2 = new PView(true); + PView *v2 = new PView(); PViewDataList *data2 = getDataList(v2); if(!data2) return v; @@ -173,21 +173,21 @@ PView *GMSH_SkinPlugin::execute(PView *v) _nbNod = 2; // scalar _skin = Tree_Create(sizeof(Elm), fcmpElm); - _list = data2->SL; _nbList = &data2->NbSL; _nbComp = 1; + _list = &data2->SL; _nbList = &data2->NbSL; _nbComp = 1; skinList(data1->ST, data1->NbST, 3, 3, skinTri); skinList(data1->SQ, data1->NbSQ, 4, 4, skinQua); Tree_Action(_skin, addInView); Tree_Delete(_skin); // vector _skin = Tree_Create(sizeof(Elm), fcmpElm); - _list = data2->VL; _nbList = &data2->NbVL; _nbComp = 3; + _list = &data2->VL; _nbList = &data2->NbVL; _nbComp = 3; skinList(data1->VT, data1->NbVT, 3, 3, skinTri); skinList(data1->VQ, data1->NbVQ, 4, 4, skinQua); Tree_Action(_skin, addInView); Tree_Delete(_skin); // tensor _skin = Tree_Create(sizeof(Elm), fcmpElm); - _list = data2->TL; _nbList = &data2->NbTL; _nbComp = 9; + _list = &data2->TL; _nbList = &data2->NbTL; _nbComp = 9; skinList(data1->TT, data1->NbTT, 3, 3, skinTri); skinList(data1->TQ, data1->NbTQ, 4, 4, skinQua); Tree_Action(_skin, addInView); @@ -197,7 +197,7 @@ PView *GMSH_SkinPlugin::execute(PView *v) _nbNod = 3; // scalar _skin = Tree_Create(sizeof(Elm), fcmpElm); - _list = data2->ST; _nbList = &data2->NbST; _nbComp = 1; + _list = &data2->ST; _nbList = &data2->NbST; _nbComp = 1; skinList(data1->SS, data1->NbSS, 4, 4, skinTet); skinList(data1->SI, data1->NbSI, 6, 2, skinPri2); skinList(data1->SY, data1->NbSY, 5, 4, skinPyr2); @@ -205,7 +205,7 @@ PView *GMSH_SkinPlugin::execute(PView *v) Tree_Delete(_skin); // vector _skin = Tree_Create(sizeof(Elm), fcmpElm); - _list = data2->VT; _nbList = &data2->NbVT; _nbComp = 3; + _list = &data2->VT; _nbList = &data2->NbVT; _nbComp = 3; skinList(data1->VS, data1->NbVS, 4, 4, skinTet); skinList(data1->VI, data1->NbVI, 6, 2, skinPri2); skinList(data1->VY, data1->NbVY, 5, 4, skinPyr2); @@ -213,7 +213,7 @@ PView *GMSH_SkinPlugin::execute(PView *v) Tree_Delete(_skin); // tensor _skin = Tree_Create(sizeof(Elm), fcmpElm); - _list = data2->TT; _nbList = &data2->NbTT; _nbComp = 9; + _list = &data2->TT; _nbList = &data2->NbTT; _nbComp = 9; skinList(data1->TS, data1->NbTS, 4, 4, skinTet); skinList(data1->TI, data1->NbTI, 6, 2, skinPri2); skinList(data1->TY, data1->NbTY, 5, 4, skinPyr2); @@ -224,7 +224,7 @@ PView *GMSH_SkinPlugin::execute(PView *v) _nbNod = 4; // scalar _skin = Tree_Create(sizeof(Elm), fcmpElm); - _list = data2->SQ; _nbList = &data2->NbSQ; _nbComp = 1; + _list = &data2->SQ; _nbList = &data2->NbSQ; _nbComp = 1; skinList(data1->SH, data1->NbSH, 8, 6, skinHex); skinList(data1->SI, data1->NbSI, 6, 3, skinPri1); skinList(data1->SY, data1->NbSY, 5, 1, skinPyr1); @@ -232,7 +232,7 @@ PView *GMSH_SkinPlugin::execute(PView *v) Tree_Delete(_skin); // vector _skin = Tree_Create(sizeof(Elm), fcmpElm); - _list = data2->VQ; _nbList = &data2->NbVQ; _nbComp = 3; + _list = &data2->VQ; _nbList = &data2->NbVQ; _nbComp = 3; skinList(data1->VH, data1->NbVH, 8, 6, skinHex); skinList(data1->VI, data1->NbVI, 6, 3, skinPri1); skinList(data1->VY, data1->NbVY, 5, 1, skinPyr1); @@ -240,15 +240,14 @@ PView *GMSH_SkinPlugin::execute(PView *v) Tree_Delete(_skin); // tensor _skin = Tree_Create(sizeof(Elm), fcmpElm); - _list = data2->TQ; _nbList = &data2->NbTQ; _nbComp = 9; + _list = &data2->TQ; _nbList = &data2->NbTQ; _nbComp = 9; skinList(data1->TH, data1->NbTH, 8, 6, skinHex); skinList(data1->TI, data1->NbTI, 6, 3, skinPri1); skinList(data1->TY, data1->NbTY, 5, 1, skinPyr1); Tree_Action(_skin, addInView); Tree_Delete(_skin); - for(int i = 0; i < List_Nbr(data1->Time); i++) - List_Add(data2->Time, List_Pointer(data1->Time, i)); + data2->Time = data1->Time; data2->setName(data1->getName() + "_Skin"); data2->setFileName(data1->getName() + "_Skin.pos"); data2->finalize(); diff --git a/Plugin/Skin.h b/Plugin/Skin.h index 169931c80eecf8e9a1ab9ad8fa66e02505b5f20a..db9c35b836828f39a47b3705c6343e0a236f13cd 100644 --- a/Plugin/Skin.h +++ b/Plugin/Skin.h @@ -7,7 +7,6 @@ #define _SKIN_H_ #include "Plugin.h" -#include "ListUtils.h" #include "TreeUtils.h" extern "C" @@ -21,12 +20,12 @@ class GMSH_SkinPlugin : public GMSH_PostPlugin double coord[12]; double *val; } Elm; - static List_T *_list; + static std::vector<double> *_list; static Tree_T *_skin; static int *_nbList, _nbNod, _nbComp, _nbTimeStep; static int fcmpElm(const void *a, const void *b); static void addInView(void *a, void *b); - void skinList(List_T *inList, int inNbList, + void skinList(std::vector<double> &inList, int inNbList, int inNbNod, int inNbFac, int fxn[6][4]); public: GMSH_SkinPlugin(){} diff --git a/Plugin/StreamLines.cpp b/Plugin/StreamLines.cpp index 42f28db45874cf7136e3e57c5e962e9c5f24412a..ac59714c4f98fc42be95f270b7cd6071c6a1facc 100644 --- a/Plugin/StreamLines.cpp +++ b/Plugin/StreamLines.cpp @@ -244,7 +244,7 @@ PView *GMSH_StreamLinesPlugin::execute(PView *v) o2 = new OctreePost(v2); } - PView *v3 = new PView(true); + PView *v3 = new PView(); PViewDataList *data3 = getDataList(v3); const double b1 = 1. / 3., b2 = 2. / 3., b3 = 1. / 3., b4 = 1. / 6.; @@ -261,9 +261,9 @@ PView *GMSH_StreamLinesPlugin::execute(PView *v) } else{ data3->NbVP++; - List_Add(data3->VP, &X[0]); - List_Add(data3->VP, &X[1]); - List_Add(data3->VP, &X[2]); + data3->VP.push_back(X[0]); + data3->VP.push_back(X[1]); + data3->VP.push_back(X[2]); } int currentTimeStep = 0; @@ -275,11 +275,11 @@ PView *GMSH_StreamLinesPlugin::execute(PView *v) if(timeStep < 0){ double T0 = data1->getTime(0); double currentT = T0 + DT * iter; - List_Add(data3->Time, ¤tT); + data3->Time.push_back(currentT); for(; currentTimeStep < data1->getNumTimeSteps() - 1 && currentT > 0.5 * (data1->getTime(currentTimeStep) + data1->getTime(currentTimeStep + 1)); - currentTimeStep++); + currentTimeStep++); } else{ currentTimeStep = timeStep; @@ -308,22 +308,19 @@ PView *GMSH_StreamLinesPlugin::execute(PView *v) if(data2){ data3->NbSL++; - List_Add(data3->SL, &XPREV[0]); - List_Add(data3->SL, &X[0]); - List_Add(data3->SL, &XPREV[1]); - List_Add(data3->SL, &X[1]); - List_Add(data3->SL, &XPREV[2]); - List_Add(data3->SL, &X[2]); + data3->SL.push_back(XPREV[0]); data3->SL.push_back(X[0]); + data3->SL.push_back(XPREV[1]); data3->SL.push_back(X[1]); + data3->SL.push_back(XPREV[2]); data3->SL.push_back(X[2]); for(int k = 0; k < data2->getNumTimeSteps(); k++) - List_Add(data3->SL, &val2[k]); + data3->SL.push_back(val2[k]); o2->searchScalar(X[0], X[1], X[2], val2, -1); for(int k = 0; k < data2->getNumTimeSteps(); k++) - List_Add(data3->SL, &val2[k]); + data3->SL.push_back(val2[k]); } else{ - List_Add(data3->VP, &DX[0]); - List_Add(data3->VP, &DX[1]); - List_Add(data3->VP, &DX[2]); + data3->VP.push_back(DX[0]); + data3->VP.push_back(DX[1]); + data3->VP.push_back(DX[2]); } } } diff --git a/Plugin/Triangulate.cpp b/Plugin/Triangulate.cpp index 9997c3127b5056f1700bcab28f6b0e3ccc8f14cf..1dacf34ec0a00203eb4438d972fe8c299e6a436b 100644 --- a/Plugin/Triangulate.cpp +++ b/Plugin/Triangulate.cpp @@ -69,16 +69,17 @@ static void Project(MVertex *v, double mat[3][3]) v->z() = Z; } -static void Triangulate(int nbIn, List_T *inList, int *nbOut, List_T *outList, +static void Triangulate(int nbIn, std::vector<double> &inList, + int *nbOut, std::vector<double> &outList, int nbTimeStep, int nbComp) { if(nbIn < 3) return; // project points onto plane std::vector<MVertex*> points; - int nb = List_Nbr(inList) / nbIn; - for(int i = 0; i < List_Nbr(inList); i += nb){ - double *p = (double *)List_Pointer_Fast(inList, i); + int nb = inList.size() / nbIn; + for(unsigned int i = 0; i < inList.size(); i += nb){ + double *p = &inList[i]; points.push_back(new MVertex(p[0], p[1], p[2])); } discreteFace *s = new discreteFace(GModel::current(), GModel::current()->getNumFaces() + 1); @@ -101,7 +102,7 @@ static void Triangulate(int nbIn, List_T *inList, int *nbOut, List_T *outList, doc.points[i].where.h = points[i]->x() + XX; doc.points[i].where.v = points[i]->y() + YY; doc.points[i].adjacent = NULL; - doc.points[i].data = List_Pointer_Fast(inList, i * nb); + doc.points[i].data = (void*)&inList[i * nb]; delete points[i]; } @@ -114,14 +115,14 @@ static void Triangulate(int nbIn, List_T *inList, int *nbOut, List_T *outList, double *pb = (double*)doc.points[doc.triangles[i].b].data; double *pc = (double*)doc.points[doc.triangles[i].c].data; for(int j = 0; j < 3; j++) { - List_Add(outList, pa + j); - List_Add(outList, pb + j); - List_Add(outList, pc + j); + outList.push_back(pa[j]); + outList.push_back(pb[j]); + outList.push_back(pc[j]); } for(int j = 0; j < nbTimeStep; j++) { - for(int k = 0; k < nbComp; k++) List_Add(outList, pa + 3 + j * nbComp + k); - for(int k = 0; k < nbComp; k++) List_Add(outList, pb + 3 + j * nbComp + k); - for(int k = 0; k < nbComp; k++) List_Add(outList, pc + 3 + j * nbComp + k); + for(int k = 0; k < nbComp; k++) outList.push_back(pa[3 + j * nbComp + k]); + for(int k = 0; k < nbComp; k++) outList.push_back(pb[3 + j * nbComp + k]); + for(int k = 0; k < nbComp; k++) outList.push_back(pc[3 + j * nbComp + k]); } (*nbOut)++; } @@ -137,7 +138,7 @@ PView *GMSH_TriangulatePlugin::execute(PView *v) PViewDataList *data1 = getDataList(v1); if(!data1) return v; - PView *v2 = new PView(true, data1->getNumElements()); + PView *v2 = new PView(); PViewDataList *data2 = getDataList(v2); if(!data2) return v; @@ -147,8 +148,7 @@ PView *GMSH_TriangulatePlugin::execute(PView *v) Triangulate(data1->NbVP, data1->VP, &data2->NbVT, data2->VT, nts, 3); Triangulate(data1->NbTP, data1->TP, &data2->NbTT, data2->TT, nts, 9); - for(int i = 0; i < List_Nbr(data1->Time); i++) - List_Add(data2->Time, List_Pointer(data1->Time, i)); + data2->Time = data1->Time; data2->setName(data1->getName() + "_Triangulate"); data2->setFileName(data1->getName() + "_Triangulate.pos"); data2->finalize(); diff --git a/Post/Makefile b/Post/Makefile index acf38cba1945a9f92e35c9c51ac556d9776e2d15..7c08c79e69f4400e573970656833bf8acf74ab7e 100644 --- a/Post/Makefile +++ b/Post/Makefile @@ -51,11 +51,12 @@ depend: # DO NOT DELETE THIS LINE PView${OBJEXT}: PView.cpp PView.h ../Geo/SPoint3.h PViewDataList.h PViewData.h \ ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Numeric/GmshMatrix.h \ - ../Common/GmshConfig.h ../Common/GmshMessage.h ../Common/ListUtils.h \ - PViewDataGModel.h ../Geo/GModel.h ../Geo/GVertex.h ../Geo/GEntity.h \ - ../Geo/Range.h ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h ../Geo/GPoint.h \ - ../Geo/SPoint2.h ../Geo/GEdge.h ../Geo/GEntity.h ../Geo/GVertex.h \ - ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint3.h ../Geo/SPoint2.h \ + ../Common/GmshConfig.h ../Common/GmshMessage.h PViewDataGModel.h \ + ../Geo/GModel.h ../Geo/GVertex.h ../Geo/GEntity.h ../Geo/Range.h \ + ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h ../Geo/SOrientedBoundingBox.h \ + ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/Pair.h \ + ../Geo/GPoint.h ../Geo/SPoint2.h ../Geo/GEdge.h ../Geo/GEntity.h \ + ../Geo/GVertex.h ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint2.h \ ../Geo/GFace.h ../Geo/GEntity.h ../Geo/GPoint.h ../Geo/GEdgeLoop.h \ ../Geo/GEdge.h ../Geo/SPoint2.h ../Geo/SVector3.h ../Geo/Pair.h \ ../Geo/GRegion.h ../Geo/GEntity.h ../Geo/SPoint3.h \ @@ -64,57 +65,61 @@ PView${OBJEXT}: PView.cpp PView.h ../Geo/SPoint3.h PViewDataList.h PViewData.h \ PViewIO${OBJEXT}: PViewIO.cpp ../Common/GmshConfig.h ../Common/GmshMessage.h \ PView.h ../Geo/SPoint3.h PViewDataList.h PViewData.h \ ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Numeric/GmshMatrix.h \ - ../Common/ListUtils.h PViewDataGModel.h ../Geo/GModel.h \ - ../Geo/GVertex.h ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \ - ../Geo/SBoundingBox3d.h ../Geo/GPoint.h ../Geo/SPoint2.h ../Geo/GEdge.h \ - ../Geo/GEntity.h ../Geo/GVertex.h ../Geo/SVector3.h ../Geo/SPoint3.h \ + PViewDataGModel.h ../Geo/GModel.h ../Geo/GVertex.h ../Geo/GEntity.h \ + ../Geo/Range.h ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h \ + ../Geo/SOrientedBoundingBox.h ../Geo/SVector3.h ../Geo/SPoint3.h \ + ../Geo/SPoint2.h ../Geo/Pair.h ../Geo/GPoint.h ../Geo/SPoint2.h \ + ../Geo/GEdge.h ../Geo/GEntity.h ../Geo/GVertex.h ../Geo/SVector3.h \ ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/GFace.h ../Geo/GEntity.h \ ../Geo/GPoint.h ../Geo/GEdgeLoop.h ../Geo/GEdge.h ../Geo/SPoint2.h \ ../Geo/SVector3.h ../Geo/Pair.h ../Geo/GRegion.h ../Geo/GEntity.h \ ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h ../Common/StringUtils.h PViewData${OBJEXT}: PViewData.cpp PViewData.h ../Geo/SBoundingBox3d.h \ ../Geo/SPoint3.h ../Numeric/GmshMatrix.h ../Common/GmshConfig.h \ - ../Common/GmshMessage.h ../Common/ListUtils.h adaptiveData.h \ - ../Numeric/Numeric.h ../Numeric/GmshMatrix.h + ../Common/GmshMessage.h adaptiveData.h ../Numeric/Numeric.h \ + ../Numeric/GmshMatrix.h PViewDataIO${OBJEXT}: PViewDataIO.cpp ../Common/GmshMessage.h \ ../Numeric/Numeric.h ../Numeric/GmshMatrix.h ../Common/GmshConfig.h \ PViewData.h ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h PViewDataList${OBJEXT}: PViewDataList.cpp PViewDataList.h PViewData.h \ ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Numeric/GmshMatrix.h \ - ../Common/GmshConfig.h ../Common/GmshMessage.h ../Common/ListUtils.h \ - ../Numeric/Numeric.h ../Numeric/GmshMatrix.h ../Common/SmoothData.h \ - ../Common/Context.h ../Geo/CGNSOptions.h ../Mesh/meshPartitionOptions.h + ../Common/GmshConfig.h ../Common/GmshMessage.h ../Common/GmshDefines.h \ + ../Numeric/FunctionSpace.h ../Numeric/GmshMatrix.h ../Numeric/Numeric.h \ + ../Numeric/GmshMatrix.h ../Common/SmoothData.h ../Common/Context.h \ + ../Geo/CGNSOptions.h ../Mesh/meshPartitionOptions.h PViewDataListIO${OBJEXT}: PViewDataListIO.cpp PViewDataList.h PViewData.h \ ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Numeric/GmshMatrix.h \ - ../Common/GmshConfig.h ../Common/GmshMessage.h ../Common/ListUtils.h \ - ../Numeric/Numeric.h ../Numeric/GmshMatrix.h ../Common/Context.h \ + ../Common/GmshConfig.h ../Common/GmshMessage.h ../Numeric/Numeric.h \ + ../Numeric/GmshMatrix.h ../Common/StringUtils.h ../Common/Context.h \ ../Geo/CGNSOptions.h ../Mesh/meshPartitionOptions.h adaptiveData.h PViewDataGModel${OBJEXT}: PViewDataGModel.cpp PViewDataGModel.h PViewData.h \ ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Numeric/GmshMatrix.h \ ../Common/GmshConfig.h ../Common/GmshMessage.h ../Geo/GModel.h \ ../Geo/GVertex.h ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \ - ../Geo/SBoundingBox3d.h ../Geo/GPoint.h ../Geo/SPoint2.h ../Geo/GEdge.h \ - ../Geo/GEntity.h ../Geo/GVertex.h ../Geo/SVector3.h ../Geo/SPoint3.h \ - ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/GFace.h ../Geo/GEntity.h \ - ../Geo/GPoint.h ../Geo/GEdgeLoop.h ../Geo/GEdge.h ../Geo/SPoint2.h \ - ../Geo/SVector3.h ../Geo/Pair.h ../Geo/GRegion.h ../Geo/GEntity.h \ - ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h ../Geo/MLine.h \ - ../Geo/MElement.h ../Common/GmshDefines.h ../Geo/MVertex.h \ - ../Geo/SPoint2.h ../Geo/SPoint3.h ../Geo/MEdge.h ../Geo/MVertex.h \ - ../Geo/SVector3.h ../Geo/MFace.h ../Geo/MVertex.h ../Geo/MEdge.h \ - ../Geo/SVector3.h ../Numeric/FunctionSpace.h ../Numeric/GmshMatrix.h \ - ../Numeric/Gauss.h ../Geo/MTriangle.h ../Geo/MElement.h \ - ../Geo/MQuadrangle.h ../Geo/MElement.h ../Geo/MTetrahedron.h \ - ../Geo/MElement.h ../Geo/MHexahedron.h ../Geo/MElement.h \ - ../Geo/MPrism.h ../Geo/MElement.h ../Geo/MPyramid.h ../Geo/MElement.h \ - ../Numeric/Numeric.h ../Numeric/GmshMatrix.h + ../Geo/SBoundingBox3d.h ../Geo/SOrientedBoundingBox.h ../Geo/SVector3.h \ + ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/Pair.h ../Geo/GPoint.h \ + ../Geo/SPoint2.h ../Geo/GEdge.h ../Geo/GEntity.h ../Geo/GVertex.h \ + ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/GFace.h \ + ../Geo/GEntity.h ../Geo/GPoint.h ../Geo/GEdgeLoop.h ../Geo/GEdge.h \ + ../Geo/SPoint2.h ../Geo/SVector3.h ../Geo/Pair.h ../Geo/GRegion.h \ + ../Geo/GEntity.h ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h \ + ../Geo/MLine.h ../Geo/MElement.h ../Common/GmshDefines.h \ + ../Geo/MVertex.h ../Geo/SPoint2.h ../Geo/SPoint3.h ../Geo/MEdge.h \ + ../Geo/MVertex.h ../Geo/SVector3.h ../Geo/MFace.h ../Geo/MVertex.h \ + ../Geo/MEdge.h ../Geo/SVector3.h ../Numeric/FunctionSpace.h \ + ../Numeric/GmshMatrix.h ../Numeric/Gauss.h ../Geo/MTriangle.h \ + ../Geo/MElement.h ../Geo/MQuadrangle.h ../Geo/MElement.h \ + ../Geo/MTetrahedron.h ../Geo/MElement.h ../Geo/MHexahedron.h \ + ../Geo/MElement.h ../Geo/MPrism.h ../Geo/MElement.h ../Geo/MPyramid.h \ + ../Geo/MElement.h ../Numeric/Numeric.h ../Numeric/GmshMatrix.h PViewDataGModelIO${OBJEXT}: PViewDataGModelIO.cpp ../Common/GmshConfig.h \ ../Common/GmshMessage.h PViewDataGModel.h PViewData.h \ ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Numeric/GmshMatrix.h \ ../Geo/GModel.h ../Geo/GVertex.h ../Geo/GEntity.h ../Geo/Range.h \ - ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h ../Geo/GPoint.h \ - ../Geo/SPoint2.h ../Geo/GEdge.h ../Geo/GEntity.h ../Geo/GVertex.h \ - ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint3.h ../Geo/SPoint2.h \ + ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h ../Geo/SOrientedBoundingBox.h \ + ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/Pair.h \ + ../Geo/GPoint.h ../Geo/SPoint2.h ../Geo/GEdge.h ../Geo/GEntity.h \ + ../Geo/GVertex.h ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint2.h \ ../Geo/GFace.h ../Geo/GEntity.h ../Geo/GPoint.h ../Geo/GEdgeLoop.h \ ../Geo/GEdge.h ../Geo/SPoint2.h ../Geo/SVector3.h ../Geo/Pair.h \ ../Geo/GRegion.h ../Geo/GEntity.h ../Geo/SPoint3.h \ @@ -131,19 +136,19 @@ adaptiveData${OBJEXT}: adaptiveData.cpp adaptiveData.h ../Numeric/GmshMatrix.h \ ../Common/GmshConfig.h ../Common/GmshMessage.h ../Plugin/Plugin.h \ ../Common/Options.h ../Post/ColorTable.h ../Post/PView.h \ ../Geo/SPoint3.h ../Post/PViewDataList.h ../Post/PViewData.h \ - ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Common/ListUtils.h \ - ../Common/OS.h + ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Common/OS.h shapeFunctions${OBJEXT}: shapeFunctions.cpp shapeFunctions.h \ ../Numeric/Numeric.h ../Numeric/GmshMatrix.h ../Common/GmshConfig.h \ ../Common/GmshMessage.h OctreePost${OBJEXT}: OctreePost.cpp ../Common/Octree.h \ - ../Common/OctreeInternals.h OctreePost.h ../Common/ListUtils.h PView.h \ - ../Geo/SPoint3.h PViewDataList.h PViewData.h ../Geo/SBoundingBox3d.h \ - ../Geo/SPoint3.h ../Numeric/GmshMatrix.h ../Common/GmshConfig.h \ - ../Common/GmshMessage.h PViewDataGModel.h ../Geo/GModel.h \ - ../Geo/GVertex.h ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \ - ../Geo/SBoundingBox3d.h ../Geo/GPoint.h ../Geo/SPoint2.h ../Geo/GEdge.h \ - ../Geo/GEntity.h ../Geo/GVertex.h ../Geo/SVector3.h ../Geo/SPoint3.h \ + ../Common/OctreeInternals.h OctreePost.h PView.h ../Geo/SPoint3.h \ + PViewDataList.h PViewData.h ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h \ + ../Numeric/GmshMatrix.h ../Common/GmshConfig.h ../Common/GmshMessage.h \ + PViewDataGModel.h ../Geo/GModel.h ../Geo/GVertex.h ../Geo/GEntity.h \ + ../Geo/Range.h ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h \ + ../Geo/SOrientedBoundingBox.h ../Geo/SVector3.h ../Geo/SPoint3.h \ + ../Geo/SPoint2.h ../Geo/Pair.h ../Geo/GPoint.h ../Geo/SPoint2.h \ + ../Geo/GEdge.h ../Geo/GEntity.h ../Geo/GVertex.h ../Geo/SVector3.h \ ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/GFace.h ../Geo/GEntity.h \ ../Geo/GPoint.h ../Geo/GEdgeLoop.h ../Geo/GEdge.h ../Geo/SPoint2.h \ ../Geo/SVector3.h ../Geo/Pair.h ../Geo/GRegion.h ../Geo/GEntity.h \ diff --git a/Post/OctreePost.cpp b/Post/OctreePost.cpp index 4c28078c4b04d5b50840b5983cb2f30df65ebf9b..2bfbc93f12d22116ef0fe81fe31f2885d583c41a 100644 --- a/Post/OctreePost.cpp +++ b/Post/OctreePost.cpp @@ -5,7 +5,6 @@ #include "Octree.h" #include "OctreePost.h" -#include "ListUtils.h" #include "PView.h" #include "PViewDataList.h" #include "PViewDataGModel.h" @@ -192,14 +191,10 @@ void pyrCentroid(void *a, double *x) centroid(5, X, Y, Z, x); } -static void addListOfStuff(Octree *o, List_T *l, int nbelm) +static void addListOfStuff(Octree *o, std::vector<double> &l, int nbelm) { - if(!l) return; - - for(int i = 0; i < List_Nbr(l); i += nbelm){ - double * X = (double *)List_Pointer_Fast(l, i); - Octree_Insert(X, o); - } + for(unsigned int i = 0; i < l.size(); i += nbelm) + Octree_Insert(&l[i], o); } // OctreePost implementation diff --git a/Post/PView.cpp b/Post/PView.cpp index cf7194a5ac4b502a357c8ac7d909ff52378113b3..8282e3331f7d064f4a3b5656f504d5674dffd404 100644 --- a/Post/PView.cpp +++ b/Post/PView.cpp @@ -29,10 +29,10 @@ void PView::_init() for(unsigned int i = 0; i < list.size(); i++) list[i]->setIndex(i); } -PView::PView(bool allocate, int numalloc) +PView::PView() { _init(); - _data = new PViewDataList(allocate, numalloc); + _data = new PViewDataList(); _options = new PViewOptions(PViewOptions::reference); if(_options->adaptVisualizationGrid) _data->initAdaptiveData(_options->timeStep, _options->maxRecursionLevel, @@ -67,20 +67,20 @@ PView::PView(std::string xname, std::string yname, std::vector<double> &x, std::vector<double> &y) { _init(); - PViewDataList *data = new PViewDataList(true); + PViewDataList *data = new PViewDataList(); for(unsigned int i = 0; i < y.size(); i++){ double d; if(x.size() == y.size()){ - List_Add(data->SP, &x[i]); + data->SP.push_back(x[i]); } else{ d = y.size() > 1 ? (double)i / (double)(y.size() - 1) : 0.; - List_Add(data->SP, &d); + data->SP.push_back(d); } d = 0.; - List_Add(data->SP, &d); - List_Add(data->SP, &d); - List_Add(data->SP, &y[i]); + data->SP.push_back(d); + data->SP.push_back(d); + data->SP.push_back(y[i]); data->NbSP++; } data->setName(yname); @@ -220,7 +220,7 @@ void PView::combine(bool time, int how, bool remove) for(unsigned int i = 0; i < nds.size(); i++){ if(nds[i].data.size() > 1){ // there's potentially something to combine - PView *p = new PView(true); + PView *p = new PView(); PViewData *data = p->getData(); bool res = time ? data->combineTime(nds[i]): data->combineSpace(nds[i]); if(res) diff --git a/Post/PView.h b/Post/PView.h index 51e3e7e2eb1e996f091e1a4b9eeb8ba119d0fd77..bd0fe69e9ef6170b13a412cabae1faea6f948840 100644 --- a/Post/PView.h +++ b/Post/PView.h @@ -40,8 +40,8 @@ class PView{ void _init(); public: - // create a new view with list-based data, allocated or not - PView(bool allocate=true, int numalloc=1000); + // create a new view with list-based data + PView(); // construct a new view using the given data PView(PViewData *data); // construct a new view, alias of the view "ref" diff --git a/Post/PViewData.cpp b/Post/PViewData.cpp index af43e33958ec369c669e9c302a66eda807d56eb5..a1cdd26b5f2e6e03431be58131e9c1356fbf6e4a 100644 --- a/Post/PViewData.cpp +++ b/Post/PViewData.cpp @@ -4,7 +4,6 @@ // bugs and problems to <gmsh@geuz.org>. #include "PViewData.h" -#include "ListUtils.h" #include "adaptiveData.h" #include "Numeric.h" #include "GmshMessage.h" diff --git a/Post/PViewDataList.cpp b/Post/PViewDataList.cpp index ce67f3bdaaeed1479ea2cd554a7f3ed8fab178bb..20957492522eb395763bfe2e590cb32afc5314e9 100644 --- a/Post/PViewDataList.cpp +++ b/Post/PViewDataList.cpp @@ -4,68 +4,25 @@ // bugs and problems to <gmsh@geuz.org>. #include "PViewDataList.h" +#include "GmshMessage.h" +#include "GmshDefines.h" +#include "FunctionSpace.h" #include "Numeric.h" #include "SmoothData.h" -#include "GmshMessage.h" #include "Context.h" -PViewDataList::PViewDataList(bool allocate, int numalloc) - : PViewData(), DataSize(sizeof(double)), NbTimeStep(0), - Min(VAL_INF), Max(-VAL_INF), Time(0), +PViewDataList::PViewDataList() + : PViewData(), NbTimeStep(0), Min(VAL_INF), Max(-VAL_INF), Time(0), NbSP(0), NbVP(0), NbTP(0), SP(0), VP(0), TP(0), - NbSL(0), NbVL(0), NbTL(0), NbSL2(0), NbVL2(0), NbTL2(0), - SL(0), VL(0), TL(0), SL2(0), VL2(0), TL2(0), - NbST(0), NbVT(0), NbTT(0), NbST2(0), NbVT2(0), NbTT2(0), - ST(0), VT(0), TT(0), ST2(0), VT2(0), TT2(0), - NbSQ(0), NbVQ(0), NbTQ(0), NbSQ2(0), NbVQ2(0), NbTQ2(0), - SQ(0), VQ(0), TQ(0), SQ2(0), VQ2(0), TQ2(0), - NbSS(0), NbVS(0), NbTS(0), NbSS2(0), NbVS2(0), NbTS2(0), - SS(0), VS(0), TS(0), SS2(0), VS2(0), TS2(0), - NbSH(0), NbVH(0), NbTH(0), NbSH2(0), NbVH2(0), NbTH2(0), - SH(0), VH(0), TH(0), SH2(0), VH2(0), TH2(0), - NbSI(0), NbVI(0), NbTI(0), NbSI2(0), NbVI2(0), NbTI2(0), - SI(0), VI(0), TI(0), SI2(0), VI2(0), TI2(0), - NbSY(0), NbVY(0), NbTY(0), NbSY2(0), NbVY2(0), NbTY2(0), - SY(0), VY(0), TY(0), SY2(0), VY2(0), TY2(0), - NbT2(0), NbT3(0), T2D(0), T2C(0), T3D(0), T3C(0), + NbSL(0), NbVL(0), NbTL(0), NbST(0), NbVT(0), NbTT(0), + NbSQ(0), NbVQ(0), NbTQ(0), NbSS(0), NbVS(0), NbTS(0), + NbSH(0), NbVH(0), NbTH(0), NbSI(0), NbVI(0), NbTI(0), + NbSY(0), NbVY(0), NbTY(0), NbT2(0), NbT3(0), _lastElement(-1), _lastDimension(-1), _lastNumNodes(-1), _lastNumComponents(-1), _lastNumValues(-1), _lastNumEdges(-1), _lastXYZ(0), _lastVal(0) { for(int i = 0; i < 24; i++) _index[i] = 0; - - if(allocate){ -#define LCD List_Create(1, numalloc, sizeof(double)) - Time = LCD; - SP = LCD; VP = LCD; TP = LCD; - SL = LCD; VL = LCD; TL = LCD; SL2 = LCD; VL2 = LCD; TL2 = LCD; - ST = LCD; VT = LCD; TT = LCD; ST2 = LCD; VT2 = LCD; TT2 = LCD; - SQ = LCD; VQ = LCD; TQ = LCD; SQ2 = LCD; VQ2 = LCD; TQ2 = LCD; - SS = LCD; VS = LCD; TS = LCD; SS2 = LCD; VS2 = LCD; TS2 = LCD; - SH = LCD; VH = LCD; TH = LCD; SH2 = LCD; VH2 = LCD; TH2 = LCD; - SI = LCD; VI = LCD; TI = LCD; SI2 = LCD; VI2 = LCD; TI2 = LCD; - SY = LCD; VY = LCD; TY = LCD; SY2 = LCD; VY2 = LCD; TY2 = LCD; -#undef LCD - T2D = List_Create(1, 100, sizeof(double)); - T2C = List_Create(1, 100, sizeof(char)); - T3D = List_Create(1, 100, sizeof(double)); - T3C = List_Create(1, 100, sizeof(char)); - } -} - -PViewDataList::~PViewDataList() -{ - List_Delete(Time); - List_Delete(SP); List_Delete(VP); List_Delete(TP); - List_Delete(SL); List_Delete(VL); List_Delete(TL); - List_Delete(ST); List_Delete(VT); List_Delete(TT); - List_Delete(SQ); List_Delete(VQ); List_Delete(TQ); - List_Delete(SS); List_Delete(VS); List_Delete(TS); - List_Delete(SH); List_Delete(VH); List_Delete(TH); - List_Delete(SI); List_Delete(VI); List_Delete(TI); - List_Delete(SY); List_Delete(VY); List_Delete(TY); - List_Delete(T2D); List_Delete(T2C); - List_Delete(T3D); List_Delete(T3C); } bool PViewDataList::finalize() @@ -81,12 +38,6 @@ bool PViewDataList::finalize() // minimum number of time steps common to all elements. _stat(T2D, T2C, 4); _stat(T3D, T3C, 5); - // FIXME: convert all "old-style" 2nd order elements into linear - // elements *and* free all the data associated with the 2nd order - // elements (this is a temporary solution, until we use - // Adaptive_Views on all curved elements) - _splitCurvedElements(); - // compute min/max and other statistics for all element lists _stat(SP, 1, NbSP, 1, 0); _stat(VP, 3, NbVP, 1, 0); _stat(TP, 9, NbTP, 1, 0); _stat(SL, 1, NbSL, 2, 1); _stat(VL, 3, NbVL, 2, 1); _stat(TL, 9, NbTL, 2, 1); @@ -99,11 +50,9 @@ bool PViewDataList::finalize() // add dummy time values if none (or too few) time values are // provided (e.g. using the old parsed format) - if(Time && List_Nbr(Time) < NbTimeStep) { - for(int i = List_Nbr(Time); i < NbTimeStep; i++) { - double d = (double)i; - List_Add(Time, &d); - } + if(Time.size() < NbTimeStep) { + for(int i = Time.size(); i < NbTimeStep; i++) + Time.push_back(i); } // compute starting element indices @@ -143,10 +92,8 @@ int PViewDataList::getNumElements(int step, int ent) double PViewDataList::getTime(int step) { - if(step < 0 || step >= List_Nbr(Time)) return 0.; - double val; - List_Read(Time, step, &val); - return val; + if(step < 0 || step >= (int)Time.size()) return 0.; + return Time[step]; } double PViewDataList::getMin(int step) @@ -161,17 +108,17 @@ double PViewDataList::getMax(int step) return TimeStepMax[step]; } -void PViewDataList::_stat(List_T *D, List_T *C, int nb) +void PViewDataList::_stat(std::vector<double> &D, std::vector<char> &C, int nb) { // compute statistics for text lists - for(int i = 0; i < List_Nbr(D); i += nb){ - double beg, end; - List_Read(D, i + nb - 1, &beg); - if(i > List_Nbr(D) - 2 * nb) - end = (double)List_Nbr(C); + for(unsigned int i = 0; i < D.size(); i += nb){ + double beg = D[i + nb - 1]; + double end; + if(i > D.size() - 2 * nb) + end = C.size(); else - List_Read(D, i + nb + nb - 1, &end); - char *c = (char*)List_Pointer(C, (int)beg); + end = D[i + nb + nb - 1]; + char *c = &C[(int)beg]; int nbtime = 0; for(int j = 0; j < (int)(end - beg); j++) if(c[j] == '\0') nbtime++; @@ -179,17 +126,13 @@ void PViewDataList::_stat(List_T *D, List_T *C, int nb) NbTimeStep = nbtime; } if(nb == 5){ - for(int i = 0; i < List_Nbr(D); i += nb){ - double x, y, z; - List_Read(D, i, &x); - List_Read(D, i + 1, &y); - List_Read(D, i + 2, &z); - BBox += SPoint3(x, y, z); - } + for(unsigned int i = 0; i < D.size(); i += nb) + BBox += SPoint3(D[i], D[i + 1], D[i + 2]); } } -void PViewDataList::_stat(List_T *list, int nbcomp, int nbelm, int nbnod, int nbedg) +void PViewDataList::_stat(std::vector<double> &list, int nbcomp, int nbelm, + int nbnod, int nbedg) { // compute statistics for element lists if(!nbelm) return; @@ -205,13 +148,13 @@ void PViewDataList::_stat(List_T *list, int nbcomp, int nbelm, int nbnod, int nb nbval = nbcomp * im[0]->size1(); } - int nb = List_Nbr(list) / nbelm; - for(int i = 0; i < List_Nbr(list); i += nb){ + int nb = list.size() / nbelm; + for(unsigned int i = 0; i < list.size(); i += nb){ int N = nb - 3 * nbnod; - double *X = (double *)List_Pointer_Fast(list, i); - double *Y = (double *)List_Pointer_Fast(list, i + 1 * nbnod); - double *Z = (double *)List_Pointer_Fast(list, i + 2 * nbnod); - double *V = (double *)List_Pointer_Fast(list, i + 3 * nbnod); + double *X = &list[i]; + double *Y = &list[i + 1 * nbnod]; + double *Z = &list[i + 2 * nbnod]; + double *V = &list[i + 3 * nbnod]; // update bounding box for(int j = 0; j < nbnod; j++) @@ -247,7 +190,7 @@ void PViewDataList::_stat(List_T *list, int nbcomp, int nbelm, int nbnod, int nb } void PViewDataList::_setLast(int ele, int dim, int nbnod, int nbcomp, int nbedg, - List_T *list, int nblist) + std::vector<double> &list, int nblist) { if(haveInterpolationMatrices()){ std::vector<gmshMatrix<double>*> im; @@ -259,9 +202,9 @@ void PViewDataList::_setLast(int ele, int dim, int nbnod, int nbcomp, int nbedg, _lastNumNodes = nbnod; _lastNumComponents = nbcomp; _lastNumEdges = nbedg; - int nb = List_Nbr(list) / nblist; - _lastXYZ = (double*)List_Pointer_Fast(list, ele * nb); - _lastVal = (double*)List_Pointer_Fast(list, ele * nb + 3 * _lastNumNodes); + int nb = list.size() / nblist; + _lastXYZ = &list[ele * nb]; + _lastVal = &list[ele * nb + 3 * _lastNumNodes]; _lastNumValues = (nb - 3 * nbnod) / NbTimeStep; } @@ -395,13 +338,14 @@ void PViewDataList::_getString(int dim, int i, int step, std::string &str, // T2C is a list of chars: string\0,string\0,string\0,string\0,... // Parser format is: T2(x,y,style){"str","str",...}; - List_T *td = (dim == 2) ? T2D : T3D; - List_T *tc = (dim == 2) ? T2C : T3C; + std::vector<double> &td = (dim == 2) ? T2D : T3D; + std::vector<char> &tc = (dim == 2) ? T2C : T3C; int nbd = (dim == 2) ? 4 : 5; int index, nbchar; - double *d1 = (double *)List_Pointer(td, i * nbd); - double *d2 = (double *)List_Pointer_Test(td, (i + 1) * nbd); + double *d1 = &td[i * nbd]; + double *d2 = ((i + 1) * nbd < td.size()) ? &td[(i + 1) * nbd] : 0; + if(dim == 2) { x = d1[0]; y = d1[1]; @@ -411,7 +355,7 @@ void PViewDataList::_getString(int dim, int i, int step, std::string &str, if(d2) nbchar = (int)d2[3] - index; else - nbchar = List_Nbr(tc) - index; + nbchar = tc.size() - index; } else { x = d1[0]; @@ -422,10 +366,10 @@ void PViewDataList::_getString(int dim, int i, int step, std::string &str, if(d2) nbchar = (int)d2[4] - index; else - nbchar = List_Nbr(tc) - index; + nbchar = tc.size() - index; } - char *c = (char *)List_Pointer(tc, index); + char *c = &tc[index]; int k = 0, l = 0; while(k < nbchar && l != step) { if(c[k++] == '\0') @@ -480,118 +424,17 @@ void PViewDataList::revertElement(int step, int ent, int ele) _lastNumComponents * (_lastNumNodes - i - 1) + k]; } -static void splitCurvedElement(List_T **in, int *nbin, List_T *out, int *nbout, - int nodin, int nodout, int nbcomp, int nbsplit, - int split[][8], int remove=1) -{ - if(*nbin){ - int nb = List_Nbr(*in) / *nbin; - int nbstep = (nb - 3 * nodin) / (nodin * nbcomp); // we don't know this yet for the view - for(int i = 0; i < List_Nbr(*in); i += nb) { - double *coord = (double *)List_Pointer_Fast(*in, i); - double *val = (double *)List_Pointer_Fast(*in, i + 3 * nodin); - for(int j = 0; j < nbsplit; j++){ - for(int k = 0; k < nodout; k++) - List_Add(out, &coord[split[j][k]]); - for(int k = 0; k < nodout; k++) - List_Add(out, &coord[nodin + split[j][k]]); - for(int k = 0; k < nodout; k++) - List_Add(out, &coord[2 * nodin + split[j][k]]); - for(int ts = 0; ts < nbstep; ts++){ - for(int k = 0; k < nodout; k++){ - for(int l = 0; l < nbcomp; l++){ - List_Add(out, &val[nodin * nbcomp * ts + nbcomp * split[j][k] + l]); - } - } - } - (*nbout)++; - } - } - } - - if(remove){ - *nbin = 0; - List_Delete(*in); - *in = NULL; - } -} - -void PViewDataList::_splitCurvedElements() -{ - int lin[2][8] = { // 2-split - {0,2}, {2,1} - }; - splitCurvedElement(&SL2, &NbSL2, SL, &NbSL, 3,2, 1, 2, lin); - splitCurvedElement(&VL2, &NbVL2, VL, &NbVL, 3,2, 3, 2, lin); - splitCurvedElement(&TL2, &NbTL2, TL, &NbTL, 3,2, 9, 2, lin); - - int tri[4][8] = { // 4-split - {0,3,5}, {1,4,3}, {2,5,4}, {3,4,5} - }; - splitCurvedElement(&ST2, &NbST2, ST, &NbST, 6,3, 1, 4, tri); - splitCurvedElement(&VT2, &NbVT2, VT, &NbVT, 6,3, 3, 4, tri); - splitCurvedElement(&TT2, &NbTT2, TT, &NbTT, 6,3, 9, 4, tri); - - int qua[4][8] = { // 4-split - {0,4,8,7}, {1,5,8,4}, {2,6,8,5}, {3,7,8,6} - }; - splitCurvedElement(&SQ2, &NbSQ2, SQ, &NbSQ, 9,4, 1, 4, qua); - splitCurvedElement(&VQ2, &NbVQ2, VQ, &NbVQ, 9,4, 3, 4, qua); - splitCurvedElement(&TQ2, &NbTQ2, TQ, &NbTQ, 9,4, 9, 4, qua); - - int tet[8][8] = { // 8-split - {0,4,6,7}, {1,5,4,9}, {2,6,5,8}, {3,9,7,8}, - {4,6,7,8}, {4,6,5,8}, {4,5,9,8}, {4,7,9,8} - }; - splitCurvedElement(&SS2, &NbSS2, SS, &NbSS, 10,4, 1, 8, tet); - splitCurvedElement(&VS2, &NbVS2, VS, &NbVS, 10,4, 3, 8, tet); - splitCurvedElement(&TS2, &NbTS2, TS, &NbTS, 10,4, 9, 8, tet); - - int hex[8][8] = { // 8-split - {0,8,20,9, 10,21,26,22}, {8,1,11,20, 21,12,23,26}, - {9,20,13,3, 22,26,24,15}, {20,11,2,13, 26,23,14,24}, - {10,21,26,22, 4,16,25,17}, {21,12,23,26, 16,5,18,25}, - {22,26,24,15, 17,25,19,7}, {26,23,14,24, 25,18,6,19} - }; - splitCurvedElement(&SH2, &NbSH2, SH, &NbSH, 27,8, 1, 8, hex); - splitCurvedElement(&VH2, &NbVH2, VH, &NbVH, 27,8, 3, 8, hex); - splitCurvedElement(&TH2, &NbTH2, TH, &NbTH, 27,8, 9, 8, hex); - - int pri[8][8] = { // 8-split - {0,6,7, 8,15,16}, {1,9,6, 10,17,15}, {2,7,9, 11,16,17}, {6,9,7, 15,17,16}, - {8,15,16, 3,12,13}, {10,17,15, 4,14,12}, {11,16,17, 5,13,14}, {15,17,16, 12,14,13} - }; - splitCurvedElement(&SI2, &NbSI2, SI, &NbSI, 18,6, 1, 8, pri); - splitCurvedElement(&VI2, &NbVI2, VI, &NbVI, 18,6, 3, 8, pri); - splitCurvedElement(&TI2, &NbTI2, TI, &NbTI, 18,6, 9, 8, pri); - - int pyr[6][8] = { // 6 pyramids - {0,5,13,6, 7}, {5,1,8,13, 9}, {6,13,10,3, 12}, {13,8,2,10, 11}, - {7,9,11,12, 4}, {7,12,11,9, 13} - }; - splitCurvedElement(&SY2, &NbSY2, SY, &NbSY, 14,5, 1, 6, pyr, 0); // don't remove yet - splitCurvedElement(&VY2, &NbVY2, VY, &NbVY, 14,5, 3, 6, pyr, 0); - splitCurvedElement(&TY2, &NbTY2, TY, &NbTY, 14,5, 9, 6, pyr, 0); - - int pyr2[4][8] = { // + 4 tets to fill the holes - {6,12,7,13}, {7,9,5,13}, {9,11,8,13}, {12,10,11,13} - }; - splitCurvedElement(&SY2, &NbSY2, SS, &NbSS, 14,4, 1, 4, pyr2); - splitCurvedElement(&VY2, &NbVY2, VS, &NbVS, 14,4, 3, 4, pyr2); - splitCurvedElement(&TY2, &NbTY2, TS, &NbTS, 14,4, 9, 4, pyr2); -} - -static void generateConnectivities(List_T *list, int nbList, int nbTimeStep, +static void generateConnectivities(std::vector<double> &list, int nbList, int nbTimeStep, int nbVert, int nbComp, smooth_data &data) { if(!nbList) return; double *vals = new double[nbTimeStep * nbComp]; - int nb = List_Nbr(list) / nbList; - for(int i = 0; i < List_Nbr(list); i += nb) { - double *x = (double *)List_Pointer_Fast(list, i); - double *y = (double *)List_Pointer_Fast(list, i + nbVert); - double *z = (double *)List_Pointer_Fast(list, i + 2 * nbVert); - double *v = (double *)List_Pointer_Fast(list, i + 3 * nbVert); + int nb = list.size() / nbList; + for(unsigned int i = 0; i < list.size(); i += nb) { + double *x = &list[i]; + double *y = &list[i + nbVert]; + double *z = &list[i + 2 * nbVert]; + double *v = &list[list, i + 3 * nbVert]; for(int j = 0; j < nbVert; j++) { for(int ts = 0; ts < nbTimeStep; ts++) for(int k = 0; k < nbComp; k++) @@ -602,17 +445,17 @@ static void generateConnectivities(List_T *list, int nbList, int nbTimeStep, delete [] vals; } -static void smoothList(List_T *list, int nbList, int nbTimeStep, +static void smoothList(std::vector<double> &list, int nbList, int nbTimeStep, int nbVert, int nbComp, smooth_data &data) { if(!nbList) return; double *vals = new double[nbTimeStep * nbComp]; - int nb = List_Nbr(list)/nbList; - for(int i = 0; i < List_Nbr(list); i += nb) { - double *x = (double *)List_Pointer_Fast(list, i); - double *y = (double *)List_Pointer_Fast(list, i + nbVert); - double *z = (double *)List_Pointer_Fast(list, i + 2 * nbVert); - double *v = (double *)List_Pointer_Fast(list, i + 3 * nbVert); + int nb = list.size() / nbList; + for(unsigned int i = 0; i < list.size(); i += nb) { + double *x = &list[i]; + double *y = &list[i + nbVert]; + double *z = &list[i + 2 * nbVert]; + double *v = &list[i + 3 * nbVert]; for(int j = 0; j < nbVert; j++) { if(data.get(x[j], y[j], z[j], nbTimeStep * nbComp, vals)){ for(int ts = 0; ts < nbTimeStep; ts++) @@ -630,22 +473,27 @@ void PViewDataList::smooth() xyzv::eps = CTX::instance()->lc * 1.e-8; smooth_data data; - List_T *list = 0; + std::vector<double> *list = 0; int *nbe = 0, nbc, nbn; for(int i = 0; i < 24; i++){ getRawData(i, &list, &nbe, &nbc, &nbn); if(nbn > 1) - generateConnectivities(list, *nbe, NbTimeStep, nbn, nbc, data); + generateConnectivities(*list, *nbe, NbTimeStep, nbn, nbc, data); } for(int i = 0; i < 24; i++){ getRawData(i, &list, &nbe, &nbc, &nbn); if(nbn > 1) - smoothList(list, *nbe, NbTimeStep, nbn, nbc, data); + smoothList(*list, *nbe, NbTimeStep, nbn, nbc, data); } xyzv::eps = old_eps; finalize(); } +static void dVecMerge(std::vector<double> &v, std::vector<double> &dest) +{ + for(unsigned int i = 0; i < v.size(); i++) dest.push_back(v[i]); +} + bool PViewDataList::combineSpace(nameData &nd) { // sanity checks @@ -671,59 +519,57 @@ bool PViewDataList::combineSpace(nameData &nd) if(_interpolation[it->first].empty()) for(unsigned int i = 0; i < it->second.size(); i++) _interpolation[it->first].push_back(new gmshMatrix<double>(*it->second[i])); - + // merge elememts - List_Merge(l->SP, SP); NbSP += l->NbSP; List_Merge(l->VP, VP); NbVP += l->NbVP; - List_Merge(l->TP, TP); NbTP += l->NbTP; List_Merge(l->SL, SL); NbSL += l->NbSL; - List_Merge(l->VL, VL); NbVL += l->NbVL; List_Merge(l->TL, TL); NbTL += l->NbTL; - List_Merge(l->ST, ST); NbST += l->NbST; List_Merge(l->VT, VT); NbVT += l->NbVT; - List_Merge(l->TT, TT); NbTT += l->NbTT; List_Merge(l->SQ, SQ); NbSQ += l->NbSQ; - List_Merge(l->VQ, VQ); NbVQ += l->NbVQ; List_Merge(l->TQ, TQ); NbTQ += l->NbTQ; - List_Merge(l->SS, SS); NbSS += l->NbSS; List_Merge(l->VS, VS); NbVS += l->NbVS; - List_Merge(l->TS, TS); NbTS += l->NbTS; List_Merge(l->SH, SH); NbSH += l->NbSH; - List_Merge(l->VH, VH); NbVH += l->NbVH; List_Merge(l->TH, TH); NbTH += l->NbTH; - List_Merge(l->SI, SI); NbSI += l->NbSI; List_Merge(l->VI, VI); NbVI += l->NbVI; - List_Merge(l->TI, TI); NbTI += l->NbTI; List_Merge(l->SY, SY); NbSY += l->NbSY; - List_Merge(l->VY, VY); NbVY += l->NbVY; List_Merge(l->TY, TY); NbTY += l->NbTY; + dVecMerge(l->SP, SP); NbSP += l->NbSP; dVecMerge(l->VP, VP); NbVP += l->NbVP; + dVecMerge(l->TP, TP); NbTP += l->NbTP; dVecMerge(l->SL, SL); NbSL += l->NbSL; + dVecMerge(l->VL, VL); NbVL += l->NbVL; dVecMerge(l->TL, TL); NbTL += l->NbTL; + dVecMerge(l->ST, ST); NbST += l->NbST; dVecMerge(l->VT, VT); NbVT += l->NbVT; + dVecMerge(l->TT, TT); NbTT += l->NbTT; dVecMerge(l->SQ, SQ); NbSQ += l->NbSQ; + dVecMerge(l->VQ, VQ); NbVQ += l->NbVQ; dVecMerge(l->TQ, TQ); NbTQ += l->NbTQ; + dVecMerge(l->SS, SS); NbSS += l->NbSS; dVecMerge(l->VS, VS); NbVS += l->NbVS; + dVecMerge(l->TS, TS); NbTS += l->NbTS; dVecMerge(l->SH, SH); NbSH += l->NbSH; + dVecMerge(l->VH, VH); NbVH += l->NbVH; dVecMerge(l->TH, TH); NbTH += l->NbTH; + dVecMerge(l->SI, SI); NbSI += l->NbSI; dVecMerge(l->VI, VI); NbVI += l->NbVI; + dVecMerge(l->TI, TI); NbTI += l->NbTI; dVecMerge(l->SY, SY); NbSY += l->NbSY; + dVecMerge(l->VY, VY); NbVY += l->NbVY; dVecMerge(l->TY, TY); NbTY += l->NbTY; // merge strings - for(int i = 0; i < List_Nbr(l->T2D); i += 4){ - List_Add(T2D, List_Pointer(l->T2D, i)); - List_Add(T2D, List_Pointer(l->T2D, i + 1)); - List_Add(T2D, List_Pointer(l->T2D, i + 2)); - double d = List_Nbr(T2C); - List_Add(T2D, &d); - double beg, end; - List_Read(l->T2D, i + 3, &beg); - if(i > List_Nbr(l->T2D) - 8) - end = (double)List_Nbr(l->T2C); + for(unsigned int i = 0; i < l->T2D.size(); i += 4){ + T2D.push_back(l->T2D[i]); + T2D.push_back(l->T2D[i + 1]); + T2D.push_back(l->T2D[i + 2]); + T2D.push_back(T2C.size()); + double beg = l->T2D[i + 3]; + double end; + if(i > l->T2D.size() - 8) + end = l->T2C.size(); else - List_Read(l->T2D, i + 3 + 4, &end); - char *c = (char*)List_Pointer(l->T2C, (int)beg); + end = l->T2D[i + 3 + 4]; + char *c = &l->T2C[(int)beg]; for(int j = 0; j < (int)(end - beg); j++) - List_Add(T2C, &c[j]); + T2C.push_back(c[j]); NbT2++; } - for(int i = 0; i < List_Nbr(l->T3D); i += 5){ - List_Add(T3D, List_Pointer(l->T3D, i)); - List_Add(T3D, List_Pointer(l->T3D, i + 1)); - List_Add(T3D, List_Pointer(l->T3D, i + 2)); - List_Add(T3D, List_Pointer(l->T3D, i + 3)); - double d = List_Nbr(T3C); - List_Add(T3D, &d); - double beg, end; - List_Read(l->T3D, i + 4, &beg); - if(i > List_Nbr(l->T3D) - 10) - end = (double)List_Nbr(l->T3C); + for(unsigned int i = 0; i < l->T3D.size(); i += 5){ + T3D.push_back(l->T3D[i]); + T3D.push_back(l->T3D[i + 1]); + T3D.push_back(l->T3D[i + 2]); + T3D.push_back(l->T3D[i + 3]); + T3D.push_back(T3C.size()); + double beg = l->T3D[i + 4]; + double end; + if(i > l->T3D.size() - 10) + end = l->T3C.size(); else - List_Read(l->T3D, i + 4 + 5, &end); - char *c = (char*)List_Pointer(l->T3C, (int)beg); + end = l->T3D[i + 4 + 5]; + char *c = &l->T3C[(int)beg]; for(int j = 0; j < (int)(end-beg); j++) - List_Add(T3C, &c[j]); + T3C.push_back(c[j]); NbT3++; } } - + std::string tmp; if(nd.name == "__all__") tmp = "all"; @@ -739,37 +585,6 @@ bool PViewDataList::combineSpace(nameData &nd) return finalize(); } -void PViewDataList::getRawData(int type, List_T **l, int **ne, int *nc, int *nn) -{ - switch(type){ - case 0 : *l = SP; *ne = &NbSP; *nc = 1; *nn = 1; break; - case 1 : *l = VP; *ne = &NbVP; *nc = 3; *nn = 1; break; - case 2 : *l = TP; *ne = &NbTP; *nc = 9; *nn = 1; break; - case 3 : *l = SL; *ne = &NbSL; *nc = 1; *nn = 2; break; - case 4 : *l = VL; *ne = &NbVL; *nc = 3; *nn = 2; break; - case 5 : *l = TL; *ne = &NbTL; *nc = 9; *nn = 2; break; - case 6 : *l = ST; *ne = &NbST; *nc = 1; *nn = 3; break; - case 7 : *l = VT; *ne = &NbVT; *nc = 3; *nn = 3; break; - case 8 : *l = TT; *ne = &NbTT; *nc = 9; *nn = 3; break; - case 9 : *l = SQ; *ne = &NbSQ; *nc = 1; *nn = 4; break; - case 10: *l = VQ; *ne = &NbVQ; *nc = 3; *nn = 4; break; - case 11: *l = TQ; *ne = &NbTQ; *nc = 9; *nn = 4; break; - case 12: *l = SS; *ne = &NbSS; *nc = 1; *nn = 4; break; - case 13: *l = VS; *ne = &NbVS; *nc = 3; *nn = 4; break; - case 14: *l = TS; *ne = &NbTS; *nc = 9; *nn = 4; break; - case 15: *l = SH; *ne = &NbSH; *nc = 1; *nn = 8; break; - case 16: *l = VH; *ne = &NbVH; *nc = 3; *nn = 8; break; - case 17: *l = TH; *ne = &NbTH; *nc = 9; *nn = 8; break; - case 18: *l = SI; *ne = &NbSI; *nc = 1; *nn = 6; break; - case 19: *l = VI; *ne = &NbVI; *nc = 3; *nn = 6; break; - case 20: *l = TI; *ne = &NbTI; *nc = 9; *nn = 6; break; - case 21: *l = SY; *ne = &NbSY; *nc = 1; *nn = 5; break; - case 22: *l = VY; *ne = &NbVY; *nc = 3; *nn = 5; break; - case 23: *l = TY; *ne = &NbTY; *nc = 9; *nn = 5; break; - default: Msg::Error("Wrong type in PViewDataList"); break; - } -} - bool PViewDataList::combineTime(nameData &nd) { // sanity checks @@ -784,7 +599,7 @@ bool PViewDataList::combineTime(nameData &nd) } int *nbe = 0, *nbe2 = 0, nbn, nbn2, nbc, nbc2; - List_T *list = 0, *list2 = 0; + std::vector<double> *list = 0, *list2 = 0; // use the first data set as the reference for(int i = 0; i < 24; i++){ @@ -796,8 +611,9 @@ bool PViewDataList::combineTime(nameData &nd) NbT3 = data[0]->NbT3; for(std::map<int, std::vector<gmshMatrix<double>*> >::iterator it = data[0]->_interpolation.begin(); it != data[0]->_interpolation.end(); it++) - for(unsigned int i = 0; i < it->second.size(); i++) - _interpolation[it->first].push_back(new gmshMatrix<double>(*it->second[i])); + if(_interpolation[it->first].empty()) + for(unsigned int i = 0; i < it->second.size(); i++) + _interpolation[it->first].push_back(new gmshMatrix<double>(*it->second[i])); // merge values for all element types for(int i = 0; i < 24; i++){ @@ -806,16 +622,16 @@ bool PViewDataList::combineTime(nameData &nd) for(unsigned int k = 0; k < data.size(); k++){ data[k]->getRawData(i, &list2, &nbe2, &nbc2, &nbn2); if(*nbe && *nbe == *nbe2){ - int nb2 = List_Nbr(list2) / *nbe2; + int nb2 = list2->size() / *nbe2; if(!k){ // copy coordinates of elm j (we are always here as // expected, since the ref view is the first one) for(int l = 0; l < 3 * nbn2; l++) - List_Add(list, List_Pointer(list2, j * nb2 + l)); + list->push_back((*list2)[j * nb2 + l]); } // copy values of elm j for(int l = 0; l < nb2 - 3 * nbn2; l++) - List_Add(list, List_Pointer(list2, j * nb2 + 3 * nbn2 + l)); + list->push_back((*list2)[j * nb2 + 3 * nbn2 + l]); } } } @@ -827,23 +643,22 @@ bool PViewDataList::combineTime(nameData &nd) if(NbT2 == data[k]->NbT2){ if(!k){ // copy coordinates - List_Add(T2D, List_Pointer(data[k]->T2D, j * 4)); - List_Add(T2D, List_Pointer(data[k]->T2D, j * 4 + 1)); - List_Add(T2D, List_Pointer(data[k]->T2D, j * 4 + 2)); + T2D.push_back(data[k]->T2D[j * 4]); + T2D.push_back(data[k]->T2D[j * 4 + 1]); + T2D.push_back(data[k]->T2D[j * 4 + 2]); // index - double d = List_Nbr(T2C); - List_Add(T2D, &d); + T2D.push_back(T2C.size()); } // copy char values - double beg, end; - List_Read(data[k]->T2D, j * 4 + 3, &beg); + double beg = data[k]->T2D[j * 4 + 3]; + double end; if(j == NbT2 - 1) - end = (double)List_Nbr(data[k]->T2C); + end = data[k]->T2C.size(); else - List_Read(data[k]->T2D, j * 4 + 4 + 3, &end); - char *c = (char*)List_Pointer(data[k]->T2C, (int)beg); + end = data[k]->T2D[j * 4 + 4 + 3]; + char *c = &data[k]->T2C[(int)beg]; for(int l = 0; l < (int)(end - beg); l++) - List_Add(T2C, &c[l]); + T2C.push_back(c[l]); } } } @@ -854,47 +669,45 @@ bool PViewDataList::combineTime(nameData &nd) if(NbT3 == data[k]->NbT3){ if(!k){ // copy coordinates - List_Add(T3D, List_Pointer(data[k]->T3D, j * 5)); - List_Add(T3D, List_Pointer(data[k]->T3D, j * 5 + 1)); - List_Add(T3D, List_Pointer(data[k]->T3D, j * 5 + 2)); - List_Add(T3D, List_Pointer(data[k]->T3D, j * 5 + 3)); + T3D.push_back(data[k]->T3D[j * 5]); + T3D.push_back(data[k]->T3D[j * 5 + 1]); + T3D.push_back(data[k]->T3D[j * 5 + 2]); + T3D.push_back(data[k]->T3D[j * 5 + 3]); // index - double d = List_Nbr(T3C); - List_Add(T3D, &d); + T3D.push_back(T3C.size()); } // copy char values - double beg, end; - List_Read(data[k]->T3D, j * 5 + 4, &beg); + double beg = data[k]->T3D[j * 5 + 4]; + double end; if(j == NbT3 - 1) - end = (double)List_Nbr(data[k]->T3C); + end = data[k]->T3C.size(); else - List_Read(data[k]->T3D, j * 5 + 5 + 4, &end); - char *c = (char*)List_Pointer(data[k]->T3C, (int)beg); + end = data[k]->T3D[j * 5 + 5 + 4]; + char *c = &data[k]->T3C[(int)beg]; for(int l = 0; l < (int)(end - beg); l++) - List_Add(T3C, &c[l]); + T3C.push_back(c[l]); } } } - + // create the time data for(unsigned int i = 0; i < data.size(); i++) - List_Merge(data[i]->Time, Time); + dVecMerge(data[i]->Time, Time); // if all the time values are the same, it probably means that the // original views didn't have any time data: then we'll just use // time step values - if(List_Nbr(Time)){ - double t0, ti; - List_Read(Time, 0, &t0); + if(Time.size()){ + double t0 = Time[0], ti; bool allTheSame = true; - for(int i = 1; i < List_Nbr(Time); i++){ - List_Read(Time, i, &ti); + for(unsigned int i = 1; i < Time.size(); i++){ + ti = Time[i]; if(ti != t0){ allTheSame = false; break; } } - if(allTheSame) List_Reset(Time); + if(allTheSame) Time.clear(); } std::string tmp; @@ -911,3 +724,56 @@ bool PViewDataList::combineTime(nameData &nd) setFileName(std::string(name) + ".pos"); return finalize(); } + +void PViewDataList::getRawData(int type, std::vector<double> **l, int **ne, + int *nc, int *nn) +{ + switch(type){ + case 0 : *l = &SP; *ne = &NbSP; *nc = 1; *nn = 1; break; + case 1 : *l = &VP; *ne = &NbVP; *nc = 3; *nn = 1; break; + case 2 : *l = &TP; *ne = &NbTP; *nc = 9; *nn = 1; break; + case 3 : *l = &SL; *ne = &NbSL; *nc = 1; *nn = 2; break; + case 4 : *l = &VL; *ne = &NbVL; *nc = 3; *nn = 2; break; + case 5 : *l = &TL; *ne = &NbTL; *nc = 9; *nn = 2; break; + case 6 : *l = &ST; *ne = &NbST; *nc = 1; *nn = 3; break; + case 7 : *l = &VT; *ne = &NbVT; *nc = 3; *nn = 3; break; + case 8 : *l = &TT; *ne = &NbTT; *nc = 9; *nn = 3; break; + case 9 : *l = &SQ; *ne = &NbSQ; *nc = 1; *nn = 4; break; + case 10: *l = &VQ; *ne = &NbVQ; *nc = 3; *nn = 4; break; + case 11: *l = &TQ; *ne = &NbTQ; *nc = 9; *nn = 4; break; + case 12: *l = &SS; *ne = &NbSS; *nc = 1; *nn = 4; break; + case 13: *l = &VS; *ne = &NbVS; *nc = 3; *nn = 4; break; + case 14: *l = &TS; *ne = &NbTS; *nc = 9; *nn = 4; break; + case 15: *l = &SH; *ne = &NbSH; *nc = 1; *nn = 8; break; + case 16: *l = &VH; *ne = &NbVH; *nc = 3; *nn = 8; break; + case 17: *l = &TH; *ne = &NbTH; *nc = 9; *nn = 8; break; + case 18: *l = &SI; *ne = &NbSI; *nc = 1; *nn = 6; break; + case 19: *l = &VI; *ne = &NbVI; *nc = 3; *nn = 6; break; + case 20: *l = &TI; *ne = &NbTI; *nc = 9; *nn = 6; break; + case 21: *l = &SY; *ne = &NbSY; *nc = 1; *nn = 5; break; + case 22: *l = &VY; *ne = &NbVY; *nc = 3; *nn = 5; break; + case 23: *l = &TY; *ne = &NbTY; *nc = 9; *nn = 5; break; + default: Msg::Error("Wrong type in PViewDataList"); break; + } +} + +void PViewDataList::setOrder2(int numEdges) +{ + int type = 0; + switch(numEdges){ + case 1: type = MSH_LIN_3; break; + case 3: type = MSH_TRI_6; break; + case 4: type = MSH_QUA_9; break; + case 6: type = MSH_TET_10; break; + case 12: type = MSH_HEX_27; break; + case 9: type = MSH_PRI_18; break; + case 8: type = MSH_PYR_14; break; + } + const gmshFunctionSpace *fs = &gmshFunctionSpaces::find(type); + if(!fs){ + Msg::Error("Could not find function space for element type %d", type); + return; + } + setInterpolationMatrices(numEdges, fs->coefficients, fs->monomials, + fs->coefficients, fs->monomials); +} diff --git a/Post/PViewDataList.h b/Post/PViewDataList.h index 30e101ca6df09e350268ffa3b43fed4f5552dd10..0644ae8b777a12cfef6c15cf149a6afce8e119a6 100644 --- a/Post/PViewDataList.h +++ b/Post/PViewDataList.h @@ -10,7 +10,6 @@ #include <string> #include "PViewData.h" #include "SBoundingBox3d.h" -#include "ListUtils.h" // The container for list-based datasets (for which all elements are // discontinuous). @@ -18,46 +17,46 @@ class PViewDataList : public PViewData { public: // FIXME: all these members will be made private once the plugins // have been rewritten - int DataSize; // size(double) or sizeof(float) int NbTimeStep; double Min, Max; std::vector<double> TimeStepMin, TimeStepMax; SBoundingBox3d BBox; - List_T *Time; + std::vector<double> Time; int NbSP, NbVP, NbTP; - List_T *SP, *VP, *TP; // points - int NbSL, NbVL, NbTL, NbSL2, NbVL2, NbTL2; - List_T *SL, *VL, *TL, *SL2, *VL2, *TL2; // lines - int NbST, NbVT, NbTT, NbST2, NbVT2, NbTT2; - List_T *ST, *VT, *TT, *ST2, *VT2, *TT2; // triangles - int NbSQ, NbVQ, NbTQ, NbSQ2, NbVQ2, NbTQ2; - List_T *SQ, *VQ, *TQ, *SQ2, *VQ2, *TQ2; // quadrangles - int NbSS, NbVS, NbTS, NbSS2, NbVS2, NbTS2; - List_T *SS, *VS, *TS, *SS2, *VS2, *TS2; // tetrahedra - int NbSH, NbVH, NbTH, NbSH2, NbVH2, NbTH2; - List_T *SH, *VH, *TH, *SH2, *VH2, *TH2; // hexahedra - int NbSI, NbVI, NbTI, NbSI2, NbVI2, NbTI2; - List_T *SI, *VI, *TI, *SI2, *VI2, *TI2; // prisms - int NbSY, NbVY, NbTY, NbSY2, NbVY2, NbTY2; - List_T *SY, *VY, *TY, *SY2, *VY2, *TY2; // pyramids + std::vector<double> SP, VP, TP; // points + int NbSL, NbVL, NbTL; + std::vector<double> SL, VL, TL; // lines + int NbST, NbVT, NbTT; + std::vector<double> ST, VT, TT; // triangles + int NbSQ, NbVQ, NbTQ; + std::vector<double> SQ, VQ, TQ; // quadrangles + int NbSS, NbVS, NbTS; + std::vector<double> SS, VS, TS; // tetrahedra + int NbSH, NbVH, NbTH; + std::vector<double> SH, VH, TH; // hexahedra + int NbSI, NbVI, NbTI; + std::vector<double> SI, VI, TI; // prisms + int NbSY, NbVY, NbTY; + std::vector<double> SY, VY, TY; // pyramids int NbT2, NbT3; - List_T *T2D, *T2C, *T3D, *T3C; // 2D and 3D text strings + std::vector<double> T2D, T3D; // 2D and 3D text strings + std::vector<char> T2C, T3C; private: int _index[24]; int _lastElement, _lastDimension; int _lastNumNodes, _lastNumComponents, _lastNumValues, _lastNumEdges; double *_lastXYZ, *_lastVal; - void _stat(List_T *D, List_T *C, int nb); - void _stat(List_T *list, int nbcomp, int nbelm, int nbnod, int nbedg); + void _stat(std::vector<double> &D, std::vector<char> &C, int nb); + void _stat(std::vector<double> &list, int nbcomp, int nbelm, int nbnod, int nbedg); void _setLast(int ele); void _setLast(int ele, int dim, int nbnod, int nbcomp, int nbedg, - List_T *list, int nblist); + std::vector<double> &list, int nblist); void _getString(int dim, int i, int timestep, std::string &str, double &x, double &y, double &z, double &style); void _splitCurvedElements(); public: - PViewDataList(bool allocate=true, int numalloc=1000); - ~PViewDataList(); + PViewDataList(); + ~PViewDataList(){} bool finalize(); int getNumTimeSteps(){ return NbTimeStep; } double getTime(int step); @@ -99,10 +98,11 @@ class PViewDataList : public PViewData { bool combineSpace(nameData &nd); // specific to list-based data sets - void getRawData(int type, List_T **l, int **ne, int *nc, int *nn); + void getRawData(int type, std::vector<double> **l, int **ne, int *nc, int *nn); + void setOrder2(int nbedg); // I/O routines - bool readPOS(FILE *fp, double version, int format, int size); + bool readPOS(FILE *fp, double version, bool binary); bool writePOS(std::string fileName, bool binary=false, bool parsed=true, bool append=false); bool writeMSH(std::string fileName, bool binary=false); diff --git a/Post/PViewDataListIO.cpp b/Post/PViewDataListIO.cpp index b4df9016c25e58b67810192284bd36f46d14479b..c914353fa71606b2c3ac5581f58c0aea233e3fc8 100644 --- a/Post/PViewDataListIO.cpp +++ b/Post/PViewDataListIO.cpp @@ -7,15 +7,100 @@ #include <set> #include "PViewDataList.h" #include "Numeric.h" +#include "StringUtils.h" #include "GmshMessage.h" #include "Context.h" #include "adaptiveData.h" -bool PViewDataList::readPOS(FILE *fp, double version, int format, int size) +static void dVecRead(std::vector<double> &v, int n, FILE *fp, + bool binary, int swap) +{ + if(!n) return; + v.resize(n); + if(binary){ + if(!fread(&v[0], sizeof(double), n, fp)) + Msg::Error("Read error"); + if(swap) SwapBytes((char*)&v[0], sizeof(double), n); + } + else{ + for(int i = 0; i < n; i++){ + if(!fscanf(fp, "%lf", &v[i])){ + Msg::Error("Read error"); + break; + } + } + } +} + +static void cVecRead(std::vector<char> &v, int n, FILE *fp, + bool binary, int swap, bool oldStyle) +{ + if(!n) return; + v.resize(n); + if(binary){ + if(!fread(&v[0], sizeof(char), n, fp)) + Msg::Error("Read error"); + if(swap) SwapBytes((char*)&v[0], sizeof(char), n); + } + else{ + if(oldStyle){ + for(int i = 0; i < n; i++){ + if(!fscanf(fp, "%c", &v[i])){ + Msg::Error("Read error"); + break; + } + if(v[i] == '^') v[i] = '\0'; + } + } + else{ + for(int i = 0; i < n; i++){ + char c = (char)fgetc(fp); + if(c == EOF){ + Msg::Error("Read error"); + break; + } + else{ + v[i] = c; + } + } + } + } +} + +static void dVecWrite(std::vector<double> &v, FILE *fp, bool binary) +{ + if(v.empty()) return; + if(binary) + fwrite(&v[0], sizeof(double), v.size(), fp); + else + for(unsigned i = 0; i < v.size(); i++) + fprintf(fp, " %.16g", v[i]); +} + +static void cVecWrite(std::vector<char> &v, FILE *fp, bool binary) +{ + if(v.empty()) return; + if(binary) + fwrite(&v[0], sizeof(char), v.size(), fp); + else + for(unsigned i = 0; i < v.size(); i++) + fputc(v[i], fp); +} + +bool PViewDataList::readPOS(FILE *fp, double version, bool binary) { char name[256]; int t2l, t3l; + int NbSL2 = 0, NbVL2 = 0, NbTL2 = 0, NbST2 = 0, NbVT2 = 0, NbTT2 = 0; + int NbSQ2 = 0, NbVQ2 = 0, NbTQ2 = 0, NbSS2 = 0, NbVS2 = 0, NbTS2 = 0; + int NbSH2 = 0, NbVH2 = 0, NbTH2 = 0, NbSI2 = 0, NbVI2 = 0, NbTI2 = 0; + int NbSY2 = 0, NbVY2 = 0, NbTY2 = 0; + std::vector<double> SL2, VL2, TL2, ST2, VT2, TT2; + std::vector<double> SQ2, VQ2, TQ2, SS2, VS2, TS2; + std::vector<double> SH2, VH2, TH2, SI2, VI2, TI2; + std::vector<double> SY2, VY2, TY2; + if(version <= 1.0) { Msg::Debug("Detected post-processing view format <= 1.0"); if(!fscanf(fp, "%s %d %d %d %d %d %d %d %d %d %d %d %d %d\n", @@ -67,13 +152,13 @@ bool PViewDataList::readPOS(FILE *fp, double version, int format, int size) Msg::Error("Unknown post-processing file format (version %g)", version); return false; } - + for(int i = 0; i < (int)strlen(name); i++) if(name[i] == '^') name[i] = ' '; int swap = 0; - if(format == LIST_FORMAT_BINARY) { + if(binary) { int testone; if(!fread(&testone, sizeof(int), 1, fp)){ Msg::Error("Read error"); @@ -85,172 +170,129 @@ bool PViewDataList::readPOS(FILE *fp, double version, int format, int size) } } - DataSize = size; - - // Time values - Time = List_CreateFromFile(NbTimeStep, 100, size, fp, format, swap); - - // Note: if nb==0, we still allocates the lists (so that they - // are ready to be filled later, e.g. in plugins) - -#define LCD List_CreateFromFile(nb, 1000, size, fp, format, swap) - int nb; - // Points - nb = NbSP ? NbSP * (NbTimeStep * 1 + 3) : 0; SP = LCD; - nb = NbVP ? NbVP * (NbTimeStep * 3 + 3) : 0; VP = LCD; - nb = NbTP ? NbTP * (NbTimeStep * 9 + 3) : 0; TP = LCD; - - // Lines - nb = NbSL ? NbSL * (NbTimeStep * 2 * 1 + 6) : 0; SL = LCD; - nb = NbVL ? NbVL * (NbTimeStep * 2 * 3 + 6) : 0; VL = LCD; - nb = NbTL ? NbTL * (NbTimeStep * 2 * 9 + 6) : 0; TL = LCD; - - // Triangles - nb = NbST ? NbST * (NbTimeStep * 3 * 1 + 9) : 0; ST = LCD; - nb = NbVT ? NbVT * (NbTimeStep * 3 * 3 + 9) : 0; VT = LCD; - nb = NbTT ? NbTT * (NbTimeStep * 3 * 9 + 9) : 0; TT = LCD; - - // Quadrangles - nb = NbSQ ? NbSQ * (NbTimeStep * 4 * 1 + 12) : 0; SQ = LCD; - nb = NbVQ ? NbVQ * (NbTimeStep * 4 * 3 + 12) : 0; VQ = LCD; - nb = NbTQ ? NbTQ * (NbTimeStep * 4 * 9 + 12) : 0; TQ = LCD; - - // Tetrahedra - nb = NbSS ? NbSS * (NbTimeStep * 4 * 1 + 12) : 0; SS = LCD; - nb = NbVS ? NbVS * (NbTimeStep * 4 * 3 + 12) : 0; VS = LCD; - nb = NbTS ? NbTS * (NbTimeStep * 4 * 9 + 12) : 0; TS = LCD; - - // Hexahedra - nb = NbSH ? NbSH * (NbTimeStep * 8 * 1 + 24) : 0; SH = LCD; - nb = NbVH ? NbVH * (NbTimeStep * 8 * 3 + 24) : 0; VH = LCD; - nb = NbTH ? NbTH * (NbTimeStep * 8 * 9 + 24) : 0; TH = LCD; - - // Prisms - nb = NbSI ? NbSI * (NbTimeStep * 6 * 1 + 18) : 0; SI = LCD; - nb = NbVI ? NbVI * (NbTimeStep * 6 * 3 + 18) : 0; VI = LCD; - nb = NbTI ? NbTI * (NbTimeStep * 6 * 9 + 18) : 0; TI = LCD; - - // Pyramids - nb = NbSY ? NbSY * (NbTimeStep * 5 * 1 + 15) : 0; SY = LCD; - nb = NbVY ? NbVY * (NbTimeStep * 5 * 3 + 15) : 0; VY = LCD; - nb = NbTY ? NbTY * (NbTimeStep * 5 * 9 + 15) : 0; TY = LCD; - - // 2nd order Lines - nb = NbSL2 ? NbSL2 * (NbTimeStep * 3 * 1 + 9) : 0; SL2 = LCD; - nb = NbVL2 ? NbVL2 * (NbTimeStep * 3 * 3 + 9) : 0; VL2 = LCD; - nb = NbTL2 ? NbTL2 * (NbTimeStep * 3 * 9 + 9) : 0; TL2 = LCD; - - // 2nd order Triangles - nb = NbST2 ? NbST2 * (NbTimeStep * 6 * 1 + 18) : 0; ST2 = LCD; - nb = NbVT2 ? NbVT2 * (NbTimeStep * 6 * 3 + 18) : 0; VT2 = LCD; - nb = NbTT2 ? NbTT2 * (NbTimeStep * 6 * 9 + 18) : 0; TT2 = LCD; - - // 2nd order Quadrangles - nb = NbSQ2 ? NbSQ2 * (NbTimeStep * 9 * 1 + 27) : 0; SQ2 = LCD; - nb = NbVQ2 ? NbVQ2 * (NbTimeStep * 9 * 3 + 27) : 0; VQ2 = LCD; - nb = NbTQ2 ? NbTQ2 * (NbTimeStep * 9 * 9 + 27) : 0; TQ2 = LCD; - - // 2nd order Tetrahedra - nb = NbSS2 ? NbSS2 * (NbTimeStep * 10 * 1 + 30) : 0; SS2 = LCD; - nb = NbVS2 ? NbVS2 * (NbTimeStep * 10 * 3 + 30) : 0; VS2 = LCD; - nb = NbTS2 ? NbTS2 * (NbTimeStep * 10 * 9 + 30) : 0; TS2 = LCD; - - // 2nd order Hexahedra - nb = NbSH2 ? NbSH2 * (NbTimeStep * 27 * 1 + 81) : 0; SH2 = LCD; - nb = NbVH2 ? NbVH2 * (NbTimeStep * 27 * 3 + 81) : 0; VH2 = LCD; - nb = NbTH2 ? NbTH2 * (NbTimeStep * 27 * 9 + 81) : 0; TH2 = LCD; - - // 2nd order Prisms - nb = NbSI2 ? NbSI2 * (NbTimeStep * 18 * 1 + 54) : 0; SI2 = LCD; - nb = NbVI2 ? NbVI2 * (NbTimeStep * 18 * 3 + 54) : 0; VI2 = LCD; - nb = NbTI2 ? NbTI2 * (NbTimeStep * 18 * 9 + 54) : 0; TI2 = LCD; - - // 2nd order Pyramids - nb = NbSY2 ? NbSY2 * (NbTimeStep * 14 * 1 + 42) : 0; SY2 = LCD; - nb = NbVY2 ? NbVY2 * (NbTimeStep * 14 * 3 + 42) : 0; VY2 = LCD; - nb = NbTY2 ? NbTY2 * (NbTimeStep * 14 * 9 + 42) : 0; TY2 = LCD; -#undef LCD - - // 2D strings - nb = NbT2 ? NbT2 * 4 : 0; - T2D = List_CreateFromFile(nb, 100, size, fp, format, swap); - if(version <= 1.2) - T2C = List_CreateFromFileOld(t2l, 100, sizeof(char), fp, format, swap); - else - T2C = List_CreateFromFile(t2l, 100, sizeof(char), fp, format, swap); - - // 3D strings - nb = NbT3 ? NbT3 * 5 : 0; - T3D = List_CreateFromFile(nb, 100, size, fp, format, swap); - if(version <= 1.2) - T3C = List_CreateFromFileOld(t3l, 100, sizeof(char), fp, format, swap); - else - T3C = List_CreateFromFile(t3l, 100, sizeof(char), fp, format, swap); + dVecRead(Time, NbTimeStep, fp, binary, swap); + dVecRead(SP, NbSP * (NbTimeStep * 1 + 3), fp, binary, swap); + dVecRead(VP, NbVP * (NbTimeStep * 3 + 3), fp, binary, swap); + dVecRead(TP, NbTP * (NbTimeStep * 9 + 3), fp, binary, swap); + dVecRead(SL, NbSL * (NbTimeStep * 2 * 1 + 6), fp, binary, swap); + dVecRead(VL, NbVL * (NbTimeStep * 2 * 3 + 6), fp, binary, swap); + dVecRead(TL, NbTL * (NbTimeStep * 2 * 9 + 6), fp, binary, swap); + dVecRead(ST, NbST * (NbTimeStep * 3 * 1 + 9), fp, binary, swap); + dVecRead(VT, NbVT * (NbTimeStep * 3 * 3 + 9), fp, binary, swap); + dVecRead(TT, NbTT * (NbTimeStep * 3 * 9 + 9), fp, binary, swap); + dVecRead(SQ, NbSQ * (NbTimeStep * 4 * 1 + 12), fp, binary, swap); + dVecRead(VQ, NbVQ * (NbTimeStep * 4 * 3 + 12), fp, binary, swap); + dVecRead(TQ, NbTQ * (NbTimeStep * 4 * 9 + 12), fp, binary, swap); + dVecRead(SS, NbSS * (NbTimeStep * 4 * 1 + 12), fp, binary, swap); + dVecRead(VS, NbVS * (NbTimeStep * 4 * 3 + 12), fp, binary, swap); + dVecRead(TS, NbTS * (NbTimeStep * 4 * 9 + 12), fp, binary, swap); + dVecRead(SH, NbSH * (NbTimeStep * 8 * 1 + 24), fp, binary, swap); + dVecRead(VH, NbVH * (NbTimeStep * 8 * 3 + 24), fp, binary, swap); + dVecRead(TH, NbTH * (NbTimeStep * 8 * 9 + 24), fp, binary, swap); + dVecRead(SI, NbSI * (NbTimeStep * 6 * 1 + 18), fp, binary, swap); + dVecRead(VI, NbVI * (NbTimeStep * 6 * 3 + 18), fp, binary, swap); + dVecRead(TI, NbTI * (NbTimeStep * 6 * 9 + 18), fp, binary, swap); + dVecRead(SY, NbSY * (NbTimeStep * 5 * 1 + 15), fp, binary, swap); + dVecRead(VY, NbVY * (NbTimeStep * 5 * 3 + 15), fp, binary, swap); + dVecRead(TY, NbTY * (NbTimeStep * 5 * 9 + 15), fp, binary, swap); + + // overwrite first order data with second order data (if any) + dVecRead(SL, NbSL2 * (NbTimeStep * 3 * 1 + 9), fp, binary, swap); + dVecRead(VL, NbVL2 * (NbTimeStep * 3 * 3 + 9), fp, binary, swap); + dVecRead(TL, NbTL2 * (NbTimeStep * 3 * 9 + 9), fp, binary, swap); + dVecRead(ST, NbST2 * (NbTimeStep * 6 * 1 + 18), fp, binary, swap); + dVecRead(VT, NbVT2 * (NbTimeStep * 6 * 3 + 18), fp, binary, swap); + dVecRead(TT, NbTT2 * (NbTimeStep * 6 * 9 + 18), fp, binary, swap); + dVecRead(SQ, NbSQ2 * (NbTimeStep * 9 * 1 + 27), fp, binary, swap); + dVecRead(VQ, NbVQ2 * (NbTimeStep * 9 * 3 + 27), fp, binary, swap); + dVecRead(TQ, NbTQ2 * (NbTimeStep * 9 * 9 + 27), fp, binary, swap); + dVecRead(SS, NbSS2 * (NbTimeStep * 10 * 1 + 30), fp, binary, swap); + dVecRead(VS, NbVS2 * (NbTimeStep * 10 * 3 + 30), fp, binary, swap); + dVecRead(TS, NbTS2 * (NbTimeStep * 10 * 9 + 30), fp, binary, swap); + dVecRead(SH, NbSH2 * (NbTimeStep * 27 * 1 + 81), fp, binary, swap); + dVecRead(VH, NbVH2 * (NbTimeStep * 27 * 3 + 81), fp, binary, swap); + dVecRead(TH, NbTH2 * (NbTimeStep * 27 * 9 + 81), fp, binary, swap); + dVecRead(SI, NbSI2 * (NbTimeStep * 18 * 1 + 54), fp, binary, swap); + dVecRead(VI, NbVI2 * (NbTimeStep * 18 * 3 + 54), fp, binary, swap); + dVecRead(TI, NbTI2 * (NbTimeStep * 18 * 9 + 54), fp, binary, swap); + dVecRead(SY, NbSY2 * (NbTimeStep * 14 * 1 + 42), fp, binary, swap); + dVecRead(VY, NbVY2 * (NbTimeStep * 14 * 3 + 42), fp, binary, swap); + dVecRead(TY, NbTY2 * (NbTimeStep * 14 * 9 + 42), fp, binary, swap); + if(NbSL2){ NbSL = NbSL2; setOrder2(1); } + if(NbVL2){ NbVL = NbVL2; setOrder2(1); } + if(NbTL2){ NbTL = NbTL2; setOrder2(1); } + if(NbST2){ NbST = NbST2; setOrder2(3); } + if(NbVT2){ NbVT = NbVT2; setOrder2(3); } + if(NbTT2){ NbTT = NbTT2; setOrder2(3); } + if(NbSQ2){ NbSQ = NbSQ2; setOrder2(4); } + if(NbVQ2){ NbVQ = NbVQ2; setOrder2(4); } + if(NbTQ2){ NbTQ = NbTQ2; setOrder2(4); } + if(NbSS2){ NbSS = NbSS2; setOrder2(6); } + if(NbVS2){ NbVS = NbVS2; setOrder2(6); } + if(NbTS2){ NbTS = NbTS2; setOrder2(6); } + if(NbSH2){ NbSH = NbSH2; setOrder2(12); } + if(NbVH2){ NbVH = NbVH2; setOrder2(12); } + if(NbTH2){ NbTH = NbTH2; setOrder2(12); } + if(NbSI2){ NbSI = NbSI2; setOrder2(9); } + if(NbVI2){ NbVI = NbVI2; setOrder2(9); } + if(NbTI2){ NbTI = NbTI2; setOrder2(9); } + if(NbSY2){ NbSY = NbSY2; setOrder2(8); } + if(NbVY2){ NbVY = NbVY2; setOrder2(8); } + if(NbTY2){ NbTY = NbTY2; setOrder2(8); } + + dVecRead(T2D, NbT2 * 4, fp, binary, swap); + cVecRead(T2C, t2l, fp, binary, swap, (version <= 1.2)); + dVecRead(T3D, NbT3 * 5, fp, binary, swap); + cVecRead(T3C, t3l, fp, binary, swap, (version <= 1.2)); - Msg::Debug( - "Read View '%s' (%d TimeSteps): " - "SP(%d/%d) VP(%d/%d) TP(%d/%d) " - "SL(%d/%d) VL(%d/%d) TL(%d/%d) " - "ST(%d/%d) VT(%d/%d) TT(%d/%d) " - "SQ(%d/%d) VQ(%d/%d) TQ(%d/%d) " - "SS(%d/%d) VS(%d/%d) TS(%d/%d) " - "SH(%d/%d) VH(%d/%d) TH(%d/%d) " - "SI(%d/%d) VI(%d/%d) TI(%d/%d) " - "SY(%d/%d) VY(%d/%d) TY(%d/%d) " - "SL2(%d/%d) VL2(%d/%d) TL2(%d/%d) " - "ST2(%d/%d) VT2(%d/%d) TT2(%d/%d) " - "SQ2(%d/%d) VQ2(%d/%d) TQ2(%d/%d) " - "SS2(%d/%d) VS2(%d/%d) TS2(%d/%d) " - "SH2(%d/%d) VH2(%d/%d) TH2(%d/%d) " - "SI2(%d/%d) VI2(%d/%d) TI2(%d/%d) " - "SY2(%d/%d) VY2(%d/%d) TY2(%d/%d) " - "T2(%d/%d/%d) T3(%d/%d/%d) ", - name, NbTimeStep, - NbSP, List_Nbr(SP), NbVP, List_Nbr(VP), NbTP, List_Nbr(TP), - NbSL, List_Nbr(SL), NbVL, List_Nbr(VL), NbTL, List_Nbr(TL), - NbST, List_Nbr(ST), NbVT, List_Nbr(VT), NbTT, List_Nbr(TT), - NbSQ, List_Nbr(SQ), NbVQ, List_Nbr(VQ), NbTQ, List_Nbr(TQ), - NbSS, List_Nbr(SS), NbVS, List_Nbr(VS), NbTS, List_Nbr(TS), - NbSH, List_Nbr(SH), NbVH, List_Nbr(VH), NbTH, List_Nbr(TH), - NbSI, List_Nbr(SI), NbVI, List_Nbr(VI), NbTI, List_Nbr(TI), - NbSY, List_Nbr(SY), NbVY, List_Nbr(VY), NbTY, List_Nbr(TY), - NbSL2, List_Nbr(SL2), NbVL2, List_Nbr(VL2), NbTL2, List_Nbr(TL2), - NbST2, List_Nbr(ST2), NbVT2, List_Nbr(VT2), NbTT2, List_Nbr(TT2), - NbSQ2, List_Nbr(SQ2), NbVQ2, List_Nbr(VQ2), NbTQ2, List_Nbr(TQ2), - NbSS2, List_Nbr(SS2), NbVS2, List_Nbr(VS2), NbTS2, List_Nbr(TS2), - NbSH2, List_Nbr(SH2), NbVH2, List_Nbr(VH2), NbTH2, List_Nbr(TH2), - NbSI2, List_Nbr(SI2), NbVI2, List_Nbr(VI2), NbTI2, List_Nbr(TI2), - NbSY2, List_Nbr(SY2), NbVY2, List_Nbr(VY2), NbTY2, List_Nbr(TY2), - NbT2, List_Nbr(T2D), List_Nbr(T2C), - NbT3, List_Nbr(T3D), List_Nbr(T3C)); + Msg::Debug("Read View '%s' (%d TimeSteps): " + "SP(%d/%d) VP(%d/%d) TP(%d/%d) " + "SL(%d/%d) VL(%d/%d) TL(%d/%d) " + "ST(%d/%d) VT(%d/%d) TT(%d/%d) " + "SQ(%d/%d) VQ(%d/%d) TQ(%d/%d) " + "SS(%d/%d) VS(%d/%d) TS(%d/%d) " + "SH(%d/%d) VH(%d/%d) TH(%d/%d) " + "SI(%d/%d) VI(%d/%d) TI(%d/%d) " + "SY(%d/%d) VY(%d/%d) TY(%d/%d) " + "T2(%d/%d/%d) T3(%d/%d/%d) ", + name, NbTimeStep, + NbSP, SP.size(), NbVP, VP.size(), NbTP, TP.size(), + NbSL, SL.size(), NbVL, VL.size(), NbTL, TL.size(), + NbST, ST.size(), NbVT, VT.size(), NbTT, TT.size(), + NbSQ, SQ.size(), NbVQ, VQ.size(), NbTQ, TQ.size(), + NbSS, SS.size(), NbVS, VS.size(), NbTS, TS.size(), + NbSH, SH.size(), NbVH, VH.size(), NbTH, TH.size(), + NbSI, SI.size(), NbVI, VI.size(), NbTI, TI.size(), + NbSY, SY.size(), NbVY, VY.size(), NbTY, TY.size(), + NbT2, T2D.size(), T2C.size(), + NbT3, T3D.size(), T3C.size()); setName(name); finalize(); - return true; } -static void writeTimePOS(FILE *fp, List_T *list) +static void writeTimePOS(FILE *fp, std::vector<double> &list) { - if(List_Nbr(list) > 1){ + if(list.size() > 1){ fprintf(fp, "TIME{"); - for(int i = 0; i < List_Nbr(list); i ++){ + for(unsigned int i = 0; i < list.size(); i++){ if(i) fprintf(fp, ","); - fprintf(fp, "%.16g", *(double *)List_Pointer(list, i)); + fprintf(fp, "%.16g", list[i]); } fprintf(fp, "};\n"); } } static void writeElementPOS(FILE *fp, const char *str, int nbnod, int nb, - List_T *list) + std::vector<double> &list) { if(nb){ - int n = List_Nbr(list) / nb; - for(int i = 0; i < List_Nbr(list); i += n) { - double *x = (double *)List_Pointer(list, i); - double *y = (double *)List_Pointer(list, i + nbnod); - double *z = (double *)List_Pointer(list, i + 2 * nbnod); + int n = list.size() / nb; + for(unsigned int i = 0; i < list.size(); i += n) { + double *x = &list[i]; + double *y = &list[i + nbnod]; + double *z = &list[i + 2 * nbnod]; fprintf(fp, "%s(", str); for(int j = 0; j < nbnod; j++) { if(j) fprintf(fp, ","); @@ -259,38 +301,38 @@ static void writeElementPOS(FILE *fp, const char *str, int nbnod, int nb, fprintf(fp, "){"); for(int j = 3 * nbnod; j < n; j++) { if(j - 3 * nbnod) fprintf(fp, ","); - fprintf(fp, "%.16g", *(double *)List_Pointer(list, i + j)); + fprintf(fp, "%.16g", list[i + j]); } fprintf(fp, "};\n"); } } } -static void writeTextPOS(FILE *fp, int nbc, int nb, List_T *TD, List_T *TC) +static void writeTextPOS(FILE *fp, int nbc, int nb, std::vector<double> &TD, + std::vector<char> &TC) { if(!nb || (nbc != 4 && nbc != 5)) return; - for(int j = 0; j < List_Nbr(TD); j += nbc){ - double x, y, z, style, start, end; - List_Read(TD, j, &x); - List_Read(TD, j+1, &y); - if(nbc == 5) - List_Read(TD, j+2, &z); - List_Read(TD, j+nbc-2, &style); + for(unsigned int j = 0; j < TD.size(); j += nbc){ + double x = TD[j]; + double y = TD[j + 1]; + double z = (nbc == 5) ? TD[j + 2] : 0.; + double style = TD[j + nbc - 2]; if(nbc == 4) fprintf(fp, "T2(%g,%g,%g){", x, y, style); else fprintf(fp, "T3(%g,%g,%g,%g){", x, y, z, style); - List_Read(TD, j+nbc-1, &start); - if(j+nbc*2-1 < List_Nbr(TD)) - List_Read(TD, j+nbc*2-1, &end); + double start = TD[j + nbc - 1]; + double end; + if(j + nbc * 2 - 1 < TD.size()) + end = TD[j + nbc * 2 - 1]; else - end = List_Nbr(TC); + end = TC.size(); int l = 0; - while(l < end-start){ - char *str = (char*)List_Pointer(TC, (int)start + l); + while(l < end - start){ + char *str = &TC[(int)start + l]; if(l) fprintf(fp, ","); fprintf(fp, "\"%s\"", str); - l += strlen(str)+1; + l += strlen(str) + 1; } fprintf(fp, "};\n"); } @@ -298,12 +340,10 @@ static void writeTextPOS(FILE *fp, int nbc, int nb, List_T *TD, List_T *TC) bool PViewDataList::writePOS(std::string fileName, bool binary, bool parsed, bool append) { + if(_adaptive) + return _adaptive->getData()->writePOS(fileName, binary, parsed, append); - if ( _adaptive ){ - return _adaptive->getData()->writePOS (fileName,binary,parsed,append); - } - - FILE *fp = fopen(fileName.c_str(), + FILE *fp = fopen(fileName.c_str(), append ? (binary ? "ab" : "a") : (binary ? "wb" : "w")); if(!fp){ Msg::Error("Unable to open file '%s'", fileName.c_str()); @@ -328,13 +368,12 @@ bool PViewDataList::writePOS(std::string fileName, bool binary, bool parsed, boo fprintf(fp, "%s ", str.c_str()); fprintf(fp, "%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d " "%d %d %d %d %d %d %d %d %d %d %d %d\n", - List_Nbr(Time), + Time.size(), NbSP, NbVP, NbTP, NbSL, NbVL, NbTL, NbST, NbVT, NbTT, NbSQ, NbVQ, NbTQ, NbSS, NbVS, NbTS, NbSH, NbVH, NbTH, NbSI, NbVI, NbTI, NbSY, NbVY, NbTY, - NbT2, List_Nbr(T2C), NbT3, List_Nbr(T3C)); - int f = binary ? LIST_FORMAT_BINARY : LIST_FORMAT_ASCII; + NbT2, T2C.size(), NbT3, T3C.size()); if(binary) { int one = 1; if(!fwrite(&one, sizeof(int), 1, fp)){ @@ -342,21 +381,21 @@ bool PViewDataList::writePOS(std::string fileName, bool binary, bool parsed, boo return false; } } - List_WriteToFile(Time, fp, f); - List_WriteToFile(SP, fp, f); List_WriteToFile(VP, fp, f); - List_WriteToFile(TP, fp, f); List_WriteToFile(SL, fp, f); - List_WriteToFile(VL, fp, f); List_WriteToFile(TL, fp, f); - List_WriteToFile(ST, fp, f); List_WriteToFile(VT, fp, f); - List_WriteToFile(TT, fp, f); List_WriteToFile(SQ, fp, f); - List_WriteToFile(VQ, fp, f); List_WriteToFile(TQ, fp, f); - List_WriteToFile(SS, fp, f); List_WriteToFile(VS, fp, f); - List_WriteToFile(TS, fp, f); List_WriteToFile(SH, fp, f); - List_WriteToFile(VH, fp, f); List_WriteToFile(TH, fp, f); - List_WriteToFile(SI, fp, f); List_WriteToFile(VI, fp, f); - List_WriteToFile(TI, fp, f); List_WriteToFile(SY, fp, f); - List_WriteToFile(VY, fp, f); List_WriteToFile(TY, fp, f); - List_WriteToFile(T2D, fp, f); List_WriteToFile(T2C, fp, f); - List_WriteToFile(T3D, fp, f); List_WriteToFile(T3C, fp, f); + dVecWrite(Time, fp, binary); + dVecWrite(SP, fp, binary); dVecWrite(VP, fp, binary); + dVecWrite(TP, fp, binary); dVecWrite(SL, fp, binary); + dVecWrite(VL, fp, binary); dVecWrite(TL, fp, binary); + dVecWrite(ST, fp, binary); dVecWrite(VT, fp, binary); + dVecWrite(TT, fp, binary); dVecWrite(SQ, fp, binary); + dVecWrite(VQ, fp, binary); dVecWrite(TQ, fp, binary); + dVecWrite(SS, fp, binary); dVecWrite(VS, fp, binary); + dVecWrite(TS, fp, binary); dVecWrite(SH, fp, binary); + dVecWrite(VH, fp, binary); dVecWrite(TH, fp, binary); + dVecWrite(SI, fp, binary); dVecWrite(VI, fp, binary); + dVecWrite(TI, fp, binary); dVecWrite(SY, fp, binary); + dVecWrite(VY, fp, binary); dVecWrite(TY, fp, binary); + dVecWrite(T2D, fp, binary); cVecWrite(T2C, fp, binary); + dVecWrite(T3D, fp, binary); cVecWrite(T3C, fp, binary); fprintf(fp, "\n"); fprintf(fp, "$EndView\n"); } @@ -406,16 +445,17 @@ class pVertexLessThan{ } }; -static void getNodeMSH(int nbelm, List_T *list, int nbnod, int nbcomp, int nbstep, +static void getNodeMSH(int nbelm, std::vector<double> &list, + int nbnod, int nbcomp, int nbstep, std::set<pVertex, pVertexLessThan> *nodes, int *numelm) { if(!nbelm) return; - int nb = List_Nbr(list) / nbelm; - for(int i = 0; i < List_Nbr(list); i += nb){ - double *x = (double *)List_Pointer_Fast(list, i); - double *y = (double *)List_Pointer_Fast(list, i + nbnod); - double *z = (double *)List_Pointer_Fast(list, i + 2 * nbnod); - double *v = (double *)List_Pointer_Fast(list, i + 3 * nbnod); + int nb = list.size() / nbelm; + for(unsigned int i = 0; i < list.size(); i += nb){ + double *x = &list[i]; + double *y = &list[i + nbnod]; + double *z = &list[i + 2 * nbnod]; + double *v = &list[i + 3 * nbnod]; for(int j = 0; j < nbnod; j++) { pVertex n(x[j], y[j], z[j]); std::set<pVertex, pVertexLessThan>::iterator it = nodes->find(n); @@ -467,19 +507,19 @@ static void writeElementMSH(FILE *fp, int num, int nbnod, pVertex nod[8], } } -static void writeElementsMSH(FILE *fp, int nbelm, List_T *list, +static void writeElementsMSH(FILE *fp, int nbelm, std::vector<double> &list, int nbnod, int nbcomp, int dim, std::set<pVertex, pVertexLessThan> *nodes, int *numelm) { if(!nbelm) return; pVertex nod[8]; - int nb = List_Nbr(list) / nbelm; - for(int i = 0; i < List_Nbr(list); i += nb){ - double *x = (double *)List_Pointer_Fast(list, i); - double *y = (double *)List_Pointer_Fast(list, i + nbnod); - double *z = (double *)List_Pointer_Fast(list, i + 2 * nbnod); - double *v = (double *)List_Pointer_Fast(list, i + 3 * nbnod); + int nb = list.size() / nbelm; + for(unsigned int i = 0; i < list.size(); i += nb){ + double *x = &list[i]; + double *y = &list[i + nbnod]; + double *z = &list[i + 2 * nbnod]; + double *v = &list[i + 3 * nbnod]; for(int j = 0; j < nbnod; j++) { pVertex n(x[j], y[j], z[j]); std::set<pVertex, pVertexLessThan>::iterator it = nodes->find(n); diff --git a/Post/PViewIO.cpp b/Post/PViewIO.cpp index bef680d1eec06107afd929a70d0a1d5452eb967b..4123686a1a643b1d08f58ec27243af4c16457323 100644 --- a/Post/PViewIO.cpp +++ b/Post/PViewIO.cpp @@ -48,22 +48,14 @@ bool PView::readPOS(std::string fileName, int fileIndex) Msg::Error("Unknown data size (%d) in post-processing file", size); return false; } - if(format == 0) - format = LIST_FORMAT_ASCII; - else if(format == 1) - format = LIST_FORMAT_BINARY; - else { - Msg::Error("Unknown format for view"); - return false; - } } else if(!strncmp(&str[1], "View", 4)){ index++; if(fileIndex < 0 || fileIndex == index){ - PViewDataList *d = new PViewDataList(false); - if(!d->readPOS(fp, version, format, size)){ + PViewDataList *d = new PViewDataList(); + if(!d->readPOS(fp, version, format ? true : false)){ Msg::Error("Could not read data in list format"); delete d; return false; diff --git a/Post/adaptiveData.cpp b/Post/adaptiveData.cpp index d5b584fd1d565f20620d96c2b60f99d79762bbb0..3eefc3f5ad60f0765c2f49fe6ed9c67fc66ff271 100644 --- a/Post/adaptiveData.cpp +++ b/Post/adaptiveData.cpp @@ -8,7 +8,6 @@ #include <set> #include "adaptiveData.h" #include "Plugin.h" -#include "ListUtils.h" #include "OS.h" //#define TIMER @@ -1044,42 +1043,42 @@ void adaptiveElements<T>::addInView(double tol, int step, if(numComp != 1 && numComp != 3) return; int numEle = 0, *outNb = 0; - List_T *outList = 0; + std::vector<double> *outList = 0; switch(T::numEdges){ case 1: numEle = in->getNumLines(); outNb = (numComp == 1) ? &out->NbSL : &out->NbVL; - outList = (numComp == 1) ? out->SL : out->VL; + outList = (numComp == 1) ? &out->SL : &out->VL; break; case 3: numEle = in->getNumTriangles(); outNb = (numComp == 1) ? &out->NbST : &out->NbVT; - outList = (numComp == 1) ? out->ST : out->VT; + outList = (numComp == 1) ? &out->ST : &out->VT; break; case 4: numEle = in->getNumQuadrangles(); outNb = (numComp == 1) ? &out->NbSQ : &out->NbVQ; - outList = (numComp == 1) ? out->SQ : out->VQ; + outList = (numComp == 1) ? &out->SQ : &out->VQ; break; case 6: numEle = in->getNumTetrahedra(); outNb = (numComp == 1) ? &out->NbSS : &out->NbVS; - outList = (numComp == 1) ? out->SS : out->VS; + outList = (numComp == 1) ? &out->SS : &out->VS; break; case 9: numEle = in->getNumPrisms(); outNb = (numComp == 1) ? &out->NbSI : &out->NbVI; - outList = (numComp == 1) ? out->SI : out->VI; + outList = (numComp == 1) ? &out->SI : &out->VI; break; case 12: numEle = in->getNumHexahedra(); outNb = (numComp == 1) ? &out->NbSH : &out->NbVH; - outList = (numComp == 1) ? out->SH : out->VH; + outList = (numComp == 1) ? &out->SH : &out->VH; break; } if(!numEle) return; - List_Reset(outList); + outList->clear(); *outNb = 0; for(int ent = 0; ent < in->getNumEntities(step); ent++){ @@ -1115,14 +1114,14 @@ void adaptiveElements<T>::addInView(double tol, int step, *outNb += coords.size() / T::numNodes; for(unsigned int i = 0; i < coords.size() / T::numNodes; i++){ for(int k = 0; k < T::numNodes; ++k) - List_Add(outList, &coords[T::numNodes * i + k].c[0]); + outList->push_back(coords[T::numNodes * i + k].c[0]); for(int k = 0; k < T::numNodes; ++k) - List_Add(outList, &coords[T::numNodes * i + k].c[1]); + outList->push_back(coords[T::numNodes * i + k].c[1]); for(int k = 0; k < T::numNodes; ++k) - List_Add(outList, &coords[T::numNodes * i + k].c[2]); + outList->push_back(coords[T::numNodes * i + k].c[2]); for(int k = 0; k < T::numNodes; ++k) for(int l = 0; l < numComp; ++l) - List_Add(outList, &values[T::numNodes * i + k].v[l]); + outList->push_back(values[T::numNodes * i + k].v[l]); } } } @@ -1133,7 +1132,7 @@ adaptiveData::adaptiveData(PViewData *data) _lines(0), _triangles(0), _quadrangles(0), _tetrahedra(0), _hexahedra(0), _prisms(0) { - _outData = new PViewDataList(true); + _outData = new PViewDataList(); std::vector<gmshMatrix<double>*> p; if(_inData->getNumLines()){ _inData->getInterpolationMatrices(1, p); diff --git a/contrib/Tetgen/Makefile b/contrib/Tetgen/Makefile index f20b3c38e63673af31a93b9636d78f62a09f16fe..f6b3590c5cb1620e7501fa295fe535a9a54210a5 100644 --- a/contrib/Tetgen/Makefile +++ b/contrib/Tetgen/Makefile @@ -39,3 +39,5 @@ depend: rm -f Makefile.new # DO NOT DELETE THIS LINE +tetgen${OBJEXT}: tetgen.cxx tetgen.h +predicates${OBJEXT}: predicates.cxx tetgen.h diff --git a/doc/VERSIONS.txt b/doc/VERSIONS.txt index 5c2d25ebe5678a543a750d902306cce9715aa729..0fccc3a736b6bc401cfb92254ef2a0ac161a2ab7 100644 --- a/doc/VERSIONS.txt +++ b/doc/VERSIONS.txt @@ -1,9 +1,9 @@ -$Id: VERSIONS.txt,v 1.45 2009-05-19 19:29:52 geuzaine Exp $ +$Id: VERSIONS.txt,v 1.46 2009-06-28 15:53:49 geuzaine Exp $ -2.3.2 (?): optionally copy transfinite mesh contraints during geometry +2.4.0 (?): optionally copy transfinite mesh contraints during geometry transformations; bumped mesh version format to 2.1 (small change in the $PhysicalNames section, where the group dimension is now -required). +required); 2.3.1 (Mar 18, 2009): removed GSL dependency (Gmsh now simply uses Blas and Lapack); new per-window visibility; added support for diff --git a/doc/texinfo/gmsh.texi b/doc/texinfo/gmsh.texi index f9531db7da93eddf833ca4c3f937893f89fa0dae..fe3be572eb3cd250a92d9de1006e15b7b7d3631e 100644 --- a/doc/texinfo/gmsh.texi +++ b/doc/texinfo/gmsh.texi @@ -2884,27 +2884,6 @@ Tensor prism TI 18 54 * @var{nb-time-steps} Scalar pyramid SY 15 5 * @var{nb-time-steps} Vector pyramid VY 15 15 * @var{nb-time-steps} Tensor pyramid TY 15 45 * @var{nb-time-steps} -2nd order scalar line SL2 9 3 * @var{nb-time-steps} -2nd order vector line VL2 9 9 * @var{nb-time-steps} -2nd order tensor line TL2 9 27 * @var{nb-time-steps} -2nd order scalar triangle ST2 18 6 * @var{nb-time-steps} -2nd order vector triangle VT2 18 18 * @var{nb-time-steps} -2nd order tensor triangle TT2 18 54 * @var{nb-time-steps} -2nd order scalar quadrangle SQ2 27 9 * @var{nb-time-steps} -2nd order vector quadrangle VQ2 27 27 * @var{nb-time-steps} -2nd order tensor quadrangle TQ2 27 81 * @var{nb-time-steps} -2nd order scalar tetrahedron SS2 30 10 * @var{nb-time-steps} -2nd order vector tetrahedron VS2 30 30 * @var{nb-time-steps} -2nd order tensor tetrahedron TS2 30 90 * @var{nb-time-steps} -2nd order scalar hexahedron SH2 81 27 * @var{nb-time-steps} -2nd order vector hexahedron VH2 81 81 * @var{nb-time-steps} -2nd order tensor hexahedron TH2 81 243* @var{nb-time-steps} -2nd order scalar prism SI2 54 18 * @var{nb-time-steps} -2nd order vector prism VI2 54 54 * @var{nb-time-steps} -2nd order tensor prism TI2 54 162* @var{nb-time-steps} -2nd order scalar pyramid SY2 42 14 * @var{nb-time-steps} -2nd order vector pyramid VY2 42 42 * @var{nb-time-steps} -2nd order tensor pyramid TY2 42 126* @var{nb-time-steps} 2D text T2 3 arbitrary 3D text T3 4 arbitrary @end smallexample