VAPOR3 3.9.4
Namespaces | Classes | Typedefs | Enumerations | Functions
VAPoR Namespace Reference

Namespaces

namespace  DataMgrUtils
 
namespace  DCUtils
 

Classes

class  AnnotationParams
 A class for describing visual features displayed in the visualizer. More...
 
class  AnnotationRenderer
 Class that draws various geometry as specified by AnnotationParams. More...
 
class  AnnotationsParams
 A class for describing visual features displayed in the visualizer. More...
 
class  ArbitrarilyOrientedRegularGrid
 
class  ARGB
 
class  AxisAnnotation
 class that indicates location and direction of view More...
 
class  BarbParams
 Class that supports drawing Barbs based on 2D or 3D vector field. More...
 
class  BarbRenderer
 Class that draws the barbs as specified by BarbParams. More...
 
class  BlkMemMgr
 The Wasp BlkMemMgr class. More...
 
class  BOVCollection
 
class  Box
 3D or 2D box with options for orientation angles . More...
 
class  CalcEngineMgr
 A class for managing CalcEngine class instances. More...
 
class  ColorbarPbase
 Settings for color bar displayed in scene Intended to be used in any Params class. More...
 
class  ColorbarRenderer
 Renders annotation colorbar for a given Mapper Function. More...
 
class  ColorMap
 
class  Compressor
 A class for managing data set metadata. More...
 
class  ConstantGrid
 
class  ContourParams
 Class that supports drawing Contours based on 2D or 3D vector field. More...
 
class  ContourRenderer
 Class that draws the contours (contours) as specified by IsolineParams. More...
 
class  ControlExec
 Provides API for VAPOR visualizer User Interfaces (UIs) More...
 
class  CurvilinearGrid
 This class implements a 2D or 3D curvilinear grid. More...
 
class  DataMgr
 A cache based data reader. More...
 
class  DataMgrFactory
 
class  DatasetParams
 
class  DatasetsParams
 
class  DataStatus
 A class for describing the currently loaded dataset. More...
 
class  DC
 A Template Method design pattern for reading a collection of data. More...
 
class  DCBOV
 Class for reading a "Brick of Values", explained in section 3.1 (page 11) in the following VisIt document: https://github.com/NCAR/VAPOR/files/6341067/GettingDataIntoVisIt2.0.0.pdf. More...
 
class  DCCF
 Class for reading a NetCDF Climate Forecast (CF) data set stored as a series of NetCDF files. More...
 
class  DCMPAS
 Class for reading a NetCDF Climate Forecast (MPAS) data set stored as a series of NetCDF files. More...
 
class  DCP
 
class  DCRAM
 DCRAM is a virtual data collection used to allow data to be loaded from ram. Specifically, this is used by PythonDataMgr. More...
 
class  DCUGRID
 Class for reading a UGRID data set stored as a series of NetCDF files: https://ugrid-conventions.github.io/ugrid-conventions/. More...
 
class  DCWRF
 Class for reading a WRF data set stored as a series of NetCDF files. More...
 
class  DerivedCFVertCoordVar
 Derived coordinate variable abstract class. More...
 
class  DerivedCFVertCoordVarFactory
 
class  DerivedCFVertCoordVarFactoryRegistrar
 
class  DerivedCoordVar
 Derived coordinate variable abstract class. More...
 
class  DerivedCoordVar1DSpan
 
class  DerivedCoordVar_CF1D
 Derived 1D CF conventions coordinate variable using grid coordinates. More...
 
class  DerivedCoordVar_CF2D
 Derived 2D CF conventions coordinate variable . Coordinates are provided by data, whose length must be dimlens[0] * dimLens[1]. More...
 
class  DerivedCoordVar_PCSFromLatLon
 Derived PCS coordinate variable from lat-lon coordinate pairs. More...
 
class  DerivedCoordVar_Staggered
 
class  DerivedCoordVar_Time
 Synthesize a time coordinate variable. More...
 
class  DerivedCoordVar_TimeInSeconds
 Derived time coordinate variable. More...
 
class  DerivedCoordVar_UnStaggered
 
class  DerivedCoordVar_WRFTime
 Derived WRF Time coordinate variable. More...
 
class  DerivedCoordVarStandardAHSPC
 Convert a CF parameterless vertical coordinate to an Ocean s-coordinate, generic form 1 or 2. More...
 
class  DerivedCoordVarStandardOceanSCoordinate
 Convert a CF parameterless vertical coordinate to an Ocean s-coordinate, generic form 1 or 2. More...
 
class  DerivedCoordVarStandardWRF_Terrain
 
class  DerivedDataVar
 Derived data variable abstract class. More...
 
class  DerivedParticleAverage
 
class  DerivedParticleDensity
 
class  DerivedVar
 Derived variable abstract class. More...
 
class  DerivedVarMgr
 Derived variables constructed from other variables. More...
 
class  FakeRakeBox
 
class  FlowParams
 
class  FlowRenderer
 
class  Font
 Renders charachter glyphs using FreeType2 This class does not do any transformation, formatting, etc., please use the TextLabel class for that. More...
 
class  FontManager
 
class  Framebuffer
 Wrapper class for an OpenGL Framebuffer. More...
 
class  GeoImage
 An abstract class for managing geo-referenced images. More...
 
class  GeoImageGeoTiff
 A class for managing GeoTiff images. More...
 
class  GeoImageTMS
 A class for managing OSGeo Tile Map Service Specification images. More...
 
class  GeoTIFWriter
 Writes a TIF image with GeoTIF metadata. More...
 
class  GeoTile
 
class  GeoTileEquirectangular
 
class  GeoTileMercator
 
class  GeoUtil
 Misc. utilities for operating on geographic coordinates. More...
 
class  GLManager
 Contains references to context scope OpenGL data. More...
 
class  Grid
 Abstract base class for a 2D or 3D structured or unstructured grid. More...
 
class  GridHelper
 
class  HelloParams
 Class that supports drawing a line connecting two points. More...
 
class  HelloRenderer
 Class that draws a line as specified by HelloParams. More...
 
class  ImageParams
 
class  ImageRenderer
 
class  ImageWriter
 Interface for image writers. More...
 
class  ImageWriterFactory
 
class  ImpExp
 A class for managing data set metadata. More...
 
class  IResourceManager
 
class  JPGWriter
 
class  KDTreeRG
 This class implements a k-d space partitioning tree. More...
 
class  KDTreeRGSubset
 This class implements a k-d tree for a structured grid over a reduced region-of-interest (ROI) More...
 
class  LayeredGrid
 This class implements a 2D or 3D layered grid. More...
 
class  LegacyGL
 Replements Legacy OpenGL API using OpenGL Core. More...
 
class  Manip
 A class that supports manipulators in in a VAPOR Visualizer. More...
 
class  MapperFunction
 Parent class for TransferFunction and IsoControl, supports positioning histogram over color/opacity maps as well as a set of isovalues (as with Contours) More...
 
class  MatrixManager
 Replaces the OpenGL matrix stack. More...
 
class  MatWaveBase
 A base class for a Matlab-like wavelet bank. More...
 
class  MatWaveDwt
 Implements a single level wavelet filter. More...
 
class  MatWaveWavedec
 Implements a multi-level wavelet filter. More...
 
class  ModelParams
 
class  ModelRenderer
 Class that draws the contours (contours) as specified by IsolineParams. More...
 
class  NetCDFCFCollection
 Wrapper for a collection of netCDF files. More...
 
class  NetCDFCollection
 Wrapper for a collection of netCDF files. More...
 
class  NetCDFCpp
 Defines simple C++ wrapper for NetCDF. More...
 
class  NetCDFSimple
 NetCDFSimple API interface. More...
 
class  NonCopyableMixin
 Mixin class that prevents copying. More...
 
class  OpacityMap
 
class  ParamsBase
 Nodes with state in Xml tree representation. More...
 
class  ParamsContainer
 
class  ParamsFactory
 
class  ParamsMgr
 A singleton class for managing Params instances. More...
 
class  ParamsRegistrar
 
class  ParamsSeparator
 
class  ParticleParams
 
class  ParticleRenderer
 Class that draws the Particles (Particles) as specified by IsolineParams. More...
 
class  PlotParams
 PlotParams inherits RenderParams. More...
 
class  PNGWriter
 
class  Progress
 
class  Proj4API
 Wrapper for proj4 C API. More...
 
class  Proj4StringParser
 
class  PyEngine
 A class for managing derived variables computed with Python. More...
 
class  PythonDataMgr
 DataMgr for data loaded from python scripts. More...
 
class  PythonScript
 
class  PythonVariablesParams
 
class  QuadTreeRectangleP
 This class wraps QuadTreeRectangleP with parallel tree construction. More...
 
class  RayCaster
 
class  RayCasterParams
 
class  RegionParams
 A class for describing a 3D axis-aligned region in user space. More...
 
class  RegularGrid
 This class implements a 2D or 3D regular grid. More...
 
class  Renderer
 A class that performs rendering in a Visualizer. More...
 
class  RendererBase
 A base class for Renderer classes. More...
 
class  RendererFactory
 
class  RendererRegistrar
 
class  RenderParams
 A Params subclass for managing parameters used by Renderers. More...
 
class  RenParamsContainer
 
class  RenParamsFactory
 
class  RenParamsRegistrar
 
class  Shader
 Provides a C++ interface to the OpenGL shader construct. More...
 
class  ShaderManager
 Resource management class for shaders. More...
 
class  ShaderProgram
 Provides a C++ interface to the OpenGL shader program construct. More...
 
class  SignificanceMap
 Implements a significance map. More...
 
class  SliceParams
 Class that supports drawing Barbs based on 2D or 3D vector field. More...
 
class  SliceRenderer
 
class  SmartShaderProgram
 Provides a C++ interface to the OpenGL shader program construct. More...
 
class  SphericalGrid
 This class implements a 2D or 3D spherical grid. More...
 
class  StatisticsParams
 
class  StretchedGrid
 This class implements a 2D or 3D stretched grid. More...
 
class  StructuredGrid
 Abstract base class for a 2D or 3D structured grid. More...
 
class  TextLabel
 Utitlity wrapper for Font class. More...
 
class  Texture
 Wrapper class for an OpenGL texture. More...
 
class  Texture1D
 
class  Texture2D
 
class  Texture2DArray
 
class  Texture3D
 
class  TFInterpolator
 
class  TIFWriter
 Writes TIF image files. More...
 
class  Transform
 class that indicates location and direction of view More...
 
class  TranslateStretchManip
 A Manip subclass for manipulators that stretch and translate. More...
 
class  TwoDDataParams
 Class that supports drawing Barbs based on 2D or 3D vector field. More...
 
class  TwoDDataRenderer
 
class  TwoDRenderer
 
class  UDUnits
 
class  UnstructuredGrid
 Abstract base class for a 2D or 3D unstructured grid. More...
 
class  UnstructuredGrid2D
 class for a 2D unstructured grid. More...
 
class  UnstructuredGrid3D
 class for a Layered unstructured grid. More...
 
class  UnstructuredGridCoordless
 class for a 2D unstructured grid. More...
 
class  UnstructuredGridLayered
 class for a Layered unstructured grid. More...
 
class  VDC
 Defines API for reading, writing, and appending data to a VAPOR Data Collection (Version 3) More...
 
class  VDCNetCDF
 Implements the VDC abstract class, providing storage of VDC data in NetCDF files. More...
 
class  Viewpoint
 class that indicates location and direction of view More...
 
class  ViewpointParams
 A class for describing the viewpoint and lights in a 3D VAPOR scene. More...
 
class  Visualizer
 A class for performing OpenGL rendering in VAPOR GUI Window. More...
 
class  VolumeAlgorithm
 Strategy pattern for volume rendering algorithms. More...
 
class  VolumeAlgorithmFactory
 
class  VolumeAlgorithmNull
 
class  VolumeAlgorithmRegistrar
 
class  VolumeCellTraversal
 Curvilinear grid rendering algorithm. More...
 
class  VolumeCellTraversalIso
 Curvilinear grid isosurface rendering algorithm. More...
 
class  VolumeGLSL
 Volume rendering algorithms using GLSL. More...
 
class  VolumeIsoParams
 
class  VolumeIsoRenderer
 Isosurface renderer. More...
 
class  VolumeOSPRay
 OSPRay volume rendering adapter. More...
 
class  VolumeOSPRayIso
 OSPRay isosurface rendering adapter. More...
 
class  VolumeParams
 
class  VolumeRegular
 Regular grid rendering algorithm. More...
 
class  VolumeRegularIso
 Regular grid isosurface rendering algorithm. More...
 
class  VolumeRenderer
 
class  VolumeResampled
 
class  VolumeTest
 
class  VolumeTest2
 
class  WASP
 Implements WASP compression conventions for NetCDF. More...
 
class  WaveCodecIO
 A sub-region reader for VDF files. More...
 
class  WaveFiltBase
 A base class for wavelet family filters. More...
 
class  WaveFiltBior
 Biorthogonal spline family FIR filters. More...
 
class  WaveFiltCoif
 Coiflet family FIR filters. More...
 
class  WaveFiltDaub
 Daubechies family FIR filters. More...
 
class  WaveFiltHaar
 Haar FIR filters. More...
 
class  WaveFiltInt
 Integer Biorthogonal spline family FIR filters. More...
 
class  WireFrameParams
 Class that supports drawing Barbs based on 2D or 3D vector field. More...
 
class  WireFrameRenderer
 
class  XmlNode
 An Xml tree. More...
 
class  XmlParser
 

Typedefs

using CoordType = std::array< double, 3 >
 Type for specifying floating point coordinates.
 
using DimsType = std::array< size_t, 3 >
 Type for specifying integer indices.
 

Enumerations

enum  errorcodes {
  VAPOR_ERROR_VDF = 0x1 , VAPOR_ERROR_XML = 0x2 , VAPOR_DIAGNOSTIC = 0x1000 , VAPOR_WARNING = 0x2000 ,
  VAPOR_WARNING_GL_SHADER_LOG = 0x2001 , VAPOR_WARNING_FLOW = 0x2100 , VAPOR_WARNING_SEEDS = 0x2101 , VAPOR_WARNING_FLOW_DATA = 0x2102 ,
  VAPOR_WARNING_FLOW_STOP = 0x2103 , VAPOR_WARNING_DATA_UNAVAILABLE = 0x2004 , VAPOR_WARNING_GL_ERROR = 0x2105 , VAPOR_WARNING_TWO_D = 0x2106 ,
  VAPOR_ERROR = 0x4000 , VAPOR_ERROR_GL_RENDERING = 0x4001 , VAPOR_ERROR_GL_UNKNOWN_UNIFORM = 0x4002 , VAPOR_ERROR_DATA_UNAVAILABLE = 0x4003 ,
  VAPOR_ERROR_DATA_TOO_BIG = 0x4004 , VAPOR_ERROR_DRIVER_FAILURE = 0x4005 , VAPOR_ERROR_GL_VENDOR = 0x4006 , VAPOR_ERROR_DVR = 0x4007 ,
  VAPOR_ERROR_IMAGE_CAPTURE = 0x4008 , VAPOR_ERROR_SPHERICAL = 0x4009 , VAPOR_ERROR_STRETCHED = 0x4010 , VAPOR_ERROR_PARAMS = 0x4011 ,
  VAPOR_ERROR_TWO_D = 0x4012 , VAPOR_ERROR_GEOREFERENCE = 0x4013 , VAPOR_ERROR_SCRIPTING = 0x4014 , VAPOR_ERROR_PARSING = 0x4015 ,
  VAPOR_ERROR_VDC_MERGE = 0x4016 , VAPOR_ERROR_GL_SHADER = 0x4017 , VAPOR_ERROR_FLOW = 0x4100 , VAPOR_ERROR_SEEDS = 0x4101 ,
  VAPOR_ERROR_INTEGRATION = 0x4102 , VAPOR_ERROR_FLOW_DATA = 0x4103 , VAPOR_ERROR_FLOW_SAVE = 0x4104 , VAPOR_FATAL = 0x8000
}
 
enum class  FlowSeedMode : int { UNIFORM = 0 , RANDOM = 1 , RANDOM_BIAS = 2 , LIST = 3 }
 
enum class  FlowDir : int { FORWARD = 0 , BACKWARD = 1 , BI_DIR = 2 }
 

Functions

template<>
int BOVCollection::_findToken< DC::XType > (const std::string &token, std::string &line, DC::XType &value, bool verbose)
 
RENDER_API int __CheckGLError (const char *file, int line, const char *msg=0)
 
RENDER_API bool oglStatusOK (std::vector< int > &status)
 
RENDER_API void doubleToString (const double val, std::string &result, int digits)
 
RENDER_API std::string oglGetErrMsg (std::vector< int > status)
 
RENDER_API int oglGetFreeMemory ()
 
RENDER_API bool FrameBufferReady ()
 
RENDER_API int write_JPEG_file (FILE *file, int image_width, int image_height, unsigned char *image_buffer, int quality)
 
RENDER_API int read_JPEG_file (const char *filename, unsigned char **imageBuffer, int *width, int *height)
 
COMMON_API bool powerOf2 (size_t n)
 
COMMON_API size_t nextPowerOf2 (size_t n)
 
COMMON_API void computeGradientData (int dim[3], int numChan, unsigned char *volume, unsigned char *gradient)
 
COMMON_API void makeModelviewMatrix (float *vpos, float *vdir, float *upvec, float *matrix)
 
COMMON_API void makeModelviewMatrixD (double *vpos, double *vdir, double *upvec, double *matrix)
 
COMMON_API void makeModelviewMatrixD (const std::vector< double > &vpos, const std::vector< double > &vdir, const std::vector< double > &upvec, double *matrix)
 
COMMON_API void makeTransMatrix (float *transVec, float *matrix)
 
COMMON_API void makeTransMatrix (double *transVec, double *matrix)
 
COMMON_API void makeTransMatrix (const std::vector< double > &transVec, double *matrix)
 
COMMON_API void makeScaleMatrix (const double *scaleVec, double *matrix)
 
COMMON_API void vscale (float *v, float s)
 
COMMON_API void vscale (double *v, double s)
 
COMMON_API void vscale (std::vector< double > v, double s)
 
COMMON_API void vmult (const float *v, float s, float *w)
 
COMMON_API void vmult (const double *v, double s, double *w)
 
COMMON_API void vhalf (const float *v1, const float *v2, float *half)
 
COMMON_API void vcross (const float *v1, const float *v2, float *cross)
 
COMMON_API void vcross (const double *v1, const double *v2, double *cross)
 
COMMON_API void vreflect (const float *in, const float *mirror, float *out)
 
COMMON_API void vtransform (const float *v, float *mat, float *vt)
 
COMMON_API void vtransform (const float *v, float *mat, double *vt)
 
COMMON_API void vtransform (const double *v, float *mat, double *vt)
 
COMMON_API void vtransform (const double *v, double *mat, double *vt)
 
COMMON_API void vtransform4 (const float *v, float *mat, float *vt)
 
COMMON_API void vtransform3 (const float *v, float *mat, float *vt)
 
COMMON_API void vtransform3 (const double *v, double *mat, double *vt)
 
COMMON_API void vtransform3t (const float *v, float *mat, float *vt)
 
COMMON_API bool pointOnRight (double *pt1, double *pt2, const double *testPt)
 
COMMON_API void mcopy (float *m1, float *m2)
 
COMMON_API void mcopy (double *m1, double *m2)
 
COMMON_API void mmult (float *m1, float *m2, float *prod)
 
COMMON_API void mmult (double *m1, double *m2, double *prod)
 
COMMON_API int minvert (const float *mat, float *result)
 
COMMON_API int minvert (const double *mat, double *result)
 
COMMON_API void mmult33 (const double *m1, const double *m2, double *result)
 
COMMON_API void mmultt33 (const double *m1Trans, const double *m2, double *result)
 
COMMON_API void getRotationMatrix (double theta, double phi, double psi, double *matrix)
 
COMMON_API void getAxisRotation (int axis, double rotation, double *matrix)
 
COMMON_API void getRotAngles (double *theta, double *phi, double *psi, const double *matrix)
 
COMMON_API int rayBoxIntersect (const float rayStart[3], const float rayDir[3], const float boxExts[6], float results[2])
 
COMMON_API int rayBoxIntersect (const double rayStart[3], const double rayDir[3], const double boxExts[6], double results[2])
 
COMMON_API void rayBoxProject (std::vector< double > rayStart, std::vector< double > rayDir, const double boxExts[6], double results[2])
 
COMMON_API void qnormal (float *q)
 
COMMON_API void qinv (const float q1[4], float q2[4])
 
COMMON_API void qmult (const float *q1, const float *q2, float *dest)
 
COMMON_API void qmult (const double *q1, const double *q2, double *dest)
 
COMMON_API void qmatrix (const float *q, float *m)
 
COMMON_API void qmatrix (const double *q, double *m)
 
COMMON_API float ProjectToSphere (float r, float x, float y)
 
COMMON_API void CalcRotation (float *q, float newX, float newY, float oldX, float oldY, float ballsize)
 
COMMON_API void CalcRotation (double *q, double newX, double newY, double oldX, double oldY, double ballsize)
 
COMMON_API float ScalePoint (long pt, long origin, long size)
 
COMMON_API void rvec2q (const float rvec[3], float radians, float q[4])
 
COMMON_API void rvec2q (const double rvec[3], double radians, double q[4])
 
COMMON_API void rotmatrix2q (float *m, float *q)
 
COMMON_API void rotmatrix2q (double *m, double *q)
 
COMMON_API float getScale (float *rotmatrix)
 
COMMON_API void view2Quat (float vdir[3], float upvec[3], float q[4])
 
COMMON_API void quat2View (float quat[4], float vdir[3], float upvec[3])
 
COMMON_API void qlog (float quat[4], float lquat[4])
 
COMMON_API void qconj (float quat[4], float conj[4])
 
COMMON_API void slerp (float quat1[4], float quat2[4], float t, float result[4])
 
COMMON_API void squad (float quat1[4], float quat2[4], float s1[4], float s2[4], float t, float result[4])
 
COMMON_API void imagQuat2View (const float q[3], float vdir[3], float upvec[3])
 
COMMON_API void views2ImagQuats (float vdir1[3], float upvec1[3], float vdir2[3], float upvec2[3], float q1[3], float q2[3])
 
void vset (float *a, const float x, const float y, const float z)
 
void vset (double *a, const double x, const double y, const double z)
 
float vdot (const float *a, const float *b)
 
float vdot (const float *a, const double *b)
 
double vdot (const double *a, const double *b)
 
float vlength (const float *a)
 
double vlength (const double *a)
 
double vlength (const std::vector< double > a)
 
float vdist (const float *a, const float *b)
 
double vdist (const double *a, const double *b)
 
void vnormal (float *a)
 
void vnormal (double *a)
 
void vnormal (std::vector< double > a)
 
void vcopy (const float *a, float *b)
 
void vcopy (const double *a, double *b)
 
void vsub (const double *a, const float *b, float *c)
 
void vsub (const float *a, const float *b, float *c)
 
void vsub (const double *a, const double *b, double *c)
 
void vsub (const double *a, const std::vector< double > b, double *c)
 
void vsub (const std::vector< double > &a, const std::vector< double > &b, double *c)
 
void vadd (const float *a, const float *b, float *c)
 
void vadd (const double *a, const double *b, double *c)
 
void vzero (float *a)
 
void vzero (double *a)
 
void qset (float *a, float x, float y, float z, float w)
 
void qcopy (const float *a, float *b)
 
void qcopy (const double *a, double *b)
 
void qzero (float *a)
 
void qzero (double *a)
 
void qadd (const float *a, const float *b, float *c)
 
float qlength (const float q[4])
 
int matrix4x4_inverse (const float *in, float *out)
 
void matrix4x4_vec3_mult (const float m[16], const float a[4], float b[4])
 
void adjoint (const float *in, float *out)
 
double det4x4 (const float m[16])
 
double det2x2 (double a, double b, double c, double d)
 
double det3x3 (double a1, double a2, double a3, double b1, double b2, double b3, double c1, double c2, double c3)
 
void SetHDF5PluginPath ()
 
void HexahedronToTets (const int hexahedron[8], int tets[5 *4])
 
void QuadToTris (const int quad[4], int tris[2 *3])
 
double SignedTriArea2D (const double a[2], const double b[2], const double c[2])
 
bool BarycentricCoordsTri (const double verts[], const double pt[], double lambda[])
 
bool WachspressCoords2D (const double verts[], const double pt[], int n, double lambda[])
 
bool InsideConvexPolygon (const double verts[], const double pt[], int n)
 

Typedef Documentation

◆ CoordType

using VAPoR::CoordType = typedef std::array<double, 3>

Type for specifying floating point coordinates.

Definition at line 23 of file Grid.h.

◆ DimsType

using VAPoR::DimsType = typedef std::array<size_t, 3>

Type for specifying integer indices.

Definition at line 26 of file Grid.h.

Enumeration Type Documentation

◆ errorcodes

Enumerator
VAPOR_ERROR_VDF 
VAPOR_ERROR_XML 
VAPOR_DIAGNOSTIC 
VAPOR_WARNING 
VAPOR_WARNING_GL_SHADER_LOG 
VAPOR_WARNING_FLOW 
VAPOR_WARNING_SEEDS 
VAPOR_WARNING_FLOW_DATA 
VAPOR_WARNING_FLOW_STOP 
VAPOR_WARNING_DATA_UNAVAILABLE 
VAPOR_WARNING_GL_ERROR 
VAPOR_WARNING_TWO_D 
VAPOR_ERROR 
VAPOR_ERROR_GL_RENDERING 
VAPOR_ERROR_GL_UNKNOWN_UNIFORM 
VAPOR_ERROR_DATA_UNAVAILABLE 
VAPOR_ERROR_DATA_TOO_BIG 
VAPOR_ERROR_DRIVER_FAILURE 
VAPOR_ERROR_GL_VENDOR 
VAPOR_ERROR_DVR 
VAPOR_ERROR_IMAGE_CAPTURE 
VAPOR_ERROR_SPHERICAL 
VAPOR_ERROR_STRETCHED 
VAPOR_ERROR_PARAMS 
VAPOR_ERROR_TWO_D 
VAPOR_ERROR_GEOREFERENCE 
VAPOR_ERROR_SCRIPTING 
VAPOR_ERROR_PARSING 
VAPOR_ERROR_VDC_MERGE 
VAPOR_ERROR_GL_SHADER 
VAPOR_ERROR_FLOW 
VAPOR_ERROR_SEEDS 
VAPOR_ERROR_INTEGRATION 
VAPOR_ERROR_FLOW_DATA 
VAPOR_ERROR_FLOW_SAVE 
VAPOR_FATAL 

Definition at line 29 of file errorcodes.h.

◆ FlowDir

enum class VAPoR::FlowDir : int
strong
Enumerator
FORWARD 
BACKWARD 
BI_DIR 

Definition at line 16 of file FlowParams.h.

◆ FlowSeedMode

enum class VAPoR::FlowSeedMode : int
strong
Enumerator
UNIFORM 
RANDOM 
RANDOM_BIAS 
LIST 

Definition at line 15 of file FlowParams.h.

Function Documentation

◆ __CheckGLError()

RENDER_API int VAPoR::__CheckGLError ( const char *  file,
int  line,
const char *  msg = 0 
)

◆ adjoint()

void VAPoR::adjoint ( const float *  in,
float *  out 
)

◆ BarycentricCoordsTri()

bool VAPoR::BarycentricCoordsTri ( const double  verts[],
const double  pt[],
double  lambda[] 
)

Compute the Barycentric coordinates for a point inside a 2D triangle

Parameters
[in]vertsan 6-element array of 2D triagle Cartesian coordinates, ordered x1, y1, x2, y2, x3, y3.
[in]ptthe 2D Cartesian coordinates
[out]Barycentriccoordinates for point \pt.
Return values
insidea flag indicating whether the point pt is inside (or on the edge) of the triangle. I.e. all of the Barycentric coordinates are positive.

◆ BOVCollection::_findToken< DC::XType >()

template<>
int VAPoR::BOVCollection::_findToken< DC::XType > ( const std::string &  token,
std::string &  line,
DC::XType value,
bool  verbose 
)

◆ CalcRotation() [1/2]

COMMON_API void VAPoR::CalcRotation ( double *  q,
double  newX,
double  newY,
double  oldX,
double  oldY,
double  ballsize 
)

◆ CalcRotation() [2/2]

COMMON_API void VAPoR::CalcRotation ( float *  q,
float  newX,
float  newY,
float  oldX,
float  oldY,
float  ballsize 
)

◆ computeGradientData()

COMMON_API void VAPoR::computeGradientData ( int  dim[3],
int  numChan,
unsigned char *  volume,
unsigned char *  gradient 
)

◆ det2x2()

double VAPoR::det2x2 ( double  a,
double  b,
double  c,
double  d 
)

◆ det3x3()

double VAPoR::det3x3 ( double  a1,
double  a2,
double  a3,
double  b1,
double  b2,
double  b3,
double  c1,
double  c2,
double  c3 
)

◆ det4x4()

double VAPoR::det4x4 ( const float  m[16])

◆ doubleToString()

RENDER_API void VAPoR::doubleToString ( const double  val,
std::string &  result,
int  digits 
)

◆ FrameBufferReady()

RENDER_API bool VAPoR::FrameBufferReady ( )

Test readyness of OpenGL frame buffer, GL_FRAMEBUFFER

◆ getAxisRotation()

COMMON_API void VAPoR::getAxisRotation ( int  axis,
double  rotation,
double *  matrix 
)

◆ getRotAngles()

COMMON_API void VAPoR::getRotAngles ( double *  theta,
double *  phi,
double *  psi,
const double *  matrix 
)

◆ getRotationMatrix()

COMMON_API void VAPoR::getRotationMatrix ( double  theta,
double  phi,
double  psi,
double *  matrix 
)

◆ getScale()

COMMON_API float VAPoR::getScale ( float *  rotmatrix)

◆ HexahedronToTets()

void VAPoR::HexahedronToTets ( const int  hexahedron[8],
int  tets[5 *4] 
)

Decompose a hexahedron into 5 tetrahedra

This function takes as input the indecies of eight vertices defining a hexahedron, and decomposes the hexahedron into a sequence of 5 tetrahedra. The ordering of the vertices in the input vector hexahedron must follow the diagram below.

Two possible decompositions are possible, case 1 and case 2.

Case 1 results in 5 tetraheda comprised of the following indecies:

0,1,5,3; 0,5,6,3; 0,5,4,6; 0,3,6,2; 5,6,3,7;

Case 2 results in 5 tetraheda comprised of the following indecies:

1,5,4,7; 1,4,2,7; 1,4,0,2; 1,7,2,3; 4,2,7,6

Case 1 tetraheda are generated if the parity of the 0-vertex is even, case 2 if odd.

Conformant meshes are possible when case 1 and case 2 are adjacent. I.e. if the input hexahedra are part of a conformant mesh face-adjacent hexahedra should have alternating 0-vertex parities.

  6*--------*7
  /|       /|
 / |      / |
/  |     /  |

/ 4*-—/—*5 2*-----—*3 / | / | / | / | / |/ |/ 0*-----—*1

Parameters
[in]hexahedronA eight-element array containing the unique vertex indecies of a hexahedron.
[out]tetsA twenty-element array containing the resulting vertex indecies of the 5 tetrahedra that the hexahedron is decomposed into.

◆ imagQuat2View()

COMMON_API void VAPoR::imagQuat2View ( const float  q[3],
float  vdir[3],
float  upvec[3] 
)

◆ InsideConvexPolygon()

bool VAPoR::InsideConvexPolygon ( const double  verts[],
const double  pt[],
int  n 
)

Test whether a point is inside (or on edge) of a convex polygon

This function returns true of the point pt is on an edge or in the interior of the 2D polygon defined by the ordered list of vertices verts. It is the callers responsibility to ensure that the polygon is convex, otherwise results are undefined

Parameters
[in]vertsan array of 2D polygon Cartesian coordinates describing a convex polygon.
[in]ptthe 2D Cartesian coordinates
[in]nThe number of vertices in verts. I.e. degree of polygon

◆ makeModelviewMatrix()

COMMON_API void VAPoR::makeModelviewMatrix ( float *  vpos,
float *  vdir,
float *  upvec,
float *  matrix 
)

◆ makeModelviewMatrixD() [1/2]

COMMON_API void VAPoR::makeModelviewMatrixD ( const std::vector< double > &  vpos,
const std::vector< double > &  vdir,
const std::vector< double > &  upvec,
double *  matrix 
)

◆ makeModelviewMatrixD() [2/2]

COMMON_API void VAPoR::makeModelviewMatrixD ( double *  vpos,
double *  vdir,
double *  upvec,
double *  matrix 
)

◆ makeScaleMatrix()

COMMON_API void VAPoR::makeScaleMatrix ( const double *  scaleVec,
double *  matrix 
)

◆ makeTransMatrix() [1/3]

COMMON_API void VAPoR::makeTransMatrix ( const std::vector< double > &  transVec,
double *  matrix 
)

◆ makeTransMatrix() [2/3]

COMMON_API void VAPoR::makeTransMatrix ( double *  transVec,
double *  matrix 
)

◆ makeTransMatrix() [3/3]

COMMON_API void VAPoR::makeTransMatrix ( float *  transVec,
float *  matrix 
)

◆ matrix4x4_inverse()

int VAPoR::matrix4x4_inverse ( const float *  in,
float *  out 
)

◆ matrix4x4_vec3_mult()

void VAPoR::matrix4x4_vec3_mult ( const float  m[16],
const float  a[4],
float  b[4] 
)

◆ mcopy() [1/2]

COMMON_API void VAPoR::mcopy ( double *  m1,
double *  m2 
)

◆ mcopy() [2/2]

COMMON_API void VAPoR::mcopy ( float *  m1,
float *  m2 
)

◆ minvert() [1/2]

COMMON_API int VAPoR::minvert ( const double *  mat,
double *  result 
)

◆ minvert() [2/2]

COMMON_API int VAPoR::minvert ( const float *  mat,
float *  result 
)

◆ mmult() [1/2]

COMMON_API void VAPoR::mmult ( double *  m1,
double *  m2,
double *  prod 
)

◆ mmult() [2/2]

COMMON_API void VAPoR::mmult ( float *  m1,
float *  m2,
float *  prod 
)

◆ mmult33()

COMMON_API void VAPoR::mmult33 ( const double *  m1,
const double *  m2,
double *  result 
)

◆ mmultt33()

COMMON_API void VAPoR::mmultt33 ( const double *  m1Trans,
const double *  m2,
double *  result 
)

◆ nextPowerOf2()

COMMON_API size_t VAPoR::nextPowerOf2 ( size_t  n)

◆ oglGetErrMsg()

RENDER_API std::string VAPoR::oglGetErrMsg ( std::vector< int >  status)

Decode OpenGL error codes and format them as a string

This function takes a vector of error codes (see oglStatusOK) and produces a formatted error string from the list of codes

◆ oglGetFreeMemory()

RENDER_API int VAPoR::oglGetFreeMemory ( )

Returns free RAM in kilobytes Returns -1 if not supported

◆ oglStatusOK()

RENDER_API bool VAPoR::oglStatusOK ( std::vector< int > &  status)

Check for any OpenGL errors and return their error codes

This function calls glGetError() to test for any OpenGL errors. If no errors are detected the function returns true. If one or more errors are detected the function returns false and stores each of the error codes in the status vector

◆ pointOnRight()

COMMON_API bool VAPoR::pointOnRight ( double *  pt1,
double *  pt2,
const double *  testPt 
)

◆ powerOf2()

COMMON_API bool VAPoR::powerOf2 ( size_t  n)

◆ ProjectToSphere()

COMMON_API float VAPoR::ProjectToSphere ( float  r,
float  x,
float  y 
)

◆ qadd()

void VAPoR::qadd ( const float *  a,
const float *  b,
float *  c 
)
inline

Definition at line 210 of file LegacyVectorMath.h.

References vadd().

◆ qconj()

COMMON_API void VAPoR::qconj ( float  quat[4],
float  conj[4] 
)

◆ qcopy() [1/2]

void VAPoR::qcopy ( const double *  a,
double *  b 
)
inline

Definition at line 193 of file LegacyVectorMath.h.

◆ qcopy() [2/2]

void VAPoR::qcopy ( const float *  a,
float *  b 
)
inline

Definition at line 186 of file LegacyVectorMath.h.

◆ qinv()

COMMON_API void VAPoR::qinv ( const float  q1[4],
float  q2[4] 
)

◆ qlength()

float VAPoR::qlength ( const float  q[4])
inline

Definition at line 211 of file LegacyVectorMath.h.

◆ qlog()

COMMON_API void VAPoR::qlog ( float  quat[4],
float  lquat[4] 
)

◆ qmatrix() [1/2]

COMMON_API void VAPoR::qmatrix ( const double *  q,
double *  m 
)

◆ qmatrix() [2/2]

COMMON_API void VAPoR::qmatrix ( const float *  q,
float *  m 
)

◆ qmult() [1/2]

COMMON_API void VAPoR::qmult ( const double *  q1,
const double *  q2,
double *  dest 
)

◆ qmult() [2/2]

COMMON_API void VAPoR::qmult ( const float *  q1,
const float *  q2,
float *  dest 
)

◆ qnormal()

COMMON_API void VAPoR::qnormal ( float *  q)

◆ qset()

void VAPoR::qset ( float *  a,
float  x,
float  y,
float  z,
float  w 
)
inline

Definition at line 179 of file LegacyVectorMath.h.

◆ QuadToTris()

void VAPoR::QuadToTris ( const int  quad[4],
int  tris[2 *3] 
)

Decompose a quadrilateral into 2 triangles

This function takes as input the indecies of four vertices defining a quadrilateral, and decomposes the quad into a sequence of 2 triangles. The ordering of the vertices in the input vector hexahedron must follow the diagram below.

2*-----—*3

0*-----—*1

The decomposition results in 2 triangles comprised of the following indecies:

0,1,3; 0,3,2

Parameters
[in]quadA four-element array containing the unique vertex indecies of a quadrilateral.
[out]tetsA six-element array containing the resulting vertex indecies of the 2 triangles that the quadrilateral is decomposed into.

◆ quat2View()

COMMON_API void VAPoR::quat2View ( float  quat[4],
float  vdir[3],
float  upvec[3] 
)

◆ qzero() [1/2]

void VAPoR::qzero ( double *  a)
inline

Definition at line 205 of file LegacyVectorMath.h.

◆ qzero() [2/2]

void VAPoR::qzero ( float *  a)
inline

Definition at line 200 of file LegacyVectorMath.h.

◆ rayBoxIntersect() [1/2]

COMMON_API int VAPoR::rayBoxIntersect ( const double  rayStart[3],
const double  rayDir[3],
const double  boxExts[6],
double  results[2] 
)

◆ rayBoxIntersect() [2/2]

COMMON_API int VAPoR::rayBoxIntersect ( const float  rayStart[3],
const float  rayDir[3],
const float  boxExts[6],
float  results[2] 
)

◆ rayBoxProject()

COMMON_API void VAPoR::rayBoxProject ( std::vector< double >  rayStart,
std::vector< double >  rayDir,
const double  boxExts[6],
double  results[2] 
)

◆ read_JPEG_file()

RENDER_API int VAPoR::read_JPEG_file ( const char *  filename,
unsigned char **  imageBuffer,
int *  width,
int *  height 
)

◆ rotmatrix2q() [1/2]

COMMON_API void VAPoR::rotmatrix2q ( double *  m,
double *  q 
)

◆ rotmatrix2q() [2/2]

COMMON_API void VAPoR::rotmatrix2q ( float *  m,
float *  q 
)

◆ rvec2q() [1/2]

COMMON_API void VAPoR::rvec2q ( const double  rvec[3],
double  radians,
double  q[4] 
)

◆ rvec2q() [2/2]

COMMON_API void VAPoR::rvec2q ( const float  rvec[3],
float  radians,
float  q[4] 
)

◆ ScalePoint()

COMMON_API float VAPoR::ScalePoint ( long  pt,
long  origin,
long  size 
)

◆ SetHDF5PluginPath()

void VAPoR::SetHDF5PluginPath ( )

Definition at line 8 of file SetHDF5PluginPath.h.

References Wasp::GetSharePath(), and Wasp::MyBase::SetErrMsg().

◆ SignedTriArea2D()

double VAPoR::SignedTriArea2D ( const double  a[2],
const double  b[2],
const double  c[2] 
)

Return the signed, double-area of a 2D triangle

This function uses determinants to calculate double the signed area of a triange with 2D coordinates. Equivalently, this is the 3x3 determinant of a matrix whose last row is all ones. The return value is positive if the vertices are given in counter-clockwise order, otherwise it is negtive. Thus the true area is 1/2 * |A|, where A is the returned value.

Parameters
[in]a2D coordinates of first vertex
[in]b2D coordinates of second vertex
[in]c2D coordinates of third vertex

◆ slerp()

COMMON_API void VAPoR::slerp ( float  quat1[4],
float  quat2[4],
float  t,
float  result[4] 
)

◆ squad()

COMMON_API void VAPoR::squad ( float  quat1[4],
float  quat2[4],
float  s1[4],
float  s2[4],
float  t,
float  result[4] 
)

◆ vadd() [1/2]

void VAPoR::vadd ( const double *  a,
const double *  b,
double *  c 
)
inline

Definition at line 171 of file LegacyVectorMath.h.

◆ vadd() [2/2]

void VAPoR::vadd ( const float *  a,
const float *  b,
float *  c 
)
inline

Definition at line 165 of file LegacyVectorMath.h.

Referenced by qadd().

◆ vcopy() [1/2]

void VAPoR::vcopy ( const double *  a,
double *  b 
)
inline

Definition at line 129 of file LegacyVectorMath.h.

◆ vcopy() [2/2]

void VAPoR::vcopy ( const float *  a,
float *  b 
)
inline

Definition at line 123 of file LegacyVectorMath.h.

◆ vcross() [1/2]

COMMON_API void VAPoR::vcross ( const double *  v1,
const double *  v2,
double *  cross 
)

◆ vcross() [2/2]

COMMON_API void VAPoR::vcross ( const float *  v1,
const float *  v2,
float *  cross 
)

◆ vdist() [1/2]

double VAPoR::vdist ( const double *  a,
const double *  b 
)
inline

Definition at line 119 of file LegacyVectorMath.h.

◆ vdist() [2/2]

float VAPoR::vdist ( const float *  a,
const float *  b 
)
inline

Definition at line 118 of file LegacyVectorMath.h.

◆ vdot() [1/3]

double VAPoR::vdot ( const double *  a,
const double *  b 
)
inline

Definition at line 114 of file LegacyVectorMath.h.

◆ vdot() [2/3]

float VAPoR::vdot ( const float *  a,
const double *  b 
)
inline

Definition at line 113 of file LegacyVectorMath.h.

◆ vdot() [3/3]

float VAPoR::vdot ( const float *  a,
const float *  b 
)
inline

Definition at line 112 of file LegacyVectorMath.h.

Referenced by vlength().

◆ vhalf()

COMMON_API void VAPoR::vhalf ( const float *  v1,
const float *  v2,
float *  half 
)

◆ view2Quat()

COMMON_API void VAPoR::view2Quat ( float  vdir[3],
float  upvec[3],
float  q[4] 
)

◆ views2ImagQuats()

COMMON_API void VAPoR::views2ImagQuats ( float  vdir1[3],
float  upvec1[3],
float  vdir2[3],
float  upvec2[3],
float  q1[3],
float  q2[3] 
)

◆ vlength() [1/3]

double VAPoR::vlength ( const double *  a)
inline

Definition at line 116 of file LegacyVectorMath.h.

References vdot().

◆ vlength() [2/3]

float VAPoR::vlength ( const float *  a)
inline

Definition at line 115 of file LegacyVectorMath.h.

References vdot().

Referenced by vnormal().

◆ vlength() [3/3]

double VAPoR::vlength ( const std::vector< double >  a)
inline

Definition at line 117 of file LegacyVectorMath.h.

◆ vmult() [1/2]

COMMON_API void VAPoR::vmult ( const double *  v,
double  s,
double *  w 
)

◆ vmult() [2/2]

COMMON_API void VAPoR::vmult ( const float *  v,
float  s,
float *  w 
)

◆ vnormal() [1/3]

void VAPoR::vnormal ( double *  a)
inline

Definition at line 121 of file LegacyVectorMath.h.

References vlength(), and vscale().

◆ vnormal() [2/3]

void VAPoR::vnormal ( float *  a)
inline

Definition at line 120 of file LegacyVectorMath.h.

References vlength(), and vscale().

◆ vnormal() [3/3]

void VAPoR::vnormal ( std::vector< double >  a)
inline

Definition at line 122 of file LegacyVectorMath.h.

References vlength(), and vscale().

◆ vreflect()

COMMON_API void VAPoR::vreflect ( const float *  in,
const float *  mirror,
float *  out 
)

◆ vscale() [1/3]

COMMON_API void VAPoR::vscale ( double *  v,
double  s 
)

◆ vscale() [2/3]

COMMON_API void VAPoR::vscale ( float *  v,
float  s 
)

Referenced by vnormal().

◆ vscale() [3/3]

COMMON_API void VAPoR::vscale ( std::vector< double >  v,
double  s 
)

◆ vset() [1/2]

void VAPoR::vset ( double *  a,
const double  x,
const double  y,
const double  z 
)
inline

Definition at line 106 of file LegacyVectorMath.h.

◆ vset() [2/2]

void VAPoR::vset ( float *  a,
const float  x,
const float  y,
const float  z 
)
inline

Definition at line 100 of file LegacyVectorMath.h.

◆ vsub() [1/5]

void VAPoR::vsub ( const double *  a,
const double *  b,
double *  c 
)
inline

Definition at line 147 of file LegacyVectorMath.h.

◆ vsub() [2/5]

void VAPoR::vsub ( const double *  a,
const float *  b,
float *  c 
)
inline

Definition at line 135 of file LegacyVectorMath.h.

◆ vsub() [3/5]

void VAPoR::vsub ( const double *  a,
const std::vector< double >  b,
double *  c 
)
inline

Definition at line 153 of file LegacyVectorMath.h.

◆ vsub() [4/5]

void VAPoR::vsub ( const float *  a,
const float *  b,
float *  c 
)
inline

Definition at line 141 of file LegacyVectorMath.h.

◆ vsub() [5/5]

void VAPoR::vsub ( const std::vector< double > &  a,
const std::vector< double > &  b,
double *  c 
)
inline

Definition at line 159 of file LegacyVectorMath.h.

◆ vtransform() [1/4]

COMMON_API void VAPoR::vtransform ( const double *  v,
double *  mat,
double *  vt 
)

◆ vtransform() [2/4]

COMMON_API void VAPoR::vtransform ( const double *  v,
float *  mat,
double *  vt 
)

◆ vtransform() [3/4]

COMMON_API void VAPoR::vtransform ( const float *  v,
float *  mat,
double *  vt 
)

◆ vtransform() [4/4]

COMMON_API void VAPoR::vtransform ( const float *  v,
float *  mat,
float *  vt 
)

◆ vtransform3() [1/2]

COMMON_API void VAPoR::vtransform3 ( const double *  v,
double *  mat,
double *  vt 
)

◆ vtransform3() [2/2]

COMMON_API void VAPoR::vtransform3 ( const float *  v,
float *  mat,
float *  vt 
)

◆ vtransform3t()

COMMON_API void VAPoR::vtransform3t ( const float *  v,
float *  mat,
float *  vt 
)

◆ vtransform4()

COMMON_API void VAPoR::vtransform4 ( const float *  v,
float *  mat,
float *  vt 
)

◆ vzero() [1/2]

void VAPoR::vzero ( double *  a)
inline

Definition at line 178 of file LegacyVectorMath.h.

◆ vzero() [2/2]

void VAPoR::vzero ( float *  a)
inline

Definition at line 177 of file LegacyVectorMath.h.

◆ WachspressCoords2D()

bool VAPoR::WachspressCoords2D ( const double  verts[],
const double  pt[],
int  n,
double  lambda[] 
)

Compute the Wachspress coordinates for a point inside an irregular, convex, n-sided, planar polygon.

This function uses a method adapted from Meyer2005 (Generalized Barycentric Coordinates on Irregular Polygons) to compute Wachspress (generalized barycentric) coordinates for a point relative to an n-sided, 2D, irregular polygon. Wachspress coordinates for a point, p, inside a polygon, Q, have the properties that:

The sum of the Wachspress coordinates is exactly 1.0

The Cartesian coordinates of p are given by the sum of the products of Q's vertices with the Wachspress coordinates.

If p is outside of Q at lease one of the Wachspress is negative

Parameters
[in]vertsan array of 2D polygon Cartesian coordinates describing a possibly irregular, convex polygon.
[in]ptthe 2D Cartesian coordinates
[in]nThe number of vertices in verts. I.e. degree of polygon
[out]Wachspresscoordinates for point \pt. The number of Wachspress coordinates is given by n.
Return values
insidea flag indicating whether the point pt is inside (or on the edge) of Q. I.e. all of the Wachspress coordinates are positive.

◆ write_JPEG_file()

RENDER_API int VAPoR::write_JPEG_file ( FILE *  file,
int  image_width,
int  image_height,
unsigned char *  image_buffer,
int  quality 
)