From 3c9d87544226b3e493222b1b38493cce84cc4138 Mon Sep 17 00:00:00 2001 From: Christophe Geuzaine <cgeuzaine@ulg.ac.be> Date: Mon, 27 Nov 2000 18:59:28 +0000 Subject: [PATCH] *** empty log message *** --- Common/Views.cpp | 170 +++++++++++++++++++++-------------------------- Common/Views.h | 15 ++--- 2 files changed, 80 insertions(+), 105 deletions(-) diff --git a/Common/Views.cpp b/Common/Views.cpp index 33ac31da9d..8a00a0c138 100644 --- a/Common/Views.cpp +++ b/Common/Views.cpp @@ -1,4 +1,4 @@ -/* $Id: Views.cpp,v 1.11 2000-11-27 17:34:00 geuzaine Exp $ */ +/* $Id: Views.cpp,v 1.12 2000-11-27 18:59:28 geuzaine Exp $ */ #include "Gmsh.h" #include "Views.h" @@ -92,6 +92,63 @@ void BeginView(int allocate){ ColorTable_Recompute(&ActualView->CT, 1, 1); } +void Stat_ScalarSimplex(int nbnod, int N, double *V){ + int i; + + if(!NbPoints && !NbLines && !NbTriangles && !NbTetrahedra){ + ActualView->Min = V[0]; + ActualView->Max = V[0]; + ActualView->NbTimeStep = N/nbnod; + } + else if(N/nbnod < ActualView->NbTimeStep) + ActualView->NbTimeStep = N/nbnod ; + + for(i=0 ; i<N ; i++){ + if(V[i] < ActualView->Min) ActualView->Min = V[i] ; + if(V[i] > ActualView->Max) ActualView->Max = V[i] ; + } + + switch(nbnod){ + case 1 : NbPoints++; break; + case 2 : NbLines++; break; + case 3 : NbTriangles++; break; + case 4 : NbTetrahedra++; break; + } +} + +void Stat_VectorSimplex(int nbnod, int N, double *V){ + double l0; + int i; + + if(!NbPoints && !NbLines && !NbTriangles && !NbTetrahedra){ + l0 = sqrt(DSQR(V[0])+DSQR(V[1])+DSQR(V[2])); + ActualView->Min = l0; + ActualView->Max = l0; + ActualView->NbTimeStep = N/(3*nbnod) ; + } + else if(N/(3*nbnod) < ActualView->NbTimeStep) + ActualView->NbTimeStep = N/(3*nbnod) ; + + for(i=0 ; i<N ; i+=3){ + l0 = sqrt(DSQR(V[i])+DSQR(V[i+1])+DSQR(V[i+2])); + if(l0 < ActualView->Min) ActualView->Min = l0 ; + if(l0 > ActualView->Max) ActualView->Max = l0 ; + } + + ActualView->ScalarOnly = 0; + + switch(nbnod){ + case 1 : NbPoints++; break; + case 2 : NbLines++; break; + case 3 : NbTriangles++; break; + case 4 : NbTetrahedra++; break; + } +} + +void Stat_TensorSimplex(int nbnod, int N, double *v){ + Msg(ERROR, "Tensor Field Views not Implemented Yet"); +} + void EndView(int AddInUI, int Number, char *FileName, char *Name, double XOffset, double YOffset, double ZOffset){ int i, nb; @@ -274,68 +331,6 @@ void CopyViewOptions(Post_View *src, Post_View *dest){ ColorTable_Paste(&dest->CT); } -/* ------------------------------------------------------------------------ */ -/* S t a t _ X X X S i m p l e x */ -/* ------------------------------------------------------------------------ */ - -void Stat_ScalarSimplex(int nbnod, int N, double *V){ - int i; - - if(!NbPoints && !NbLines && !NbTriangles && !NbTetrahedra){ - ActualView->Min = V[0]; - ActualView->Max = V[0]; - ActualView->NbTimeStep = N/nbnod; - } - else if(N/nbnod < ActualView->NbTimeStep) - ActualView->NbTimeStep = N/nbnod ; - - for(i=0 ; i<N ; i++){ - if(V[i] < ActualView->Min) ActualView->Min = V[i] ; - if(V[i] > ActualView->Max) ActualView->Max = V[i] ; - } - - switch(nbnod){ - case 1 : NbPoints++; break; - case 2 : NbLines++; break; - case 3 : NbTriangles++; break; - case 4 : NbTetrahedra++; break; - } -} - -void Stat_VectorSimplex(int nbnod, int N, double *V){ - double l0; - int i; - - if(!NbPoints && !NbLines && !NbTriangles && !NbTetrahedra){ - l0 = sqrt(DSQR(V[0])+DSQR(V[1])+DSQR(V[2])); - ActualView->Min = l0; - ActualView->Max = l0; - ActualView->NbTimeStep = N/(3*nbnod) ; - } - else if(N/(3*nbnod) < ActualView->NbTimeStep) - ActualView->NbTimeStep = N/(3*nbnod) ; - - for(i=0 ; i<N ; i+=3){ - l0 = sqrt(DSQR(V[i])+DSQR(V[i+1])+DSQR(V[i+2])); - if(l0 < ActualView->Min) ActualView->Min = l0 ; - if(l0 > ActualView->Max) ActualView->Max = l0 ; - } - - ActualView->ScalarOnly = 0; - - switch(nbnod){ - case 1 : NbPoints++; break; - case 2 : NbLines++; break; - case 3 : NbTriangles++; break; - case 4 : NbTetrahedra++; break; - } -} - -void Stat_TensorSimplex(int nbnod, int N, double *v){ - Msg(ERROR, "Tensor Field Views not Implemented Yet"); -} - - /* ------------------------------------------------------------------------ */ /* R e a d _ V i e w */ /* ------------------------------------------------------------------------ */ @@ -382,13 +377,6 @@ void Read_View(FILE *file, char *filename){ &ActualView->NbST, &ActualView->NbVT, &ActualView->NbTT, &ActualView->NbSS, &ActualView->NbVS, &ActualView->NbTS); - Msg(DEBUG, "View '%s' (%d TimeSteps): %d %d %d %d %d %d %d %d %d %d %d %d", - name, ActualView->NbTimeStep, - ActualView->NbSP, ActualView->NbVP, ActualView->NbTP, - ActualView->NbSL, ActualView->NbVL, ActualView->NbTL, - ActualView->NbST, ActualView->NbVT, ActualView->NbTT, - ActualView->NbSS, ActualView->NbVS, ActualView->NbTS); - if(format == LIST_FORMAT_BINARY){ fread(&testone, sizeof(int), 1, file); if(testone != 1){ @@ -402,60 +390,52 @@ void Read_View(FILE *file, char *filename){ sizeof(double), file, format, swap); // Points - nb = ActualView->NbSP ? - ActualView->NbSP * ActualView->NbTimeStep + ActualView->NbSP * 3 : 0 ; + nb = ActualView->NbSP ? ActualView->NbSP * (ActualView->NbTimeStep +3) : 0 ; ActualView->SP = List_CreateFromFile(nb, sizeof(double), file, format, swap); - nb = ActualView->NbVP ? - ActualView->NbVP * ActualView->NbTimeStep * 3 + ActualView->NbVP * 3 : 0 ; + nb = ActualView->NbVP ? ActualView->NbVP * (ActualView->NbTimeStep*3+3) : 0 ; ActualView->VP = List_CreateFromFile(nb, sizeof(double), file, format, swap); - nb = ActualView->NbTP ? - ActualView->NbTP * ActualView->NbTimeStep * 9 + ActualView->NbTP * 3 : 0 ; + nb = ActualView->NbTP ? ActualView->NbTP * (ActualView->NbTimeStep*9+3) : 0 ; ActualView->TP = List_CreateFromFile(nb, sizeof(double), file, format, swap); // Lines - nb = ActualView->NbSL ? - ActualView->NbSL * ActualView->NbTimeStep * 2 + ActualView->NbSL * 6 : 0 ; + nb = ActualView->NbSL ? ActualView->NbSL * (ActualView->NbTimeStep*2 +6) : 0 ; ActualView->SL = List_CreateFromFile(nb, sizeof(double), file, format, swap); - nb = ActualView->NbVL ? - ActualView->NbVL * ActualView->NbTimeStep * 2 * 3 + ActualView->NbVL * 6 : 0 ; + nb = ActualView->NbVL ? ActualView->NbVL * (ActualView->NbTimeStep*2*3+6) : 0 ; ActualView->VL = List_CreateFromFile(nb, sizeof(double), file, format, swap); - nb = ActualView->NbTL ? - ActualView->NbTL * ActualView->NbTimeStep * 2 * 9 + ActualView->NbTL * 6 : 0 ; + nb = ActualView->NbTL ? ActualView->NbTL * (ActualView->NbTimeStep*2*9+6) : 0 ; ActualView->TL = List_CreateFromFile(nb, sizeof(double), file, format, swap); // Triangles - nb = ActualView->NbST ? - ActualView->NbST * ActualView->NbTimeStep * 3 + ActualView->NbST * 9 : 0 ; + nb = ActualView->NbST ? ActualView->NbST * (ActualView->NbTimeStep*3 +9) : 0 ; ActualView->ST = List_CreateFromFile(nb, sizeof(double), file, format, swap); - nb = ActualView->NbVT ? - ActualView->NbVT * ActualView->NbTimeStep * 3 * 3 + ActualView->NbVT * 9 : 0 ; + nb = ActualView->NbVT ? ActualView->NbVT * (ActualView->NbTimeStep*3*3+9) : 0 ; ActualView->VT = List_CreateFromFile(nb, sizeof(double), file, format, swap); - nb = ActualView->NbTT ? - ActualView->NbTT * ActualView->NbTimeStep * 3 * 9 + ActualView->NbTT * 9 : 0 ; + nb = ActualView->NbTT ? ActualView->NbTT * (ActualView->NbTimeStep*3*9+9) : 0 ; ActualView->TT = List_CreateFromFile(nb, sizeof(double), file, format, swap); // Tetrahedra - nb = ActualView->NbSS ? - ActualView->NbSS * ActualView->NbTimeStep * 4 + ActualView->NbSS * 12 : 0 ; + nb = ActualView->NbSS ? ActualView->NbSS * (ActualView->NbTimeStep*4 +12) : 0 ; ActualView->SS = List_CreateFromFile(nb, sizeof(double), file, format, swap); - nb = ActualView->NbVS ? - ActualView->NbVS * ActualView->NbTimeStep * 4 * 3 + ActualView->NbVS * 12 : 0 ; + nb = ActualView->NbVS ? ActualView->NbVS * (ActualView->NbTimeStep*4*3+12) : 0 ; ActualView->VS = List_CreateFromFile(nb, sizeof(double), file, format, swap); - nb = ActualView->NbTS ? - ActualView->NbTS * ActualView->NbTimeStep * 4 * 9 + ActualView->NbTS * 12 : 0 ; + nb = ActualView->NbTS ? ActualView->NbTS * (ActualView->NbTimeStep*4*9+12) : 0 ; ActualView->TS = List_CreateFromFile(nb, sizeof(double), file, format, swap); - Msg(DEBUG, "Read View '%s' (%d TimeSteps): %d %d %d %d %d %d %d %d %d %d %d %d", name, ActualView->NbTimeStep, + ActualView->NbSP, ActualView->NbVP, ActualView->NbTP, + ActualView->NbSL, ActualView->NbVL, ActualView->NbTL, + ActualView->NbST, ActualView->NbVT, ActualView->NbTT, + ActualView->NbSS, ActualView->NbVS, ActualView->NbTS); + Msg(DEBUG, "List_Nbrs: %d %d %d %d %d %d %d %d %d %d %d %d", List_Nbr(ActualView->SP), List_Nbr(ActualView->VP), List_Nbr(ActualView->TP), List_Nbr(ActualView->SL), List_Nbr(ActualView->VL), List_Nbr(ActualView->TL), List_Nbr(ActualView->ST), List_Nbr(ActualView->VT), List_Nbr(ActualView->TT), diff --git a/Common/Views.h b/Common/Views.h index fc422c8961..619f9d1d85 100644 --- a/Common/Views.h +++ b/Common/Views.h @@ -1,4 +1,4 @@ -/* $Id: Views.h,v 1.9 2000-11-27 17:34:00 geuzaine Exp $ */ +/* $Id: Views.h,v 1.10 2000-11-27 18:59:28 geuzaine Exp $ */ #ifndef _VIEWS_H_ #define _VIEWS_H_ @@ -12,13 +12,13 @@ typedef struct{ /* the data */ List_T *Time; - int NbPoints, NbSP, NbVP, NbTP; + int NbSP, NbVP, NbTP; List_T *SP, *VP, *TP; // points - int NbLines, NbSL, NbVL, NbTL; + int NbSL, NbVL, NbTL; List_T *SL, *VL, *TL; // lines - int NbTriangles, NbST, NbVT, NbTT; + int NbST, NbVT, NbTT; List_T *ST, *VT, *TT; // triangles - int NbTetrahedra, NbSS, NbVS, NbTS; + int NbSS, NbVS, NbTS; List_T *SS, *VS, *TS; // tetrahedra int NbTimeStep, ScalarOnly; double Min, Max; @@ -74,14 +74,9 @@ void BeginView (int alloc); void EndView (int AddInUI, int Number, char *FileName, char *Name, double XOffset, double YOffset, double ZOffset); void FreeView(Post_View *v); - void Read_View(FILE *file, char *filename); void CopyViewOptions(Post_View *src, Post_View *dest); -void Stat_ScalarSimplex(int nbnod, int N, double *v); -void Stat_VectorSimplex(int nbnod, int N, double *v); -void Stat_TensorSimplex(int nbnod, int N, double *v); - int BGMWithView (Post_View *ErrView); int CreateBGM(Post_View *ErrView, int OptiMethod, double Degree, double OptiValue, double *ObjFunct, char *OutFile); -- GitLab