Overture  Version 25
Macros | Functions
grid3d.C File Reference
#include "GL_GraphicsInterface.h"
#include "GraphicsParameters.h"
#include "CompositeGrid.h"
#include "PlotIt.h"
#include "xColours.h"
#include "ParallelUtility.h"
Include dependency graph for grid3d.C:

Macros

#define FOR_3(i1, i2, i3, I1, I2, I3)   for( i3=I3.getBase(); i3<=I3.getBound(); i3++ ) for( i2=I2.getBase(); i2<=I2.getBound(); i2++ ) for( i1=I1.getBase(); i1<=I1.getBound(); i1++ )
 
#define FOR_3WithStride(i1, i2, i3, m1, m2, m3, I1, I2, I3)   i1Bound=I1.getBound(); i2Bound=I2.getBound(); i3Bound=I3.getBound(); for( i3=I3.getBase(); i3<=i3Bound; i3+=m3 ) for( i2=I2.getBase(); i2<=i2Bound; i2+=m2 ) for( i1=I1.getBase(); i1<=i1Bound; i1+=m1 )
 
#define XR(i1, i2, i3, m, n)   xr[n][m]
 
#define MASK_UIB(i1, i2, i3)   (MASK(i1,i2,i3)==0 || (!psp.plotInteriorBoundaryPoints && (MASK(i1,i2,i3) & ISinteriorBoundaryPoint)) )
 
#define MASK_CNR(i1, i2, i3)   (mask(i1,i2,i3) && !(mask(i1,i2,i3) & isHiddenByRefinement))
 
#define MASK_DNR(i1, i2, i3)   (mask(i1,i2,i3)>0 && !(mask(i1,i2,i3) & isHiddenByRefinement))
 
#define MASK_D(i1, i2, i3)   (mask(i1,i2,i3)>0)
 
#define MASK_DNIB(i1, i2, i3)   (mask(i1,i2,i3)>0 && !(mask(i1,i2,i3) & ISinteriorBoundaryPoint) )
 
#define MASK_DINIB(i1, i2, i3)   (mask(i1,i2,i3)!=0 && !(mask(i1,i2,i3) & ISinteriorBoundaryPoint) )
 
#define XSCALE(x)   (psp.xScaleFactor*(x))
 
#define YSCALE(y)   (psp.yScaleFactor*(y))
 
#define ZSCALE(z)   (psp.zScaleFactor*(z))
 
#define MASK(i0, i1, i2)   maskp[((i0)+maskDim0*((i1)+maskDim1*((i2))))]
 
#define VERTEX0(i0, i1, i2)   XSCALE(xa+dx0*(i0-i0a))
 
#define VERTEX1(i0, i1, i2)   YSCALE(ya+dy0*(i1-i1a))
 
#define VERTEX2(i0, i1, i2)   ZSCALE(za+dz0*(i2-i2a))
 
#define VERTEX0(i0, i1, i2)   XSCALE(vertexp[((i0)+vertexDim0*((i1)+vertexDim1*((i2)+vertexDim2*((0)))))])
 
#define VERTEX1(i0, i1, i2)   YSCALE(vertexp[((i0)+vertexDim0*((i1)+vertexDim1*((i2)+vertexDim2*((1)))))])
 
#define VERTEX2(i0, i1, i2)   ZSCALE(vertexp[((i0)+vertexDim0*((i1)+vertexDim1*((i2)+vertexDim2*((2)))))])
 
#define FOR_3(i1, i2, i3, I1, I2, I3)   for( i3=I3.getBase(); i3<=I3.getBound(); i3++ ) for( i2=I2.getBase(); i2<=I2.getBound(); i2++ ) for( i1=I1.getBase(); i1<=I1.getBound(); i1++ )
 
#define ForBoundary(side, axis)   for( axis=0; axis<gc.numberOfDimensions(); axis++ ) for( side=0; side<=1; side++ )
 
#define CFACE(n1, n2, n3, i1, i2, i3)   ( MASK(i1 ,i2 ,i3 )!=0 && MASK(i1+n1,i2+n2,i3 )!=0 && MASK(i1 ,i2+n2,i3+n3)!=0 && MASK(i1+n1,i2 ,i3+n3)!=0 )
 
#define BND(n1, n2, n3, i1, i2, i3)   ( MASK(i1 ,i2 ,i3 )>0 || MASK(i1+n1,i2+n2,i3 )>0 || MASK(i1 ,i2+n2,i3+n3)>0 || MASK(i1+n1,i2 ,i3+n3)>0 )
 
#define IFACE(m1, m2, m3, n1, n2, n3, i1, i2, i3)   ( MASK(i1+m1 ,i2+m2 ,i3+m3 )==0 || MASK(i1+m1+n1,i2+m2+n2,i3+m3 )==0 || MASK(i1+m1 ,i2+m2+n2,i3+m3+n3)==0 || MASK(i1+m1+n1,i2+m2 ,i3+m3+n3)==0 || MASK(i1-m1 ,i2-m2 ,i3-m3 )==0 || MASK(i1-m1+n1,i2-m2+n2,i3-m3 )==0 || MASK(i1-m1 ,i2-m2+n2,i3-m3+n3)==0 || MASK(i1-m1+n1,i2-m2 ,i3-m3+n3)==0 )
 
#define MASK(i0, i1, i2)   maskp[((i0)+maskDim0*((i1)+maskDim1*((i2))))]
 
#define VERTEX0(i0, i1, i2)   XSCALE(xa+dx0*(i0-i0a))
 
#define VERTEX1(i0, i1, i2)   YSCALE(ya+dy0*(i1-i1a))
 
#define VERTEX2(i0, i1, i2)   ZSCALE(za+dz0*(i2-i2a))
 
#define CENTER0(i0, i1, i2)   XSCALE(xa+dx0*(i0-i0a))
 
#define CENTER1(i0, i1, i2)   YSCALE(ya+dy0*(i1-i1a))
 
#define CENTER2(i0, i1, i2)   ZSCALE(za+dz0*(i2-i2a))
 
#define IP(i0, i1)   ipp[i0+ipDim0*(i1)]
 
#define VERTEX0(i0, i1, i2)   XSCALE(vertexp[((i0)+vertexDim0*((i1)+vertexDim1*((i2)+vertexDim2*((0)))))])
 
#define VERTEX1(i0, i1, i2)   YSCALE(vertexp[((i0)+vertexDim0*((i1)+vertexDim1*((i2)+vertexDim2*((1)))))])
 
#define VERTEX2(i0, i1, i2)   ZSCALE(vertexp[((i0)+vertexDim0*((i1)+vertexDim1*((i2)+vertexDim2*((2)))))])
 
#define CENTER0(i0, i1, i2)   XSCALE(centerp[i0+centerDim0*(i1+centerDim1*(i2+centerDim2*(0)))])
 
#define CENTER1(i0, i1, i2)   YSCALE(centerp[i0+centerDim0*(i1+centerDim1*(i2+centerDim2*(1)))])
 
#define CENTER2(i0, i1, i2)   ZSCALE(centerp[i0+centerDim0*(i1+centerDim1*(i2+centerDim2*(2)))])
 
#define IP(i0, i1)   ipp[i0+ipDim0*(i1)]
 
#define VERTEX0(i0, i1, i2)   XSCALE(xa+dx0*(i0-i0a))
 
#define VERTEX1(i0, i1, i2)   YSCALE(ya+dy0*(i1-i1a))
 
#define VERTEX2(i0, i1, i2)   ZSCALE(za+dz0*(i2-i2a))
 
#define VERTEX0(i0, i1, i2)   XSCALE(vertexp[((i0)+vertexDim0*((i1)+vertexDim1*((i2)+vertexDim2*((0)))))])
 
#define VERTEX1(i0, i1, i2)   YSCALE(vertexp[((i0)+vertexDim0*((i1)+vertexDim1*((i2)+vertexDim2*((1)))))])
 
#define VERTEX2(i0, i1, i2)   ZSCALE(vertexp[((i0)+vertexDim0*((i1)+vertexDim1*((i2)+vertexDim2*((2)))))])
 

Functions

int collectInterpolationData (int srcProcessor, int destProcessor, int grid, CompositeGrid &cg, intSerialArray &interpolationPoint, intSerialArray &interpoleeGrid)
 
void getNormal (const realArray &x, const int iv[3], const int axis, real normal[3], const int &recursion=TRUE)
 
void getNormal (const real *xp, int xDim0, int xDim1, int xDim2, int *xBase, int *xBound, const int iv[3], const int axis, const int ap1, const int ap2, real normal[3], const int &recursion=TRUE)
 

Macro Definition Documentation

#define BND (   n1,
  n2,
  n3,
  i1,
  i2,
  i3 
)    ( MASK(i1 ,i2 ,i3 )>0 || MASK(i1+n1,i2+n2,i3 )>0 || MASK(i1 ,i2+n2,i3+n3)>0 || MASK(i1+n1,i2 ,i3+n3)>0 )

Referenced by PlotIt::grid3d().

#define CENTER0 (   i0,
  i1,
  i2 
)    XSCALE(xa+dx0*(i0-i0a))
#define CENTER0 (   i0,
  i1,
  i2 
)    XSCALE(centerp[i0+centerDim0*(i1+centerDim1*(i2+centerDim2*(0)))])
#define CENTER1 (   i0,
  i1,
  i2 
)    YSCALE(ya+dy0*(i1-i1a))
#define CENTER1 (   i0,
  i1,
  i2 
)    YSCALE(centerp[i0+centerDim0*(i1+centerDim1*(i2+centerDim2*(1)))])
#define CENTER2 (   i0,
  i1,
  i2 
)    ZSCALE(za+dz0*(i2-i2a))
#define CENTER2 (   i0,
  i1,
  i2 
)    ZSCALE(centerp[i0+centerDim0*(i1+centerDim1*(i2+centerDim2*(2)))])
#define CFACE (   n1,
  n2,
  n3,
  i1,
  i2,
  i3 
)    ( MASK(i1 ,i2 ,i3 )!=0 && MASK(i1+n1,i2+n2,i3 )!=0 && MASK(i1 ,i2+n2,i3+n3)!=0 && MASK(i1+n1,i2 ,i3+n3)!=0 )

Referenced by PlotIt::grid3d().

#define FOR_3 (   i1,
  i2,
  i3,
  I1,
  I2,
  I3 
)    for( i3=I3.getBase(); i3<=I3.getBound(); i3++ ) for( i2=I2.getBase(); i2<=I2.getBound(); i2++ ) for( i1=I1.getBase(); i1<=I1.getBound(); i1++ )
#define FOR_3 (   i1,
  i2,
  i3,
  I1,
  I2,
  I3 
)    for( i3=I3.getBase(); i3<=I3.getBound(); i3++ ) for( i2=I2.getBase(); i2<=I2.getBound(); i2++ ) for( i1=I1.getBase(); i1<=I1.getBound(); i1++ )
#define FOR_3WithStride (   i1,
  i2,
  i3,
  m1,
  m2,
  m3,
  I1,
  I2,
  I3 
)    i1Bound=I1.getBound(); i2Bound=I2.getBound(); i3Bound=I3.getBound(); for( i3=I3.getBase(); i3<=i3Bound; i3+=m3 ) for( i2=I2.getBase(); i2<=i2Bound; i2+=m2 ) for( i1=I1.getBase(); i1<=i1Bound; i1+=m1 )

Referenced by PlotIt::grid3d().

#define ForBoundary (   side,
  axis 
)    for( axis=0; axis<gc.numberOfDimensions(); axis++ ) for( side=0; side<=1; side++ )
#define IFACE (   m1,
  m2,
  m3,
  n1,
  n2,
  n3,
  i1,
  i2,
  i3 
)    ( MASK(i1+m1 ,i2+m2 ,i3+m3 )==0 || MASK(i1+m1+n1,i2+m2+n2,i3+m3 )==0 || MASK(i1+m1 ,i2+m2+n2,i3+m3+n3)==0 || MASK(i1+m1+n1,i2+m2 ,i3+m3+n3)==0 || MASK(i1-m1 ,i2-m2 ,i3-m3 )==0 || MASK(i1-m1+n1,i2-m2+n2,i3-m3 )==0 || MASK(i1-m1 ,i2-m2+n2,i3-m3+n3)==0 || MASK(i1-m1+n1,i2-m2 ,i3-m3+n3)==0 )

Referenced by PlotIt::grid3d().

#define IP (   i0,
  i1 
)    ipp[i0+ipDim0*(i1)]
#define IP (   i0,
  i1 
)    ipp[i0+ipDim0*(i1)]
#define MASK (   i0,
  i1,
  i2 
)    maskp[((i0)+maskDim0*((i1)+maskDim1*((i2))))]
#define MASK (   i0,
  i1,
  i2 
)    maskp[((i0)+maskDim0*((i1)+maskDim1*((i2))))]
#define MASK_CNR (   i1,
  i2,
  i3 
)    (mask(i1,i2,i3) && !(mask(i1,i2,i3) & isHiddenByRefinement))

Referenced by PlotIt::surfaceGrid3d().

#define MASK_D (   i1,
  i2,
  i3 
)    (mask(i1,i2,i3)>0)
#define MASK_DINIB (   i1,
  i2,
  i3 
)    (mask(i1,i2,i3)!=0 && !(mask(i1,i2,i3) & ISinteriorBoundaryPoint) )

Referenced by PlotIt::surfaceGrid3d().

#define MASK_DNIB (   i1,
  i2,
  i3 
)    (mask(i1,i2,i3)>0 && !(mask(i1,i2,i3) & ISinteriorBoundaryPoint) )

Referenced by PlotIt::surfaceGrid3d().

#define MASK_DNR (   i1,
  i2,
  i3 
)    (mask(i1,i2,i3)>0 && !(mask(i1,i2,i3) & isHiddenByRefinement))

Referenced by PlotIt::surfaceGrid3d().

#define MASK_UIB (   i1,
  i2,
  i3 
)    (MASK(i1,i2,i3)==0 || (!psp.plotInteriorBoundaryPoints && (MASK(i1,i2,i3) & ISinteriorBoundaryPoint)) )
#define VERTEX0 (   i0,
  i1,
  i2 
)    XSCALE(xa+dx0*(i0-i0a))
#define VERTEX0 (   i0,
  i1,
  i2 
)    XSCALE(vertexp[((i0)+vertexDim0*((i1)+vertexDim1*((i2)+vertexDim2*((0)))))])
#define VERTEX0 (   i0,
  i1,
  i2 
)    XSCALE(xa+dx0*(i0-i0a))
#define VERTEX0 (   i0,
  i1,
  i2 
)    XSCALE(vertexp[((i0)+vertexDim0*((i1)+vertexDim1*((i2)+vertexDim2*((0)))))])
#define VERTEX0 (   i0,
  i1,
  i2 
)    XSCALE(xa+dx0*(i0-i0a))
#define VERTEX0 (   i0,
  i1,
  i2 
)    XSCALE(vertexp[((i0)+vertexDim0*((i1)+vertexDim1*((i2)+vertexDim2*((0)))))])
#define VERTEX1 (   i0,
  i1,
  i2 
)    YSCALE(ya+dy0*(i1-i1a))
#define VERTEX1 (   i0,
  i1,
  i2 
)    YSCALE(vertexp[((i0)+vertexDim0*((i1)+vertexDim1*((i2)+vertexDim2*((1)))))])
#define VERTEX1 (   i0,
  i1,
  i2 
)    YSCALE(ya+dy0*(i1-i1a))
#define VERTEX1 (   i0,
  i1,
  i2 
)    YSCALE(vertexp[((i0)+vertexDim0*((i1)+vertexDim1*((i2)+vertexDim2*((1)))))])
#define VERTEX1 (   i0,
  i1,
  i2 
)    YSCALE(ya+dy0*(i1-i1a))
#define VERTEX1 (   i0,
  i1,
  i2 
)    YSCALE(vertexp[((i0)+vertexDim0*((i1)+vertexDim1*((i2)+vertexDim2*((1)))))])
#define VERTEX2 (   i0,
  i1,
  i2 
)    ZSCALE(za+dz0*(i2-i2a))
#define VERTEX2 (   i0,
  i1,
  i2 
)    ZSCALE(vertexp[((i0)+vertexDim0*((i1)+vertexDim1*((i2)+vertexDim2*((2)))))])
#define VERTEX2 (   i0,
  i1,
  i2 
)    ZSCALE(za+dz0*(i2-i2a))
#define VERTEX2 (   i0,
  i1,
  i2 
)    ZSCALE(vertexp[((i0)+vertexDim0*((i1)+vertexDim1*((i2)+vertexDim2*((2)))))])
#define VERTEX2 (   i0,
  i1,
  i2 
)    ZSCALE(za+dz0*(i2-i2a))
#define VERTEX2 (   i0,
  i1,
  i2 
)    ZSCALE(vertexp[((i0)+vertexDim0*((i1)+vertexDim1*((i2)+vertexDim2*((2)))))])
#define XR (   i1,
  i2,
  i3,
  m,
 
)    xr[n][m]
#define XSCALE (   x)    (psp.xScaleFactor*(x))
#define YSCALE (   y)    (psp.yScaleFactor*(y))
#define ZSCALE (   z)    (psp.zScaleFactor*(z))

Function Documentation

int collectInterpolationData ( int  srcProcessor,
int  destProcessor,
int  grid,
CompositeGrid cg,
intSerialArray &  interpolationPoint,
intSerialArray &  interpoleeGrid 
)
void getNormal ( const realArray x,
const int  iv[3],
const int  axis,
real  normal[3],
const int &  recursion = TRUE 
)

References axis1, axis2, axis3, FALSE, getNormal(), i2, ip, l2Norm(), max(), min(), and SQR.

void getNormal ( const real xp,
int  xDim0,
int  xDim1,
int  xDim2,
int *  xBase,
int *  xBound,
const int  iv[3],
const int  axis,
const int  ap1,
const int  ap2,
real  normal[3],
const int &  recursion = TRUE 
)

References axis1, axis2, axis3, FALSE, getNormal(), i2, ip, l2Norm(), max(), min(), SQR, and X.