COVISE Core
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros
Classes | Public Types | Static Public Member Functions | List of all members
covise::grid_methods Class Reference

#include <covise_gridmethods.h>

Classes

struct  BoundBox
 
struct  constants
 
struct  keyBoundBox
 
class  octTree
 
struct  POINT3D
 
struct  TRIANGLE
 

Public Types

typedef std::vector< TRIANGLETESSELATION
 
typedef std::vector< int > POLYGON
 
typedef std::vector< int >
::iterator 
POLYGON_ITERATOR
 
typedef int oct_tree_key
 

Static Public Member Functions

static int isin_triangle (const float *point, const float *point0, const float *point1, const float *point2, float tolerance)
 
static void interpolateInTriangle (float *v_interp, const float *point, int no_arrays, int array_dim, const float *const *velo, int c0, int c1, int c2, const float *p0, const float *p1, const float *p2)
 
static void ExtractNormal (float *normal, int base, int second, int third, const float *x_in, const float *y_in, const float *z_in)
 
static void ProjectPoint (float *proj_point, const float *point, const int *conn, int elem_cell, int num_of_vert, const float *x_in, const float *y_in, const float *z_in)
 
static float tri_surf (float *surf, const float *p0, const float *p1, const float *p2)
 
static void interpElem (float fem_c[3], float *interp, int array_len, const float *velos)
 
static int asc_compar_fp (const void *key, const void *fp)
 
static int desc_compar_fp (const void *key, const void *fp)
 
static void getBoundBox (BoundBox &bbox, int no_v, const int *v_l, const float *x_in, const float *y_in, const float *z_in)
 
static float getMaxVel (int no_v, const int *v_l, const float *u, const float *v, const float *w)
 
static void hex2tet (int ind, const int *el, const int *cl, int i, int *tel, int *tcl)
 
static void prism2tet (int ind, const int *el, const int *cl, int i, int *tel, int *tcl)
 
static void pyra2tet (int ind, const int *el, const int *cl, int i, int *tel, int *tcl)
 
static float tetra_vol (const float p0[3], const float p1[3], const float p2[3], const float p3[3])
 
static int isin_tetra (const float px[3], const float p0[3], const float p1[3], const float p2[3], const float p3[3], float rel_tol)
 
static void interpolateInTetra (float *v_interp, const float *point, int no_arrays, int array_dim, const float *const *velo, int c0, int c1, int c2, int c3, const float *p0, const float *p1, const float *p2, const float *p3)
 
static int interpolateVInHexa (float *v_interp, const float *point, const float *const *velo, const int *connl, const float *x_in, const float *y_in, const float *z_in)
 
static int interpolateInHexa (float *v_interp, const float *point, int no_arrays, int array_dim, const float *const *velo, const int *connl, const float *x_in, const float *y_in, const float *z_in)
 
static double dot_product (POINT3D vector1, POINT3D vector2)
 
static POINT3D cross_product (POINT3D vector1, POINT3D vector2)
 
static void TesselatePolyhedron (TESSELATION &triangulated_polyhedron, int num_elem_in, int *elem_in, int num_conn_in, int *conn_in, float *xcoord_in, float *ycoord_in, float *zcoord_in)
 
static void ComputeBoundingBox (int num_coord_in, float *x_coord_in, float *y_coord_in, float *z_coord_in, POINT3D &box_min, POINT3D &box_max, int &radius)
 
static bool InBox (POINT3D box_min, POINT3D box_max, POINT3D query_point)
 
static void RandomRay (POINT3D &end_point, int radius)
 
static char RayBoxTest (POINT3D end_point, POINT3D query_point, POINT3D triangle_box_min, POINT3D triangle_box_max)
 
static int PlaneCoeff (float *triangle_x, float *triangle_y, float *triangle_z, POINT3D &normal, double &distance)
 
static char RayPlaneIntersection (float *triangle_x, float *triangle_y, float *triangle_z, POINT3D query_point, POINT3D end_point, POINT3D &int_point, int &component_index)
 
static int AreaSign (POINT3D new_vertex_1, POINT3D new_vertex_2, POINT3D new_vertex_3)
 
static char InTri2D (POINT3D new_vertex_1, POINT3D new_vertex_2, POINT3D new_vertex_3, POINT3D projected_int_point)
 
static char InTri3D (float *triangle_x, float *triangle_y, float *triangle_z, int component_index, POINT3D int_point)
 
static char InPlane ()
 
static int VolumeSign (POINT3D a, POINT3D b, POINT3D c, POINT3D d)
 
static char RayTriangleCrossing (float *triangle_x, float *triangle_y, float *triangle_z, POINT3D query_point, POINT3D end_point)
 
static char RayTriangleIntersection (float *triangle_x, float *triangle_y, float *triangle_z, POINT3D query_point, POINT3D end_point, POINT3D &int_point)
 
static char InPolyhedron (float *x_coord_in, float *y_coord_in, float *z_coord_in, POINT3D box_min, POINT3D box_max, POINT3D query_point, POINT3D &end_point, int radius, TESSELATION triangulated_polyhedron)
 
static double InterpolateCellData (int num_coord_in, float *x_coord_in, float *y_coord_in, float *z_coord_in, float *data_in, POINT3D query_point)
 
static int derivativesAtCenter (float **v_interp[3], int no_points, int no_arrays, const float *const *velo, int no_el, int no_vert, const int *tl, const int *el, const int *connl, const float *x_in, const float *y_in, const float *z_in)
 
static void get_oct_tree_key (oct_tree_key &key, const BoundBox &bbox, float point[3], int exc)
 
static int key_bbox_intersection (oct_tree_key macroEl, const keyBoundBox *bbox2, int level)
 
static void cell3 (int idim, int jdim, int kdim, float *x_in, float *y_in, float *z_in, int *i, int *j, int *k, float *a, float *b, float *g, float x[3], float amat[3][3], float bmat[3][3], int *status)
 
static void intp3 (int idim, int jdim, int kdim, float *u_in, float *v_in, float *w_in, int i, int j, int k, float a, float b, float g, float *fi)
 
static void metr3 (int idim, int jdim, int kdim, float *x_in, float *y_in, float *z_in, int i, int j, int k, float a, float b, float g, float amat[3][3], float bmat[3][3], int *idegen, int *status)
 
static void padv3 (int *first, float cellfr, int direction, int idim, int jdim, int kdim, float *x_in, float *y_in, float *z_in, float *u_in, float *v_in, float *w_in, int *i, int *j, int *k, float *a, float *b, float *g, float x[4], float min_velo, int *status, float *ovel, float *nvel)
 
static void ssvdc (float *x, int n, int p, float *s, float *e, float *u, float *v, float *work, int job, int *info)
 
static void srot (int n, float *sx, int incx, float *sy, int incy, float c, float s)
 
static void srotg (float sa, float sb, float c, float s)
 
static void sscal (int n, float sa, float *sx, int incx)
 
static void sswap (int n, float *sx, int incx, float *sy, int incy)
 
static void saxpy (int n, float sa, float *sx, int incx, float *sy, int incy)
 
static float sdot (int n, float *sx, int incx, float *sy, int incy)
 
static float snrm2 (int n, float *sx, int incx)
 
static void ptran3 (float amat[3][3], float v[3], float vv[3])
 
static void inv3x3 (float a[3][3], float ainv[3][3], int *status)
 

Member Typedef Documentation

typedef std::vector<int> covise::grid_methods::POLYGON
typedef std::vector<int>::iterator covise::grid_methods::POLYGON_ITERATOR

Member Function Documentation

int grid_methods::AreaSign ( POINT3D  new_vertex_1,
POINT3D  new_vertex_2,
POINT3D  new_vertex_3 
)
static
int grid_methods::asc_compar_fp ( const void key,
const void fp 
)
static
void grid_methods::cell3 ( int  idim,
int  jdim,
int  kdim,
float *  x_in,
float *  y_in,
float *  z_in,
int *  i,
int *  j,
int *  k,
float *  a,
float *  b,
float *  g,
float  x[3],
float  amat[3][3],
float  bmat[3][3],
int *  status 
)
static
void grid_methods::ComputeBoundingBox ( int  num_coord_in,
float *  x_coord_in,
float *  y_coord_in,
float *  z_coord_in,
POINT3D box_min,
POINT3D box_max,
int &  radius 
)
static
grid_methods::POINT3D grid_methods::cross_product ( POINT3D  vector1,
POINT3D  vector2 
)
static
int grid_methods::derivativesAtCenter ( float **  v_interp[3],
int  no_points,
int  no_arrays,
const float *const *  velo,
int  no_el,
int  no_vert,
const int *  tl,
const int *  el,
const int *  connl,
const float *  x_in,
const float *  y_in,
const float *  z_in 
)
static
int grid_methods::desc_compar_fp ( const void key,
const void fp 
)
static
double grid_methods::dot_product ( POINT3D  vector1,
POINT3D  vector2 
)
static
void grid_methods::ExtractNormal ( float *  normal,
int  base,
int  second,
int  third,
const float *  x_in,
const float *  y_in,
const float *  z_in 
)
static
static void covise::grid_methods::get_oct_tree_key ( oct_tree_key key,
const BoundBox bbox,
float  point[3],
int  exc 
)
static
void grid_methods::getBoundBox ( BoundBox bbox,
int  no_v,
const int *  v_l,
const float *  x_in,
const float *  y_in,
const float *  z_in 
)
static
float grid_methods::getMaxVel ( int  no_v,
const int *  v_l,
const float *  u,
const float *  v,
const float *  w 
)
static
void grid_methods::hex2tet ( int  ind,
const int *  el,
const int *  cl,
int  i,
int *  tel,
int *  tcl 
)
static
bool grid_methods::InBox ( POINT3D  box_min,
POINT3D  box_max,
POINT3D  query_point 
)
static
char grid_methods::InPlane ( )
static
char grid_methods::InPolyhedron ( float *  x_coord_in,
float *  y_coord_in,
float *  z_coord_in,
POINT3D  box_min,
POINT3D  box_max,
POINT3D  query_point,
POINT3D end_point,
int  radius,
TESSELATION  triangulated_polyhedron 
)
static
void grid_methods::interpElem ( float  fem_c[3],
float *  interp,
int  array_len,
const float *  velos 
)
static
double grid_methods::InterpolateCellData ( int  num_coord_in,
float *  x_coord_in,
float *  y_coord_in,
float *  z_coord_in,
float *  data_in,
POINT3D  query_point 
)
static
int grid_methods::interpolateInHexa ( float *  v_interp,
const float *  point,
int  no_arrays,
int  array_dim,
const float *const *  velo,
const int *  connl,
const float *  x_in,
const float *  y_in,
const float *  z_in 
)
static
void grid_methods::interpolateInTetra ( float *  v_interp,
const float *  point,
int  no_arrays,
int  array_dim,
const float *const *  velo,
int  c0,
int  c1,
int  c2,
int  c3,
const float *  p0,
const float *  p1,
const float *  p2,
const float *  p3 
)
static
void grid_methods::interpolateInTriangle ( float *  v_interp,
const float *  point,
int  no_arrays,
int  array_dim,
const float *const *  velo,
int  c0,
int  c1,
int  c2,
const float *  p0,
const float *  p1,
const float *  p2 
)
static
int grid_methods::interpolateVInHexa ( float *  v_interp,
const float *  point,
const float *const *  velo,
const int *  connl,
const float *  x_in,
const float *  y_in,
const float *  z_in 
)
static
void grid_methods::intp3 ( int  idim,
int  jdim,
int  kdim,
float *  u_in,
float *  v_in,
float *  w_in,
int  i,
int  j,
int  k,
float  a,
float  b,
float  g,
float *  fi 
)
static
char grid_methods::InTri2D ( POINT3D  new_vertex_1,
POINT3D  new_vertex_2,
POINT3D  new_vertex_3,
POINT3D  projected_int_point 
)
static
char grid_methods::InTri3D ( float *  triangle_x,
float *  triangle_y,
float *  triangle_z,
int  component_index,
POINT3D  int_point 
)
static
void grid_methods::inv3x3 ( float  a[3][3],
float  ainv[3][3],
int *  status 
)
static
int grid_methods::isin_tetra ( const float  px[3],
const float  p0[3],
const float  p1[3],
const float  p2[3],
const float  p3[3],
float  rel_tol 
)
static
int grid_methods::isin_triangle ( const float *  point,
const float *  point0,
const float *  point1,
const float *  point2,
float  tolerance 
)
static
static int covise::grid_methods::key_bbox_intersection ( oct_tree_key  macroEl,
const keyBoundBox bbox2,
int  level 
)
static
void grid_methods::metr3 ( int  idim,
int  jdim,
int  kdim,
float *  x_in,
float *  y_in,
float *  z_in,
int  i,
int  j,
int  k,
float  a,
float  b,
float  g,
float  amat[3][3],
float  bmat[3][3],
int *  idegen,
int *  status 
)
static
void grid_methods::padv3 ( int *  first,
float  cellfr,
int  direction,
int  idim,
int  jdim,
int  kdim,
float *  x_in,
float *  y_in,
float *  z_in,
float *  u_in,
float *  v_in,
float *  w_in,
int *  i,
int *  j,
int *  k,
float *  a,
float *  b,
float *  g,
float  x[4],
float  min_velo,
int *  status,
float *  ovel,
float *  nvel 
)
static
int grid_methods::PlaneCoeff ( float *  triangle_x,
float *  triangle_y,
float *  triangle_z,
POINT3D normal,
double &  distance 
)
static
void grid_methods::prism2tet ( int  ind,
const int *  el,
const int *  cl,
int  i,
int *  tel,
int *  tcl 
)
static
void grid_methods::ProjectPoint ( float *  proj_point,
const float *  point,
const int *  conn,
int  elem_cell,
int  num_of_vert,
const float *  x_in,
const float *  y_in,
const float *  z_in 
)
static
void grid_methods::ptran3 ( float  amat[3][3],
float  v[3],
float  vv[3] 
)
static
void grid_methods::pyra2tet ( int  ind,
const int *  el,
const int *  cl,
int  i,
int *  tel,
int *  tcl 
)
static
void grid_methods::RandomRay ( POINT3D end_point,
int  radius 
)
static
char grid_methods::RayBoxTest ( POINT3D  end_point,
POINT3D  query_point,
POINT3D  triangle_box_min,
POINT3D  triangle_box_max 
)
static
char grid_methods::RayPlaneIntersection ( float *  triangle_x,
float *  triangle_y,
float *  triangle_z,
POINT3D  query_point,
POINT3D  end_point,
POINT3D int_point,
int &  component_index 
)
static
char grid_methods::RayTriangleCrossing ( float *  triangle_x,
float *  triangle_y,
float *  triangle_z,
POINT3D  query_point,
POINT3D  end_point 
)
static
char grid_methods::RayTriangleIntersection ( float *  triangle_x,
float *  triangle_y,
float *  triangle_z,
POINT3D  query_point,
POINT3D  end_point,
POINT3D int_point 
)
static
void grid_methods::saxpy ( int  n,
float  sa,
float *  sx,
int  incx,
float *  sy,
int  incy 
)
static
float grid_methods::sdot ( int  n,
float *  sx,
int  incx,
float *  sy,
int  incy 
)
static
float grid_methods::snrm2 ( int  n,
float *  sx,
int  incx 
)
static
void grid_methods::srot ( int  n,
float *  sx,
int  incx,
float *  sy,
int  incy,
float  c,
float  s 
)
static
void grid_methods::srotg ( float  sa,
float  sb,
float  c,
float  s 
)
static
void grid_methods::sscal ( int  n,
float  sa,
float *  sx,
int  incx 
)
static
void grid_methods::ssvdc ( float *  x,
int  n,
int  p,
float *  s,
float *  e,
float *  u,
float *  v,
float *  work,
int  job,
int *  info 
)
static
void grid_methods::sswap ( int  n,
float *  sx,
int  incx,
float *  sy,
int  incy 
)
static
void grid_methods::TesselatePolyhedron ( TESSELATION triangulated_polyhedron,
int  num_elem_in,
int *  elem_in,
int  num_conn_in,
int *  conn_in,
float *  xcoord_in,
float *  ycoord_in,
float *  zcoord_in 
)
static
float grid_methods::tetra_vol ( const float  p0[3],
const float  p1[3],
const float  p2[3],
const float  p3[3] 
)
static
float grid_methods::tri_surf ( float *  surf,
const float *  p0,
const float *  p1,
const float *  p2 
)
static
int grid_methods::VolumeSign ( POINT3D  a,
POINT3D  b,
POINT3D  c,
POINT3D  d 
)
static

The documentation for this class was generated from the following files: