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

work on new postpro

parent 87ac83fb
No related branches found
No related tags found
No related merge requests found
// $Id: PViewData.cpp,v 1.3 2007-08-25 10:58:34 geuzaine Exp $ // $Id: PViewData.cpp,v 1.4 2007-08-25 19:19:49 geuzaine Exp $
// //
// Copyright (C) 1997-2007 C. Geuzaine, J.-F. Remacle // Copyright (C) 1997-2007 C. Geuzaine, J.-F. Remacle
// //
...@@ -45,7 +45,7 @@ PViewDataList::PViewDataList(bool allocate) ...@@ -45,7 +45,7 @@ PViewDataList::PViewDataList(bool allocate)
NbSY2(0), SY2(0), NbVY2(0), VY2(0), NbTY2(0), TY2(0), NbSY2(0), SY2(0), NbVY2(0), VY2(0), NbTY2(0), TY2(0),
NbT2(0), T2D(0), T2C(0), NbT3(0), T3D(0), T3C(0), NbT2(0), T2D(0), T2C(0), NbT3(0), T3D(0), T3C(0),
_lastElement(-1), _lastDimension(-1), _lastNumNodes(-1), _lastElement(-1), _lastDimension(-1), _lastNumNodes(-1),
_lastNumComponents(-1), _lastXYZ(0), _lastVal(0) _lastNumComponents(-1), _lastNumEdges(-1), _lastXYZ(0), _lastVal(0)
{ {
for(int i = 0; i < 24; i++) _index[i] = 0; for(int i = 0; i < 24; i++) _index[i] = 0;
...@@ -228,12 +228,13 @@ void PViewDataList::_stat(List_T *list, int nbcomp, int nbelm, int nbnod) ...@@ -228,12 +228,13 @@ void PViewDataList::_stat(List_T *list, int nbcomp, int nbelm, int nbnod)
} }
} }
void PViewDataList::_setLast(int ele, int dim, int nbnod, int nbcomp, void PViewDataList::_setLast(int ele, int dim, int nbnod, int nbcomp, int nbedg,
List_T *list, int nblist) List_T *list, int nblist)
{ {
_lastDimension = dim; _lastDimension = dim;
_lastNumNodes = nbnod; _lastNumNodes = nbnod;
_lastNumComponents = nbcomp; _lastNumComponents = nbcomp;
_lastNumEdges = nbedg;
int nb = List_Nbr(list) / nblist; int nb = List_Nbr(list) / nblist;
_lastXYZ = (double*)List_Pointer_Fast(list, ele * nb); _lastXYZ = (double*)List_Pointer_Fast(list, ele * nb);
_lastVal = (double*)List_Pointer_Fast(list, ele * nb + 3 * _lastNumNodes); _lastVal = (double*)List_Pointer_Fast(list, ele * nb + 3 * _lastNumNodes);
...@@ -243,44 +244,44 @@ void PViewDataList::_setLast(int ele) ...@@ -243,44 +244,44 @@ void PViewDataList::_setLast(int ele)
{ {
_lastElement = ele; _lastElement = ele;
if(ele < _index[2]){ // points if(ele < _index[2]){ // points
if(ele < _index[0]) _setLast(ele, 0, 1, 1, SP, NbSP); if(ele < _index[0]) _setLast(ele, 0, 1, 1, 0, SP, NbSP);
else if(ele < _index[1]) _setLast(ele - _index[0], 0, 1, 3, VP, NbVP); else if(ele < _index[1]) _setLast(ele - _index[0], 0, 1, 3, 0, VP, NbVP);
else _setLast(ele - _index[1], 0, 1, 9, TP, NbTP); else _setLast(ele - _index[1], 0, 1, 9, 0, TP, NbTP);
} }
else if(ele < _index[5]){ // lines else if(ele < _index[5]){ // lines
if(ele < _index[3]) _setLast(ele - _index[2], 1, 2, 1, SL, NbSL); if(ele < _index[3]) _setLast(ele - _index[2], 1, 2, 1, 1, SL, NbSL);
else if(ele < _index[4]) _setLast(ele - _index[3], 1, 2, 3, VL, NbVL); else if(ele < _index[4]) _setLast(ele - _index[3], 1, 2, 3, 1, VL, NbVL);
else _setLast(ele - _index[4], 1, 2, 9, TL, NbTL); else _setLast(ele - _index[4], 1, 2, 9, 1, TL, NbTL);
} }
else if(ele < _index[8]){ // triangles else if(ele < _index[8]){ // triangles
if(ele < _index[6]) _setLast(ele - _index[5], 2, 3, 1, ST, NbST); if(ele < _index[6]) _setLast(ele - _index[5], 2, 3, 1, 3, ST, NbST);
else if(ele < _index[7]) _setLast(ele - _index[6], 2, 3, 3, VT, NbVT); else if(ele < _index[7]) _setLast(ele - _index[6], 2, 3, 3, 3, VT, NbVT);
else _setLast(ele - _index[7], 2, 3, 9, TT, NbTT); else _setLast(ele - _index[7], 2, 3, 9, 3, TT, NbTT);
} }
else if(ele < _index[11]){ // quadrangles else if(ele < _index[11]){ // quadrangles
if(ele < _index[9]) _setLast(ele - _index[8], 2, 4, 1, SQ, NbSQ); if(ele < _index[9]) _setLast(ele - _index[8], 2, 4, 1, 4, SQ, NbSQ);
else if(ele < _index[10]) _setLast(ele - _index[9], 2, 4, 3, VQ, NbVQ); else if(ele < _index[10]) _setLast(ele - _index[9], 2, 4, 3, 4, VQ, NbVQ);
else _setLast(ele - _index[10], 2, 4, 9, TQ, NbTQ); else _setLast(ele - _index[10], 2, 4, 9, 4, TQ, NbTQ);
} }
else if(ele < _index[14]){ // tetrahedra else if(ele < _index[14]){ // tetrahedra
if(ele < _index[12]) _setLast(ele - _index[11], 3, 4, 1, SS, NbSS); if(ele < _index[12]) _setLast(ele - _index[11], 3, 4, 1, 6, SS, NbSS);
else if(ele < _index[13]) _setLast(ele - _index[12], 3, 4, 3, VS, NbVS); else if(ele < _index[13]) _setLast(ele - _index[12], 3, 4, 3, 6, VS, NbVS);
else _setLast(ele - _index[13], 3, 2, 9, TS, NbTS); else _setLast(ele - _index[13], 3, 2, 9, 6, TS, NbTS);
} }
else if(ele < _index[17]){ // hexahedra else if(ele < _index[17]){ // hexahedra
if(ele < _index[15]) _setLast(ele - _index[14], 3, 8, 1, SH, NbSH); if(ele < _index[15]) _setLast(ele - _index[14], 3, 8, 1, 12, SH, NbSH);
else if(ele < _index[16]) _setLast(ele - _index[15], 3, 8, 3, VH, NbVH); else if(ele < _index[16]) _setLast(ele - _index[15], 3, 8, 3, 12, VH, NbVH);
else _setLast(ele - _index[16], 3, 8, 9, TH, NbTH); else _setLast(ele - _index[16], 3, 8, 9, 12, TH, NbTH);
} }
else if(ele < _index[20]){ // prisms else if(ele < _index[20]){ // prisms
if(ele < _index[18]) _setLast(ele - _index[17], 3, 6, 1, SI, NbSI); if(ele < _index[18]) _setLast(ele - _index[17], 3, 6, 1, 9, SI, NbSI);
else if(ele < _index[19]) _setLast(ele - _index[18], 3, 6, 3, VI, NbVI); else if(ele < _index[19]) _setLast(ele - _index[18], 3, 6, 3, 9, VI, NbVI);
else _setLast(ele - _index[19], 3, 6, 9, TI, NbTI); else _setLast(ele - _index[19], 3, 6, 9, 9, TI, NbTI);
} }
else{ // pyramids else{ // pyramids
if(ele < _index[21]) _setLast(ele - _index[20], 3, 5, 1, SY, NbSY); if(ele < _index[21]) _setLast(ele - _index[20], 3, 5, 1, 15, SY, NbSY);
else if(ele < _index[22]) _setLast(ele - _index[21], 3, 5, 3, VY, NbVY); else if(ele < _index[22]) _setLast(ele - _index[21], 3, 5, 3, 15, VY, NbVY);
else _setLast(ele - _index[22], 3, 5, 9, TY, NbTY); else _setLast(ele - _index[22], 3, 5, 9, 15, TY, NbTY);
} }
} }
...@@ -317,3 +318,9 @@ void PViewDataList::getValue(int ele, int nod, int comp, int step, double &val) ...@@ -317,3 +318,9 @@ void PViewDataList::getValue(int ele, int nod, int comp, int step, double &val)
nod * _lastNumComponents + nod * _lastNumComponents +
comp]; comp];
} }
int PViewDataList::getNumEdges(int ele)
{
if(ele != _lastElement) _setLast(ele);
return _lastNumEdges;
}
...@@ -59,6 +59,7 @@ class PViewData { ...@@ -59,6 +59,7 @@ class PViewData {
virtual void getNode(int ele, int nod, double &x, double &y, double &z) = 0; virtual void getNode(int ele, int nod, double &x, double &y, double &z) = 0;
virtual int getNumComponents(int ele) = 0; virtual int getNumComponents(int ele) = 0;
virtual void getValue(int ele, int node, int comp, int step, double &val) = 0; virtual void getValue(int ele, int node, int comp, int step, double &val) = 0;
virtual int getNumEdges(int ele) = 0;
virtual bool read(std::string filename){} virtual bool read(std::string filename){}
}; };
...@@ -95,12 +96,14 @@ class PViewDataList : public PViewData { ...@@ -95,12 +96,14 @@ class PViewDataList : public PViewData {
std::map<int, int> *DisplayListsOfGrains; // For LMGC90, grains shapes std::map<int, int> *DisplayListsOfGrains; // For LMGC90, grains shapes
private: private:
int _index[24]; int _index[24];
int _lastElement, _lastDimension, _lastNumNodes, _lastNumComponents; int _lastElement, _lastDimension;
int _lastNumNodes, _lastNumComponents, _lastNumEdges;
double *_lastXYZ, *_lastVal; double *_lastXYZ, *_lastVal;
void _stat(List_T *D, List_T *C, int nb); void _stat(List_T *D, List_T *C, int nb);
void _stat(List_T *list, int nbcomp, int nbelm, int nbnod); void _stat(List_T *list, int nbcomp, int nbelm, int nbnod);
void _setLast(int ele); void _setLast(int ele);
void _setLast(int ele, int dim, int nbnod, int nbcomp, List_T *list, int nblist); void _setLast(int ele, int dim, int nbnod, int nbcomp, int nbedg,
List_T *list, int nblist);
public: public:
PViewDataList(bool allocate=true); PViewDataList(bool allocate=true);
~PViewDataList(); ~PViewDataList();
...@@ -128,6 +131,7 @@ class PViewDataList : public PViewData { ...@@ -128,6 +131,7 @@ class PViewDataList : public PViewData {
void getNode(int ele, int nod, double &x, double &y, double &z); void getNode(int ele, int nod, double &x, double &y, double &z);
int getNumComponents(int ele); int getNumComponents(int ele);
void getValue(int ele, int node, int comp, int step, double &val); void getValue(int ele, int node, int comp, int step, double &val);
int getNumEdges(int ele);
bool read(std::string filename); bool read(std::string filename);
}; };
...@@ -149,6 +153,7 @@ class PViewDataGModel : public PViewData { ...@@ -149,6 +153,7 @@ class PViewDataGModel : public PViewData {
void getNode(int ele, int nod, double &x, double &y, double &z){} void getNode(int ele, int nod, double &x, double &y, double &z){}
int getNumComponents(int ele){ return 1; } int getNumComponents(int ele){ return 1; }
void getValue(int ele, int node, int comp, int step, double &val){} void getValue(int ele, int node, int comp, int step, double &val){}
int getNumEdges(int ele){ return 0; }
}; };
#endif #endif
// $Id: PViewOptions.cpp,v 1.3 2007-08-25 10:58:34 geuzaine Exp $ // $Id: PViewOptions.cpp,v 1.4 2007-08-25 19:19:49 geuzaine Exp $
// //
// Copyright (C) 1997-2007 C. Geuzaine, J.-F. Remacle // Copyright (C) 1997-2007 C. Geuzaine, J.-F. Remacle
// //
...@@ -46,14 +46,16 @@ PViewOptions::PViewOptions() ...@@ -46,14 +46,16 @@ PViewOptions::PViewOptions()
Normals = Tangents = 0.; Normals = Tangents = 0.;
Visible = 1; Visible = 1;
IntervalsType = Continuous; IntervalsType = Continuous;
//IntervalsType = Discrete;
NbIso = 15; NbIso = 15;
ArrowSizeProportional = 0; ArrowSizeProportional = 0;
Light = LightTwoSide = 1; Light = LightTwoSide = 1;
LightLines = SmoothNormals = 0; LightLines = 1;
AngleSmoothNormals = 90; SmoothNormals = 0;
AngleSmoothNormals = 30;
SaturateValues = 0; SaturateValues = 0;
FakeTransparency = 0; FakeTransparency = 0;
ShowElement = 0; ShowElement = 1;
ShowTime = ShowScale = 1; ShowTime = ShowScale = 1;
ScaleType = Default; ScaleType = Default;
RangeType = Linear; RangeType = Linear;
...@@ -66,12 +68,26 @@ PViewOptions::PViewOptions() ...@@ -66,12 +68,26 @@ PViewOptions::PViewOptions()
DrawScalars = DrawVectors = DrawTensors = 1; DrawScalars = DrawVectors = DrawTensors = 1;
Boundary = 0; Boundary = 0;
PointType = LineType = 0; PointType = LineType = 0;
PointSize = LineWidth = 2; PointSize = LineWidth = 1;
UseStipple = 0; UseStipple = 0;
ExternalViewIndex = ViewIndexForGenRaise = -1; ExternalViewIndex = ViewIndexForGenRaise = -1;
UseGenRaise = 0; UseGenRaise = 0;
GenRaiseFactor = 0.; GenRaiseFactor = 0.;
color.point = 0;
color.line = 0;
color.triangle = 0;
color.quadrangle = 0;
color.tetrahedron = 0;
color.hexahedron = 0;
color.prism = 0;
color.pyramid = 0;
color.tangents = 0;
color.normals = 0;
color.text2d = 0;
color.text3d = 0;
color.axes = 0;
ColorTable_InitParam(2, &CT); ColorTable_InitParam(2, &CT);
ColorTable_Recompute(&CT); ColorTable_Recompute(&CT);
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment