gmsh-TingyuanDoc  0.1
An Open-Source Timing-driven Analytical Mixed-size FPGA Placer
PViewVertexArrays.cpp File Reference
#include <string.h>
#include <algorithm>
#include "GmshMessage.h"
#include "GmshDefines.h"
#include "onelab.h"
#include "Iso.h"
#include "MEdge.h"
#include "MFace.h"
#include "PView.h"
#include "PViewOptions.h"
#include "PViewData.h"
#include "PViewDataRemote.h"
#include "Numeric.h"
#include "VertexArray.h"
#include "SmoothData.h"
#include "Context.h"
#include "OpenFile.h"
#include "mathEvaluator.h"
#include "Options.h"
#include "StringUtils.h"
#include "fullMatrix.h"
Include dependency graph for PViewVertexArrays.cpp:

Go to the source code of this file.

Classes

class  initPView
 

Functions

static void saturate (int nb, double **val, double vmin, double vmax, int i0=0, int i1=1, int i2=2, int i3=3, int i4=4, int i5=5, int i6=6, int i7=7)
 
static double saturateVector (double *val, int numComp2, double *val2, double min, double max)
 
static SVector3 normal3 (double **xyz, int i0=0, int i1=1, int i2=2)
 
static SVector3 getPointNormal (PView *p, double v)
 
static void getLineNormal (PView *p, double x[2], double y[2], double z[2], double *v, SVector3 n[2], bool computeNormal)
 
static bool getExternalValues (PView *p, int index, int ient, int iele, int numNodes, int numComp, double **val, int &numComp2, double **val2)
 
static void applyGeneralRaise (PView *p, int numNodes, int numComp, double **vals, double **xyz)
 
void changeCoordinates (PView *p, int ient, int iele, int numNodes, int type, int numComp, double **xyz, double **val)
 
static double evalClipPlane (int clip, double x, double y, double z)
 
static double intersectClipPlane (int clip, int numNodes, double **xyz)
 
bool isElementVisible (PViewOptions *opt, int dim, int numNodes, double **xyz)
 
static void addOutlinePoint (PView *p, double **xyz, unsigned int color, bool pre, int i0=0)
 
static void addScalarPoint (PView *p, double **xyz, double **val, bool pre, int i0=0, bool unique=false)
 
static void addOutlineLine (PView *p, double **xyz, unsigned int color, bool pre, int i0=0, int i1=1)
 
static void addScalarLine (PView *p, double **xyz, double **val, bool pre, int i0=0, int i1=1, bool unique=false)
 
static void addOutlineTriangle (PView *p, double **xyz, unsigned int color, bool pre, int i0=0, int i1=1, int i2=2)
 
static void addScalarTriangle (PView *p, double **xyz, double **val, bool pre, int i0=0, int i1=1, int i2=2, bool unique=false, bool skin=false)
 
static void addOutlineQuadrangle (PView *p, double **xyz, unsigned int color, bool pre, int i0=0, int i1=1, int i2=2, int i3=3)
 
static void addScalarQuadrangle (PView *p, double **xyz, double **val, bool pre, int i0=0, int i1=1, int i2=2, int i3=3, bool unique=false)
 
static void addOutlinePolygon (PView *p, double **xyz, unsigned int color, bool pre, int numNodes)
 
static void addScalarPolygon (PView *p, double **xyz, double **val, bool pre, int numNodes)
 
static void addOutlineTetrahedron (PView *p, double **xyz, unsigned int color, bool pre)
 
static void addScalarTetrahedron (PView *p, double **xyz, double **val, bool pre, int i0=0, int i1=1, int i2=2, int i3=3)
 
static void addOutlineHexahedron (PView *p, double **xyz, unsigned int color, bool pre)
 
static void addScalarHexahedron (PView *p, double **xyz, double **val, bool pre)
 
static void addOutlinePrism (PView *p, double **xyz, unsigned int color, bool pre)
 
static void addScalarPrism (PView *p, double **xyz, double **val, bool pre)
 
static void addOutlinePyramid (PView *p, double **xyz, unsigned int color, bool pre)
 
static void addScalarPyramid (PView *p, double **xyz, double **val, bool pre)
 
static void addOutlineTrihedron (PView *p, double **xyz, unsigned int color, bool pre)
 
static void addScalarTrihedron (PView *p, double **xyz, double **val, bool pre, int i0=0, int i1=1, int i2=2, int i3=3, bool unique=false)
 
static void addOutlinePolyhedron (PView *p, double **xyz, unsigned int color, bool pre, int numNodes)
 
static void addScalarPolyhedron (PView *p, double **xyz, double **val, bool pre, int numNodes)
 
static void addOutlineElement (PView *p, int type, double **xyz, bool pre, int numNodes)
 
static void addScalarElement (PView *p, int type, double **xyz, double **val, bool pre, int numNodes)
 
static void addVectorElement (PView *p, int ient, int iele, int numNodes, int type, double **xyz, double **val, bool pre)
 
static void addTriangle (PView *p, PViewOptions *opt, double *x0, double *x1, double *x2, SPoint3 &xx, double val)
 
static void addTensorElement (PView *p, int iEnt, int iEle, int numNodes, int type, double **xyz, double **val, bool pre)
 
static void addElementsInArrays (PView *p, bool preprocessNormalsOnly)
 

Function Documentation

◆ addElementsInArrays()

static void addElementsInArrays ( PView p,
bool  preprocessNormalsOnly 
)
static

Definition at line 1283 of file PViewVertexArrays.cpp.

Referenced by initPView::operator()().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ addOutlineElement()

static void addOutlineElement ( PView p,
int  type,
double **  xyz,
bool  pre,
int  numNodes 
)
static

Definition at line 922 of file PViewVertexArrays.cpp.

Referenced by addElementsInArrays().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ addOutlineHexahedron()

static void addOutlineHexahedron ( PView p,
double **  xyz,
unsigned int  color,
bool  pre 
)
static

Definition at line 763 of file PViewVertexArrays.cpp.

Referenced by addOutlineElement().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ addOutlineLine()

static void addOutlineLine ( PView p,
double **  xyz,
unsigned int  color,
bool  pre,
int  i0 = 0,
int  i1 = 1 
)
static

Definition at line 344 of file PViewVertexArrays.cpp.

Referenced by addOutlineElement().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ addOutlinePoint()

static void addOutlinePoint ( PView p,
double **  xyz,
unsigned int  color,
bool  pre,
int  i0 = 0 
)
static

Definition at line 315 of file PViewVertexArrays.cpp.

Referenced by addOutlineElement().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ addOutlinePolygon()

static void addOutlinePolygon ( PView p,
double **  xyz,
unsigned int  color,
bool  pre,
int  numNodes 
)
static

Definition at line 645 of file PViewVertexArrays.cpp.

Referenced by addOutlineElement().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ addOutlinePolyhedron()

static void addOutlinePolyhedron ( PView p,
double **  xyz,
unsigned int  color,
bool  pre,
int  numNodes 
)
static

Definition at line 877 of file PViewVertexArrays.cpp.

Referenced by addOutlineElement().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ addOutlinePrism()

static void addOutlinePrism ( PView p,
double **  xyz,
unsigned int  color,
bool  pre 
)
static

Definition at line 797 of file PViewVertexArrays.cpp.

Referenced by addOutlineElement().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ addOutlinePyramid()

static void addOutlinePyramid ( PView p,
double **  xyz,
unsigned int  color,
bool  pre 
)
static

Definition at line 833 of file PViewVertexArrays.cpp.

Referenced by addOutlineElement().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ addOutlineQuadrangle()

static void addOutlineQuadrangle ( PView p,
double **  xyz,
unsigned int  color,
bool  pre,
int  i0 = 0,
int  i1 = 1,
int  i2 = 2,
int  i3 = 3 
)
static

Definition at line 595 of file PViewVertexArrays.cpp.

Referenced by addOutlineElement(), addOutlineHexahedron(), addOutlinePrism(), addOutlinePyramid(), and addOutlineTrihedron().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ addOutlineTetrahedron()

static void addOutlineTetrahedron ( PView p,
double **  xyz,
unsigned int  color,
bool  pre 
)
static

Definition at line 695 of file PViewVertexArrays.cpp.

Referenced by addOutlineElement().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ addOutlineTriangle()

static void addOutlineTriangle ( PView p,
double **  xyz,
unsigned int  color,
bool  pre,
int  i0 = 0,
int  i1 = 1,
int  i2 = 2 
)
static

Definition at line 440 of file PViewVertexArrays.cpp.

Referenced by addOutlineElement(), addOutlinePolygon(), addOutlinePolyhedron(), addOutlinePrism(), addOutlinePyramid(), and addOutlineTetrahedron().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ addOutlineTrihedron()

static void addOutlineTrihedron ( PView p,
double **  xyz,
unsigned int  color,
bool  pre 
)
static

Definition at line 864 of file PViewVertexArrays.cpp.

Referenced by addOutlineElement().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ addScalarElement()

static void addScalarElement ( PView p,
int  type,
double **  xyz,
double **  val,
bool  pre,
int  numNodes 
)
static

Definition at line 951 of file PViewVertexArrays.cpp.

Referenced by addElementsInArrays(), addTensorElement(), and addVectorElement().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ addScalarHexahedron()

static void addScalarHexahedron ( PView p,
double **  xyz,
double **  val,
bool  pre 
)
static

Definition at line 774 of file PViewVertexArrays.cpp.

Referenced by addScalarElement().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ addScalarLine()

static void addScalarLine ( PView p,
double **  xyz,
double **  val,
bool  pre,
int  i0 = 0,
int  i1 = 1,
bool  unique = false 
)
static

Definition at line 363 of file PViewVertexArrays.cpp.

Referenced by addScalarElement(), addScalarPolygon(), addScalarQuadrangle(), and addScalarTriangle().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ addScalarPoint()

static void addScalarPoint ( PView p,
double **  xyz,
double **  val,
bool  pre,
int  i0 = 0,
bool  unique = false 
)
static

Definition at line 324 of file PViewVertexArrays.cpp.

Referenced by addScalarElement(), and addScalarLine().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ addScalarPolygon()

static void addScalarPolygon ( PView p,
double **  xyz,
double **  val,
bool  pre,
int  numNodes 
)
static

Definition at line 652 of file PViewVertexArrays.cpp.

Referenced by addScalarElement().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ addScalarPolyhedron()

static void addScalarPolyhedron ( PView p,
double **  xyz,
double **  val,
bool  pre,
int  numNodes 
)
static

Definition at line 910 of file PViewVertexArrays.cpp.

Referenced by addScalarElement().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ addScalarPrism()

static void addScalarPrism ( PView p,
double **  xyz,
double **  val,
bool  pre 
)
static

Definition at line 810 of file PViewVertexArrays.cpp.

Referenced by addScalarElement().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ addScalarPyramid()

static void addScalarPyramid ( PView p,
double **  xyz,
double **  val,
bool  pre 
)
static

Definition at line 843 of file PViewVertexArrays.cpp.

Referenced by addScalarElement().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ addScalarQuadrangle()

static void addScalarQuadrangle ( PView p,
double **  xyz,
double **  val,
bool  pre,
int  i0 = 0,
int  i1 = 1,
int  i2 = 2,
int  i3 = 3,
bool  unique = false 
)
static

Definition at line 624 of file PViewVertexArrays.cpp.

Referenced by addScalarElement(), addScalarHexahedron(), addScalarPrism(), addScalarPyramid(), and addScalarTrihedron().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ addScalarTetrahedron()

static void addScalarTetrahedron ( PView p,
double **  xyz,
double **  val,
bool  pre,
int  i0 = 0,
int  i1 = 1,
int  i2 = 2,
int  i3 = 3 
)
static

Definition at line 703 of file PViewVertexArrays.cpp.

Referenced by addScalarElement(), addScalarHexahedron(), addScalarPolyhedron(), addScalarPrism(), and addScalarPyramid().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ addScalarTriangle()

static void addScalarTriangle ( PView p,
double **  xyz,
double **  val,
bool  pre,
int  i0 = 0,
int  i1 = 1,
int  i2 = 2,
bool  unique = false,
bool  skin = false 
)
static

Definition at line 468 of file PViewVertexArrays.cpp.

Referenced by addScalarElement(), addScalarPolygon(), addScalarPrism(), addScalarPyramid(), addScalarQuadrangle(), and addScalarTetrahedron().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ addScalarTrihedron()

static void addScalarTrihedron ( PView p,
double **  xyz,
double **  val,
bool  pre,
int  i0 = 0,
int  i1 = 1,
int  i2 = 2,
int  i3 = 3,
bool  unique = false 
)
static

Definition at line 870 of file PViewVertexArrays.cpp.

Referenced by addScalarElement().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ addTensorElement()

static void addTensorElement ( PView p,
int  iEnt,
int  iEle,
int  numNodes,
int  type,
double **  xyz,
double **  val,
bool  pre 
)
static

Definition at line 1127 of file PViewVertexArrays.cpp.

Referenced by addElementsInArrays().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ addTriangle()

static void addTriangle ( PView p,
PViewOptions opt,
double *  x0,
double *  x1,
double *  x2,
SPoint3 xx,
double  val 
)
static

Definition at line 1098 of file PViewVertexArrays.cpp.

Referenced by addTensorElement().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ addVectorElement()

static void addVectorElement ( PView p,
int  ient,
int  iele,
int  numNodes,
int  type,
double **  xyz,
double **  val,
bool  pre 
)
static

Definition at line 969 of file PViewVertexArrays.cpp.

Referenced by addElementsInArrays(), and addTensorElement().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ applyGeneralRaise()

static void applyGeneralRaise ( PView p,
int  numNodes,
int  numComp,
double **  vals,
double **  xyz 
)
static

Definition at line 176 of file PViewVertexArrays.cpp.

Referenced by changeCoordinates().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ changeCoordinates()

void changeCoordinates ( PView p,
int  ient,
int  iele,
int  numNodes,
int  type,
int  numComp,
double **  xyz,
double **  val 
)

Definition at line 193 of file PViewVertexArrays.cpp.

Referenced by addElementsInArrays(), and drawGlyphs().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ evalClipPlane()

static double evalClipPlane ( int  clip,
double  x,
double  y,
double  z 
)
static

Definition at line 274 of file PViewVertexArrays.cpp.

Referenced by intersectClipPlane().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getExternalValues()

static bool getExternalValues ( PView p,
int  index,
int  ient,
int  iele,
int  numNodes,
int  numComp,
double **  val,
int &  numComp2,
double **  val2 
)
static

Definition at line 133 of file PViewVertexArrays.cpp.

Referenced by addVectorElement(), and changeCoordinates().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getLineNormal()

static void getLineNormal ( PView p,
double  x[2],
double  y[2],
double  z[2],
double *  v,
SVector3  n[2],
bool  computeNormal 
)
static

Definition at line 89 of file PViewVertexArrays.cpp.

Referenced by addOutlineLine(), addOutlineQuadrangle(), addOutlineTriangle(), addScalarLine(), addScalarTriangle(), and addVectorElement().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getPointNormal()

static SVector3 getPointNormal ( PView p,
double  v 
)
static

Definition at line 75 of file PViewVertexArrays.cpp.

Referenced by addOutlinePoint(), addScalarLine(), and addScalarPoint().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ intersectClipPlane()

static double intersectClipPlane ( int  clip,
int  numNodes,
double **  xyz 
)
static

Definition at line 282 of file PViewVertexArrays.cpp.

Referenced by isElementVisible().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ isElementVisible()

bool isElementVisible ( PViewOptions opt,
int  dim,
int  numNodes,
double **  xyz 
)

Definition at line 292 of file PViewVertexArrays.cpp.

Referenced by addElementsInArrays().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ normal3()

static SVector3 normal3 ( double **  xyz,
int  i0 = 0,
int  i1 = 1,
int  i2 = 2 
)
static

Definition at line 64 of file PViewVertexArrays.cpp.

Referenced by addOutlineQuadrangle(), addOutlineTriangle(), addScalarTriangle(), and changeCoordinates().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ saturate()

static void saturate ( int  nb,
double **  val,
double  vmin,
double  vmax,
int  i0 = 0,
int  i1 = 1,
int  i2 = 2,
int  i3 = 3,
int  i4 = 4,
int  i5 = 5,
int  i6 = 6,
int  i7 = 7 
)
static

Definition at line 28 of file PViewVertexArrays.cpp.

Referenced by addScalarLine(), addScalarPoint(), addScalarTetrahedron(), and addScalarTriangle().

Here is the caller graph for this function:

◆ saturateVector()

static double saturateVector ( double *  val,
int  numComp2,
double *  val2,
double  min,
double  max 
)
static

Definition at line 41 of file PViewVertexArrays.cpp.

Referenced by addVectorElement().

Here is the call graph for this function:
Here is the caller graph for this function: