Skip to content
Snippets Groups Projects
Commit bd4ffba6 authored by Christophe Geuzaine's avatar Christophe Geuzaine
Browse files

*** empty log message ***

parent 4f74660b
No related branches found
No related tags found
No related merge requests found
/* $Id: Views.cpp,v 1.7 2000-11-27 10:58:18 geuzaine Exp $ */
/* $Id: Views.cpp,v 1.8 2000-11-27 14:23:18 geuzaine Exp $ */
#include "Gmsh.h"
#include "Views.h"
......@@ -103,19 +103,19 @@ void EndView(int AddInUI, int Number, char *FileName, char *Name,
if(ActualView->NbSP){
nb = List_Nbr(ActualView->SP) / ActualView->NbSP ;
for(i = 0 ; i < List_Nbr(ActualView->SP) ; i+=nb)
Stat_ScalarSimplex(0, (double*)List_Pointer(ActualView->SP,i),
Stat_ScalarSimplex(1, (double*)List_Pointer(ActualView->SP,i),
nb-3, (double*)List_Pointer(ActualView->SP,i+3));
}
if(ActualView->NbVP){
nb = List_Nbr(ActualView->VP) / ActualView->NbVP ;
for(i = 0 ; i < List_Nbr(ActualView->VP) ; i+=nb)
Stat_VectorSimplex(0, (double*)List_Pointer(ActualView->VP,i),
Stat_VectorSimplex(1, (double*)List_Pointer(ActualView->VP,i),
nb-3, (double*)List_Pointer(ActualView->VP,i+3));
}
if(ActualView->NbTP){
nb = List_Nbr(ActualView->TP) / ActualView->NbTP ;
for(i = 0 ; i < List_Nbr(ActualView->TP) ; i+=nb)
Stat_TensorSimplex(0, (double*)List_Pointer(ActualView->TP,i),
Stat_TensorSimplex(1, (double*)List_Pointer(ActualView->TP,i),
nb-3, (double*)List_Pointer(ActualView->TP,i+3));
}
......@@ -124,19 +124,19 @@ void EndView(int AddInUI, int Number, char *FileName, char *Name,
if(ActualView->NbSL){
nb = List_Nbr(ActualView->SL) / ActualView->NbSL ;
for(i = 0 ; i < List_Nbr(ActualView->SL) ; i+=nb)
Stat_ScalarSimplex(1, (double*)List_Pointer(ActualView->SL,i),
Stat_ScalarSimplex(2, (double*)List_Pointer(ActualView->SL,i),
nb-6, (double*)List_Pointer(ActualView->SL,i+6));
}
if(ActualView->NbVL){
nb = List_Nbr(ActualView->VL) / ActualView->NbVL ;
for(i = 0 ; i < List_Nbr(ActualView->VL) ; i+=nb)
Stat_VectorSimplex(1, (double*)List_Pointer(ActualView->VL,i),
Stat_VectorSimplex(2, (double*)List_Pointer(ActualView->VL,i),
nb-6, (double*)List_Pointer(ActualView->VL,i+6));
}
if(ActualView->NbTL){
nb = List_Nbr(ActualView->TL) / ActualView->NbTL ;
for(i = 0 ; i < List_Nbr(ActualView->TL) ; i+=nb)
Stat_TensorSimplex(1, (double*)List_Pointer(ActualView->TL,i),
Stat_TensorSimplex(2, (double*)List_Pointer(ActualView->TL,i),
nb-6, (double*)List_Pointer(ActualView->TL,i+6));
}
......@@ -145,19 +145,19 @@ void EndView(int AddInUI, int Number, char *FileName, char *Name,
if(ActualView->NbST){
nb = List_Nbr(ActualView->ST) / ActualView->NbST ;
for(i = 0 ; i < List_Nbr(ActualView->ST) ; i+=nb)
Stat_ScalarSimplex(2, (double*)List_Pointer(ActualView->ST,i),
Stat_ScalarSimplex(3, (double*)List_Pointer(ActualView->ST,i),
nb-9, (double*)List_Pointer(ActualView->ST,i+9));
}
if(ActualView->NbVT){
nb = List_Nbr(ActualView->VT) / ActualView->NbVT ;
for(i = 0 ; i < List_Nbr(ActualView->VT) ; i+=nb)
Stat_VectorSimplex(2, (double*)List_Pointer(ActualView->VT,i),
Stat_VectorSimplex(3, (double*)List_Pointer(ActualView->VT,i),
nb-9, (double*)List_Pointer(ActualView->VT,i+9));
}
if(ActualView->NbTT){
nb = List_Nbr(ActualView->TT) / ActualView->NbTT ;
for(i = 0 ; i < List_Nbr(ActualView->TT) ; i+=nb)
Stat_TensorSimplex(2, (double*)List_Pointer(ActualView->TT,i),
Stat_TensorSimplex(3, (double*)List_Pointer(ActualView->TT,i),
nb-9, (double*)List_Pointer(ActualView->TT,i+9));
}
......@@ -166,19 +166,19 @@ void EndView(int AddInUI, int Number, char *FileName, char *Name,
if(ActualView->NbSS){
nb = List_Nbr(ActualView->SS) / ActualView->NbSS ;
for(i = 0 ; i < List_Nbr(ActualView->SS) ; i+=nb)
Stat_ScalarSimplex(3, (double*)List_Pointer(ActualView->SS,i),
Stat_ScalarSimplex(4, (double*)List_Pointer(ActualView->SS,i),
nb-12, (double*)List_Pointer(ActualView->SS,i+12));
}
if(ActualView->NbVS){
nb = List_Nbr(ActualView->VS) / ActualView->NbVS ;
for(i = 0 ; i < List_Nbr(ActualView->VS) ; i+=nb)
Stat_VectorSimplex(3, (double*)List_Pointer(ActualView->VS,i),
Stat_VectorSimplex(4, (double*)List_Pointer(ActualView->VS,i),
nb-12, (double*)List_Pointer(ActualView->VS,i+12));
}
if(ActualView->NbTS){
nb = List_Nbr(ActualView->TS) / ActualView->NbTS ;
for(i = 0 ; i < List_Nbr(ActualView->TS) ; i+=nb)
Stat_TensorSimplex(3, (double*)List_Pointer(ActualView->TS,i),
Stat_TensorSimplex(4, (double*)List_Pointer(ActualView->TS,i),
nb-12, (double*)List_Pointer(ActualView->TS,i+12));
}
......@@ -290,20 +290,13 @@ void CopyViewOptions(Post_View *src, Post_View *dest){
/* S t a t _ X X X S i m p l e x */
/* ------------------------------------------------------------------------ */
void Stat_ScalarSimplex(int dim, double *coord, int N, double *V){
int i,nbnod;
void Stat_ScalarSimplex(int nbnod, double *coord, int N, double *V){
int i;
double *X, *Y, *Z;
switch(dim){
case 0 : nbnod = 1 ; NbPoints++; break;
case 1 : nbnod = 2 ; NbLines++; break;
case 2 : nbnod = 3 ; NbTriangles++; break;
case 3 : nbnod = 4 ; NbTetrahedra++; break;
}
X = &coord[0] ; Y = &coord[nbnod] ; Z = &coord[2*nbnod] ;
if(NbPoints == 1 && NbLines == 1 && NbTriangles == 1 && NbTetrahedra == 1){
if(!NbPoints && !NbLines && !NbTriangles && !NbTetrahedra){
ActualView->Min = V[0];
ActualView->Max = V[0];
ActualView->NbTimeStep = N/nbnod;
......@@ -315,23 +308,23 @@ void Stat_ScalarSimplex(int dim, double *coord, int N, double *V){
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 dim, double *coord, int N, double *V){
void Stat_VectorSimplex(int nbnod, double *coord, int N, double *V){
double l0;
int nbnod, i;
int i;
double *X, *Y, *Z;
switch(dim){
case 0 : nbnod = 1 ; NbPoints++; break;
case 1 : nbnod = 2 ; NbLines++; break;
case 2 : nbnod = 3 ; NbTriangles++; break;
case 3 : nbnod = 4 ; NbTetrahedra++; break;
}
X = &coord[0] ; Y = &coord[nbnod] ; Z = &coord[2*nbnod] ;
if(NbPoints == 1 && NbLines == 1 && NbTriangles == 1 && NbTetrahedra == 1){
if(!NbPoints && !NbLines && !NbTriangles && !NbTetrahedra){
l0 = sqrt(DSQR(V[0])+DSQR(V[1])+DSQR(V[2]));
ActualView->Min = l0;
ActualView->Max = l0;
......@@ -346,10 +339,15 @@ void Stat_VectorSimplex(int dim, double *coord, int N, double *V){
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 dim, double *coord, int N, double *v){
void Stat_TensorSimplex(int nbnod, double *coord, int N, double *v){
Msg(ERROR, "Tensor Field Views not Implemented Yet");
}
......@@ -362,7 +360,7 @@ extern int Force_ViewNumber;
void Read_View(FILE *file, char *filename){
char str[NAME_STR_L], name[NAME_STR_L];
int nb, format, nbtimestep;
int nb, format;
double version;
while (1) {
......@@ -394,63 +392,64 @@ void Read_View(FILE *file, char *filename){
BeginView(0);
fscanf(file, "%s %d %d %d %d %d %d %d %d %d %d %d %d %d\n",
name, &nbtimestep,
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, "View '%s' (%d TimeSteps): %d %d %d %d %d %d %d %d %d %d %d %d",
name, nbtimestep,
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);
ActualView->Time = List_CreateFromFile(nbtimestep, sizeof(double), file, format);
ActualView->Time = List_CreateFromFile(ActualView->NbTimeStep,
sizeof(double), file, format);
nb = ActualView->NbSP ?
ActualView->NbSP * nbtimestep + ActualView->NbSP * 3 : 0 ;
ActualView->NbSP * ActualView->NbTimeStep + ActualView->NbSP * 3 : 0 ;
ActualView->SP = List_CreateFromFile(nb, sizeof(double), file, format);
nb = ActualView->NbVP ?
ActualView->NbVP * nbtimestep * 3 + ActualView->NbVP * 3 : 0 ;
ActualView->NbVP * ActualView->NbTimeStep * 3 + ActualView->NbVP * 3 : 0 ;
ActualView->VP = List_CreateFromFile(nb, sizeof(double), file, format);
nb = ActualView->NbTP ?
ActualView->NbTP * nbtimestep * 9 + ActualView->NbTP * 3 : 0 ;
ActualView->NbTP * ActualView->NbTimeStep * 9 + ActualView->NbTP * 3 : 0 ;
ActualView->TP = List_CreateFromFile(nb, sizeof(double), file, format);
nb = ActualView->NbSL ?
ActualView->NbSL * nbtimestep * 2 + ActualView->NbSL * 6 : 0 ;
ActualView->NbSL * ActualView->NbTimeStep * 2 + ActualView->NbSL * 6 : 0 ;
ActualView->SL = List_CreateFromFile(nb, sizeof(double), file, format);
nb = ActualView->NbVL ?
ActualView->NbVL * nbtimestep * 2 * 3 + ActualView->NbVL * 6 : 0 ;
ActualView->NbVL * ActualView->NbTimeStep * 2 * 3 + ActualView->NbVL * 6 : 0 ;
ActualView->VL = List_CreateFromFile(nb, sizeof(double), file, format);
nb = ActualView->NbTL ?
ActualView->NbTL * nbtimestep * 2 * 9 + ActualView->NbTL * 6 : 0 ;
ActualView->NbTL * ActualView->NbTimeStep * 2 * 9 + ActualView->NbTL * 6 : 0 ;
ActualView->TL = List_CreateFromFile(nb, sizeof(double), file, format);
nb = ActualView->NbST ?
ActualView->NbST * nbtimestep * 3 + ActualView->NbST * 9 : 0 ;
ActualView->NbST * ActualView->NbTimeStep * 3 + ActualView->NbST * 9 : 0 ;
ActualView->ST = List_CreateFromFile(nb, sizeof(double), file, format);
nb = ActualView->NbVT ?
ActualView->NbVT * nbtimestep * 3 * 3 + ActualView->NbVT * 9 : 0 ;
ActualView->NbVT * ActualView->NbTimeStep * 3 * 3 + ActualView->NbVT * 9 : 0 ;
ActualView->VT = List_CreateFromFile(nb, sizeof(double), file, format);
nb = ActualView->NbTT ?
ActualView->NbTT * nbtimestep * 3 * 9 + ActualView->NbTT * 9 : 0 ;
ActualView->NbTT * ActualView->NbTimeStep * 3 * 9 + ActualView->NbTT * 9 : 0 ;
ActualView->TT = List_CreateFromFile(nb, sizeof(double), file, format);
nb = ActualView->NbSS ?
ActualView->NbSS * nbtimestep * 4 + ActualView->NbSS * 12 : 0 ;
ActualView->NbSS * ActualView->NbTimeStep * 4 + ActualView->NbSS * 12 : 0 ;
ActualView->SS = List_CreateFromFile(nb, sizeof(double), file, format);
nb = ActualView->NbVS ?
ActualView->NbVS * nbtimestep * 4 * 3 + ActualView->NbVS * 12 : 0 ;
ActualView->NbVS * ActualView->NbTimeStep * 4 * 3 + ActualView->NbVS * 12 : 0 ;
ActualView->VS = List_CreateFromFile(nb, sizeof(double), file, format);
nb = ActualView->NbTS ?
ActualView->NbTS * nbtimestep * 4 * 9 + ActualView->NbTS * 12 : 0 ;
ActualView->NbTS * ActualView->NbTimeStep * 4 * 9 + ActualView->NbTS * 12 : 0 ;
ActualView->TS = List_CreateFromFile(nb, sizeof(double), file, format);
Msg(DEBUG, "Read View '%s' (%d TimeSteps): %d %d %d %d %d %d %d %d %d %d %d %d",
name, nbtimestep,
name, ActualView->NbTimeStep,
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),
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment