VAPOR3 3.9.4
|
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. | |
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) |
using VAPoR::CoordType = typedef std::array<double, 3> |
using VAPoR::DimsType = typedef std::array<size_t, 3> |
enum VAPoR::errorcodes |
Definition at line 29 of file errorcodes.h.
|
strong |
Enumerator | |
---|---|
FORWARD | |
BACKWARD | |
BI_DIR |
Definition at line 16 of file FlowParams.h.
|
strong |
Enumerator | |
---|---|
UNIFORM | |
RANDOM | |
RANDOM_BIAS | |
LIST |
Definition at line 15 of file FlowParams.h.
RENDER_API int VAPoR::__CheckGLError | ( | const char * | file, |
int | line, | ||
const char * | msg = 0 |
||
) |
void VAPoR::adjoint | ( | const float * | in, |
float * | out | ||
) |
bool VAPoR::BarycentricCoordsTri | ( | const double | verts[], |
const double | pt[], | ||
double | lambda[] | ||
) |
Compute the Barycentric coordinates for a point inside a 2D triangle
[in] | verts | an 6-element array of 2D triagle Cartesian coordinates, ordered x1, y1, x2, y2, x3, y3. |
[in] | pt | the 2D Cartesian coordinates |
[out] | Barycentric | coordinates for point \pt. |
inside | a flag indicating whether the point pt is inside (or on the edge) of the triangle. I.e. all of the Barycentric coordinates are positive. |
int VAPoR::BOVCollection::_findToken< DC::XType > | ( | const std::string & | token, |
std::string & | line, | ||
DC::XType & | value, | ||
bool | verbose | ||
) |
COMMON_API void VAPoR::CalcRotation | ( | double * | q, |
double | newX, | ||
double | newY, | ||
double | oldX, | ||
double | oldY, | ||
double | ballsize | ||
) |
COMMON_API void VAPoR::CalcRotation | ( | float * | q, |
float | newX, | ||
float | newY, | ||
float | oldX, | ||
float | oldY, | ||
float | ballsize | ||
) |
COMMON_API void VAPoR::computeGradientData | ( | int | dim[3], |
int | numChan, | ||
unsigned char * | volume, | ||
unsigned char * | gradient | ||
) |
double VAPoR::det2x2 | ( | double | a, |
double | b, | ||
double | c, | ||
double | d | ||
) |
double VAPoR::det3x3 | ( | double | a1, |
double | a2, | ||
double | a3, | ||
double | b1, | ||
double | b2, | ||
double | b3, | ||
double | c1, | ||
double | c2, | ||
double | c3 | ||
) |
double VAPoR::det4x4 | ( | const float | m[16] | ) |
RENDER_API void VAPoR::doubleToString | ( | const double | val, |
std::string & | result, | ||
int | digits | ||
) |
RENDER_API bool VAPoR::FrameBufferReady | ( | ) |
Test readyness of OpenGL frame buffer, GL_FRAMEBUFFER
COMMON_API void VAPoR::getAxisRotation | ( | int | axis, |
double | rotation, | ||
double * | matrix | ||
) |
COMMON_API void VAPoR::getRotAngles | ( | double * | theta, |
double * | phi, | ||
double * | psi, | ||
const double * | matrix | ||
) |
COMMON_API void VAPoR::getRotationMatrix | ( | double | theta, |
double | phi, | ||
double | psi, | ||
double * | matrix | ||
) |
COMMON_API float VAPoR::getScale | ( | float * | rotmatrix | ) |
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
[in] | hexahedron | A eight-element array containing the unique vertex indecies of a hexahedron. |
[out] | tets | A twenty-element array containing the resulting vertex indecies of the 5 tetrahedra that the hexahedron is decomposed into. |
COMMON_API void VAPoR::imagQuat2View | ( | const float | q[3], |
float | vdir[3], | ||
float | upvec[3] | ||
) |
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
[in] | verts | an array of 2D polygon Cartesian coordinates describing a convex polygon. |
[in] | pt | the 2D Cartesian coordinates |
[in] | n | The number of vertices in verts . I.e. degree of polygon |
COMMON_API void VAPoR::makeModelviewMatrix | ( | float * | vpos, |
float * | vdir, | ||
float * | upvec, | ||
float * | matrix | ||
) |
COMMON_API void VAPoR::makeModelviewMatrixD | ( | const std::vector< double > & | vpos, |
const std::vector< double > & | vdir, | ||
const std::vector< double > & | upvec, | ||
double * | matrix | ||
) |
COMMON_API void VAPoR::makeModelviewMatrixD | ( | double * | vpos, |
double * | vdir, | ||
double * | upvec, | ||
double * | matrix | ||
) |
COMMON_API void VAPoR::makeScaleMatrix | ( | const double * | scaleVec, |
double * | matrix | ||
) |
COMMON_API void VAPoR::makeTransMatrix | ( | const std::vector< double > & | transVec, |
double * | matrix | ||
) |
COMMON_API void VAPoR::makeTransMatrix | ( | double * | transVec, |
double * | matrix | ||
) |
COMMON_API void VAPoR::makeTransMatrix | ( | float * | transVec, |
float * | matrix | ||
) |
int VAPoR::matrix4x4_inverse | ( | const float * | in, |
float * | out | ||
) |
void VAPoR::matrix4x4_vec3_mult | ( | const float | m[16], |
const float | a[4], | ||
float | b[4] | ||
) |
COMMON_API void VAPoR::mcopy | ( | double * | m1, |
double * | m2 | ||
) |
COMMON_API void VAPoR::mcopy | ( | float * | m1, |
float * | m2 | ||
) |
COMMON_API int VAPoR::minvert | ( | const double * | mat, |
double * | result | ||
) |
COMMON_API int VAPoR::minvert | ( | const float * | mat, |
float * | result | ||
) |
COMMON_API void VAPoR::mmult | ( | double * | m1, |
double * | m2, | ||
double * | prod | ||
) |
COMMON_API void VAPoR::mmult | ( | float * | m1, |
float * | m2, | ||
float * | prod | ||
) |
COMMON_API void VAPoR::mmult33 | ( | const double * | m1, |
const double * | m2, | ||
double * | result | ||
) |
COMMON_API void VAPoR::mmultt33 | ( | const double * | m1Trans, |
const double * | m2, | ||
double * | result | ||
) |
COMMON_API size_t VAPoR::nextPowerOf2 | ( | size_t | n | ) |
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
RENDER_API int VAPoR::oglGetFreeMemory | ( | ) |
Returns free RAM in kilobytes Returns -1 if not supported
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
COMMON_API bool VAPoR::pointOnRight | ( | double * | pt1, |
double * | pt2, | ||
const double * | testPt | ||
) |
COMMON_API bool VAPoR::powerOf2 | ( | size_t | n | ) |
COMMON_API float VAPoR::ProjectToSphere | ( | float | r, |
float | x, | ||
float | y | ||
) |
|
inline |
Definition at line 210 of file LegacyVectorMath.h.
References vadd().
COMMON_API void VAPoR::qconj | ( | float | quat[4], |
float | conj[4] | ||
) |
|
inline |
Definition at line 193 of file LegacyVectorMath.h.
|
inline |
Definition at line 186 of file LegacyVectorMath.h.
COMMON_API void VAPoR::qinv | ( | const float | q1[4], |
float | q2[4] | ||
) |
|
inline |
Definition at line 211 of file LegacyVectorMath.h.
COMMON_API void VAPoR::qlog | ( | float | quat[4], |
float | lquat[4] | ||
) |
COMMON_API void VAPoR::qmatrix | ( | const double * | q, |
double * | m | ||
) |
COMMON_API void VAPoR::qmatrix | ( | const float * | q, |
float * | m | ||
) |
COMMON_API void VAPoR::qmult | ( | const double * | q1, |
const double * | q2, | ||
double * | dest | ||
) |
COMMON_API void VAPoR::qmult | ( | const float * | q1, |
const float * | q2, | ||
float * | dest | ||
) |
COMMON_API void VAPoR::qnormal | ( | float * | q | ) |
|
inline |
Definition at line 179 of file LegacyVectorMath.h.
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
[in] | quad | A four-element array containing the unique vertex indecies of a quadrilateral. |
[out] | tets | A six-element array containing the resulting vertex indecies of the 2 triangles that the quadrilateral is decomposed into. |
COMMON_API void VAPoR::quat2View | ( | float | quat[4], |
float | vdir[3], | ||
float | upvec[3] | ||
) |
|
inline |
Definition at line 205 of file LegacyVectorMath.h.
|
inline |
Definition at line 200 of file LegacyVectorMath.h.
COMMON_API int VAPoR::rayBoxIntersect | ( | const double | rayStart[3], |
const double | rayDir[3], | ||
const double | boxExts[6], | ||
double | results[2] | ||
) |
COMMON_API int VAPoR::rayBoxIntersect | ( | const float | rayStart[3], |
const float | rayDir[3], | ||
const float | boxExts[6], | ||
float | results[2] | ||
) |
COMMON_API void VAPoR::rayBoxProject | ( | std::vector< double > | rayStart, |
std::vector< double > | rayDir, | ||
const double | boxExts[6], | ||
double | results[2] | ||
) |
RENDER_API int VAPoR::read_JPEG_file | ( | const char * | filename, |
unsigned char ** | imageBuffer, | ||
int * | width, | ||
int * | height | ||
) |
COMMON_API void VAPoR::rotmatrix2q | ( | double * | m, |
double * | q | ||
) |
COMMON_API void VAPoR::rotmatrix2q | ( | float * | m, |
float * | q | ||
) |
COMMON_API void VAPoR::rvec2q | ( | const double | rvec[3], |
double | radians, | ||
double | q[4] | ||
) |
COMMON_API void VAPoR::rvec2q | ( | const float | rvec[3], |
float | radians, | ||
float | q[4] | ||
) |
COMMON_API float VAPoR::ScalePoint | ( | long | pt, |
long | origin, | ||
long | size | ||
) |
void VAPoR::SetHDF5PluginPath | ( | ) |
Definition at line 8 of file SetHDF5PluginPath.h.
References Wasp::GetSharePath(), and Wasp::MyBase::SetErrMsg().
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.
[in] | a | 2D coordinates of first vertex |
[in] | b | 2D coordinates of second vertex |
[in] | c | 2D coordinates of third vertex |
COMMON_API void VAPoR::slerp | ( | float | quat1[4], |
float | quat2[4], | ||
float | t, | ||
float | result[4] | ||
) |
COMMON_API void VAPoR::squad | ( | float | quat1[4], |
float | quat2[4], | ||
float | s1[4], | ||
float | s2[4], | ||
float | t, | ||
float | result[4] | ||
) |
|
inline |
Definition at line 171 of file LegacyVectorMath.h.
|
inline |
Definition at line 165 of file LegacyVectorMath.h.
Referenced by qadd().
|
inline |
Definition at line 129 of file LegacyVectorMath.h.
|
inline |
Definition at line 123 of file LegacyVectorMath.h.
COMMON_API void VAPoR::vcross | ( | const double * | v1, |
const double * | v2, | ||
double * | cross | ||
) |
COMMON_API void VAPoR::vcross | ( | const float * | v1, |
const float * | v2, | ||
float * | cross | ||
) |
|
inline |
Definition at line 119 of file LegacyVectorMath.h.
|
inline |
Definition at line 118 of file LegacyVectorMath.h.
|
inline |
Definition at line 114 of file LegacyVectorMath.h.
|
inline |
Definition at line 113 of file LegacyVectorMath.h.
|
inline |
Definition at line 112 of file LegacyVectorMath.h.
Referenced by vlength().
COMMON_API void VAPoR::vhalf | ( | const float * | v1, |
const float * | v2, | ||
float * | half | ||
) |
COMMON_API void VAPoR::view2Quat | ( | float | vdir[3], |
float | upvec[3], | ||
float | q[4] | ||
) |
COMMON_API void VAPoR::views2ImagQuats | ( | float | vdir1[3], |
float | upvec1[3], | ||
float | vdir2[3], | ||
float | upvec2[3], | ||
float | q1[3], | ||
float | q2[3] | ||
) |
|
inline |
Definition at line 116 of file LegacyVectorMath.h.
References vdot().
|
inline |
|
inline |
Definition at line 117 of file LegacyVectorMath.h.
COMMON_API void VAPoR::vmult | ( | const double * | v, |
double | s, | ||
double * | w | ||
) |
COMMON_API void VAPoR::vmult | ( | const float * | v, |
float | s, | ||
float * | w | ||
) |
|
inline |
Definition at line 121 of file LegacyVectorMath.h.
|
inline |
Definition at line 120 of file LegacyVectorMath.h.
|
inline |
Definition at line 122 of file LegacyVectorMath.h.
COMMON_API void VAPoR::vreflect | ( | const float * | in, |
const float * | mirror, | ||
float * | out | ||
) |
COMMON_API void VAPoR::vscale | ( | double * | v, |
double | s | ||
) |
COMMON_API void VAPoR::vscale | ( | float * | v, |
float | s | ||
) |
Referenced by vnormal().
COMMON_API void VAPoR::vscale | ( | std::vector< double > | v, |
double | s | ||
) |
|
inline |
Definition at line 106 of file LegacyVectorMath.h.
|
inline |
Definition at line 100 of file LegacyVectorMath.h.
|
inline |
Definition at line 147 of file LegacyVectorMath.h.
|
inline |
Definition at line 135 of file LegacyVectorMath.h.
|
inline |
Definition at line 153 of file LegacyVectorMath.h.
|
inline |
Definition at line 141 of file LegacyVectorMath.h.
|
inline |
Definition at line 159 of file LegacyVectorMath.h.
COMMON_API void VAPoR::vtransform | ( | const double * | v, |
double * | mat, | ||
double * | vt | ||
) |
COMMON_API void VAPoR::vtransform | ( | const double * | v, |
float * | mat, | ||
double * | vt | ||
) |
COMMON_API void VAPoR::vtransform | ( | const float * | v, |
float * | mat, | ||
double * | vt | ||
) |
COMMON_API void VAPoR::vtransform | ( | const float * | v, |
float * | mat, | ||
float * | vt | ||
) |
COMMON_API void VAPoR::vtransform3 | ( | const double * | v, |
double * | mat, | ||
double * | vt | ||
) |
COMMON_API void VAPoR::vtransform3 | ( | const float * | v, |
float * | mat, | ||
float * | vt | ||
) |
COMMON_API void VAPoR::vtransform3t | ( | const float * | v, |
float * | mat, | ||
float * | vt | ||
) |
COMMON_API void VAPoR::vtransform4 | ( | const float * | v, |
float * | mat, | ||
float * | vt | ||
) |
|
inline |
Definition at line 178 of file LegacyVectorMath.h.
|
inline |
Definition at line 177 of file LegacyVectorMath.h.
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
[in] | verts | an array of 2D polygon Cartesian coordinates describing a possibly irregular, convex polygon. |
[in] | pt | the 2D Cartesian coordinates |
[in] | n | The number of vertices in verts . I.e. degree of polygon |
[out] | Wachspress | coordinates for point \pt. The number of Wachspress coordinates is given by n . |
inside | a flag indicating whether the point pt is inside (or on the edge) of Q. I.e. all of the Wachspress coordinates are positive. |
RENDER_API int VAPoR::write_JPEG_file | ( | FILE * | file, |
int | image_width, | ||
int | image_height, | ||
unsigned char * | image_buffer, | ||
int | quality | ||
) |