gVirtualXRay  2.0.10
VirtualX-RayImagingLibraryonGPU
Data Structures | Typedefs | Functions | Variables
gVirtualXRay Namespace Reference

Data Structures

class  AnatomicalMesh
 AnatomicalMesh is a class to handle a polygon mesh for tissue. More...
 
class  AssimpSceneGraphBinder
 
class  AtomicElement
 AtomicElement is a class to manage elements in material. More...
 
class  AttenuationCoefficient
 AttenuationCoefficient is a class to handle an attenuation coefficient. More...
 
class  BoneMesh
 BoneMesh is a class to handle a polygon mesh for Bone, with thin bumps stored using a 3D texture. More...
 
class  Context
 Context is a class to manage an OpenGL or Vulkan context. More...
 
class  CoordinateSystemMesh
 CoordinateSystemMesh is a class to handle the display of coordinate system axes in the visualisation. More...
 
class  CubeMesh
 CubeMesh is a class to handle 3D meshes of cubes. More...
 
class  CuboidMesh
 CuboidMesh is a class to handle 3D meshes of cuboids. More...
 
class  CylinderMesh
 CylinderMesh is a class to handle 3D meshes of cylinders. More...
 
class  DepthMap
 DepthMap is a class to render to a buffer in order to create, for exemple, a shadow map. More...
 
class  DiaphragmMesh
 DiaphragmMesh is a class to handle a polygon mesh for a diaphragm. More...
 
class  ElementSet
 ElementSet is a class to manage a table of elements in material. More...
 
class  Exception
 Exception is a class to handle exceptions. More...
 
class  FBOException
 FBOException is a class to handle exceptions related to FBOs. More...
 
class  FFT
 FFT is a class to compute the FFT of a greyscale image. More...
 
class  FileDoesNotExistException
 FileDoesNotExistException is a class to handle exceptions when trying to open a read-only file that is not accessible. More...
 
class  Image
 Image is a class to manage a greyscale image. More...
 
class  ImplicitSurface
 ImplicitSurface is a class to build 3D implicit surfaces. More...
 
class  InternalOrganMesh
 InternalOrganMesh is a class to handle a polygon mesh for an internal organ. Internal organs use bump mapping. More...
 
class  InvalidImageSizeException
 InvalidImageSizeException is a class to handle exceptions when the image size is wrong. More...
 
class  InvalidInternalFormalException
 InvalidInternalFormalException is a class to handle exceptions when an invalid internal format has been specified. More...
 
class  LineMesh
 
class  LiverMesh
 LiverMesh is a class to handle a polygon mesh for a liver. It uses 3D texture for the bump map and 2D texture for the colour. More...
 
class  Logger
 
class  LungsMesh
 LungsMesh is a class to handle a polygon mesh for a lung. It uses 2D texture for the bump map and 3D texture for the colour. More...
 
class  Material
 Material is a class to handle materials. More...
 
class  MaterialSet
 MaterialSet is a class to manage a table of materials. More...
 
class  Matrix4x4
 Matrix4x4 is a template class to handle a 4 by 4 matrix. More...
 
class  Mixture
 Mixture is a class to manage a mixture (e.g. Ti90Al6V4). More...
 
class  NoBeamException
 NoBeamException is a class to handle exceptions when no beam spectrum has been registered. More...
 
class  NoDetectorException
 NoDetectorException is a class to handle exceptions when no detector has been registered. More...
 
class  OpenGL2VBO
 OpenGL2VBO is a class to handle a vertex buffer object (VBO) in OpenGL 2.x. More...
 
class  OpenGL3VBO
 OpenGL3VBO is a class to handle a vertex buffer object (VBO) in OpenGL 3.x or 4.x. More...
 
class  OpenGLException
 OpenGLException is a class to handle exceptions related to OpenGL. More...
 
class  OpenSceneGraphBinder
 
class  OutOfBoundsException
 
class  OutOfMemoryException
 OutOfMemoryException is a class to handle exceptions when accessing an array cell that is not accessible, i.e. out of bounds memory access. More...
 
class  PhotonCrossSection
 PhotonCrossSection is a class to manage photon cross sections of elements, compounds and mixtures. More...
 
class  PolygonMesh
 PolygonMesh is a class to handle polygon (triangles) meshes. More...
 
class  PythonSingleton
 
class  ResourceManager
 
class  SceneGraphBinder
 
class  SceneGraphNode
 
class  Scintillator
 Scintillator is a class to generate the energy response due to the scintillator of the X-Ray detector. More...
 
class  Shader
 Shader is a class to handle shaders written in GLSL. More...
 
class  Sinogram
 Sinogram is a class to reconstruct images from a sinogram. More...
 
class  SkinMesh
 SkinMesh is a class to handle a polygon mesh for Skin. More...
 
class  SoftTissueMesh
 SoftTissueMesh is a class to handle a polygon mesh for an internal organ. It uses procedural texturing. More...
 
class  SpectrumRecord
 SpectrumRecord is a class to handle a record of the X-Ray beam, i.e. an energy bin (number of photons, energy of the photons in the bin). More...
 
class  SphereMesh
 SphereMesh is a class to handle 3D meshes of spheres. More...
 
class  StepWedgeMesh
 StepWedgeMesh is a class to handle 3D meshes of step wedges. More...
 
class  StereoHelper
 StereoHelper is a class to handle stereo vision using OpenGL's quad buffer. More...
 
class  TextRenderer
 TextRenderer is a class to render text using OpenGL and FreeType2. More...
 
class  TissueMaterial
 TissueMaterial is a class to manage a material. More...
 
class  VBO
 VBO is a class to handle a vertex buffer object (VBO). More...
 
class  Vec2
 Vec2 is a template class to handle a 2D vector. More...
 
class  Vec3
 Vec3 is a template class to handle a 3D vector. More...
 
class  XRayBeam
 XRayBeam is a class to handle the X-Ray beam. The beam spectrum is discretised into energy channels. More...
 
class  XRayDetector
 XRayDetector is a class to handle a X-ray detector. More...
 
class  XRayRenderer
 XRayRenderer is a class to compute and renderer X-ray images on GPU. More...
 

Typedefs

typedef float SinogramType
 Type of data used to store sinograms. More...
 
typedef float RATIONAL_NUMBER
 Type of data used to store real numbers. More...
 
typedef Vec2< RATIONAL_NUMBERVEC2
 Type of data used to store 2D vectors. More...
 
typedef Vec3< RATIONAL_NUMBERVEC3
 Type of data used to store 3D vectors. More...
 
typedef Matrix4x4< RATIONAL_NUMBERMATRIX4
 Type of data used to store 4x4 matrices. More...
 
typedef Vec2< double > Vec2d
 Vec2d is a class to handle a 2D vector using double precision floating point numbers. More...
 
typedef Vec2< float > Vec2f
 Vec2f is a class to handle a 2D vector using double precision floating point numbers. More...
 
typedef Vec2< int > Vec2i
 Vec2i is a class to handle a 2D vector using 32 bits integers. More...
 
typedef Vec2< unsigned int > Vec2ui
 Vec2ui is a class to handle a 2D vector using unsigned 32 bits integers. More...
 
typedef Vec3< double > Vec3d
 Vec3d is a class to handle a 3D vector using double precision floating point numbers. More...
 
typedef Vec3< float > Vec3f
 Vec3f is a class to handle a 3D vector using double precision floating point numbers. More...
 
typedef Vec3< int > Vec3i
 Vec3i is a class to handle a 3D vector using signed 32 bits integers. More...
 
typedef Vec3< unsigned int > Vec3ui
 Vec3ui is a class to handle a 3D vector using unsigned 32 bits integers. More...
 
typedef Matrix4x4< double > Matrix4x4d
 Matrix4x4d is a class to handle a 4x4 matrix using double precision floating point numbers. More...
 
typedef Matrix4x4< float > Matrix4x4f
 Matrix4x4f is a class to handle a 4x4 matrix using single precision floating point numbers. More...
 

Functions

std::ostream & operator<< (std::ostream &anOutputSream, const gVirtualXRay::AtomicElement &anElement)
 operator << More...
 
std::istream & operator>> (std::istream &anInputSream, gVirtualXRay::AtomicElement &anElement)
 operator >> More...
 
std::istream & operator>> (std::istream &is, AttenuationCoefficient &obj)
 operator>> More...
 
std::ostream & operator<< (std::ostream &os, const AttenuationCoefficient &obj)
 operator<< More...
 
std::ostream & operator<< (std::ostream &anOutputSream, const gVirtualXRay::ElementSet &anElementSet)
 operator << More...
 
std::ostream & operator<< (std::ostream &anOutputStream, const Exception &anException)
 operator<< More...
 
template<typename T >
Image< T > operator* (const T &aValue, const Image< T > &anImage)
 
template<typename T >
Image< T > operator/ (const T &aValue, const Image< T > &anImage)
 
template<typename T >
Image< T > operator+ (const T &aValue, const Image< T > &anImage)
 
template<typename T >
Image< T > operator- (const T &aValue, const Image< T > &anImage)
 
template<typename T >
Image< T > log (const Image< T > &anImage)
 
template<typename T >
Image< T > abs (const Image< T > &anImage)
 
std::string getPixelType (const std::string &aFileName)
 
std::string getPixelType (const char *aFileName)
 
template<typename T >
Image< T > gauss2D (unsigned int aSize, double aSigmaValue)
 
std::ostream & operator<< (std::ostream &anOutputSream, const MaterialSet &aMaterialSet)
 
template<typename T >
std::ostream & operator<< (std::ostream &anOutputStream, const Matrix4x4< T > &aMatrix)
 
void initialiseGLAD (const std::string &anAPI)
 Initialise GLAD. More...
 
void initializeGLAD (const std::string &anAPI)
 Initialize GLAD. More...
 
void initialiseGLEW ()
 Initialise GLEW. More...
 
void initializeGLEW ()
 Initialize GLEW. More...
 
void checkOpenGLErrorStatus (const char *aFileName, const char *aFunctionName, int aLineNumber)
 Check OpenGL's error status. More...
 
void checkFBOErrorStatus (const char *aFileName, const char *aFunctionName, int aLineNumber)
 Check the current FBO's error status. More...
 
void pushProjectionMatrix ()
 Add the current matrix to the projection matrix stack. More...
 
void pushModelViewMatrix ()
 Add the current matrix to the model/view matrix stack. More...
 
void pushFBO ()
 Add the current FBO binding to the FBO stack. More...
 
void pushTexture1D ()
 Add the current 1D texture binding to the texture stack. More...
 
void pushTexture2D ()
 Add the current 2D texture binding to the texture stack. More...
 
void pushTextureRectangle ()
 Add the current rectangle texture binding to the texture stack. More...
 
void pushTexture3D ()
 Add the current 3D texture binding to the texture stack. More...
 
void pushEnableDisableState (int aParameter)
 Add the enable/disable state to the corresponding stack. More...
 
void pushShaderProgram ()
 Add the current shader program to the corresponding stack. More...
 
void popProjectionMatrix ()
 
void popModelViewMatrix ()
 
void popFBO ()
 
void popTexture ()
 
void popEnableDisableState ()
 
void popShaderProgram ()
 
gVirtualXRay::Matrix4x4< float > getCurrentOpenGLMatrix ()
 Load the current OpenGL matrix. More...
 
void loadIdentityProjectionMatrix ()
 Replace the projection matrix by the identity matrix. More...
 
void loadIdentityModelViewMatrix ()
 Replace the model/view matrix by the identity matrix. More...
 
void loadFrustumProjectionMatrix (double left, double right, double bottom, double top, double near, double far)
 Replace the projection matrix by a perspective projection matrix. More...
 
void loadPerspectiveProjectionMatrix (double fovy, double aspect, double zNear, double zFar)
 Replace the projection matrix by a perspective projection matrix. More...
 
void loadOrthoProjectionMatrix (double left, double right, double bottom, double top, double near, double far)
 Replace the projection matrix by a orthographic projection matrix. More...
 
MATRIX4 buildOrthoProjectionMatrix (double left, double right, double bottom, double top, double near, double far)
 Create a orthographic projection matrix. More...
 
MATRIX4 buildFrustumProjectionMatrix (double left, double right, double bottom, double top, double near, double far)
 Create a perspective projection matrix. More...
 
MATRIX4 buildPerspectiveProjectionMatrix (double fovy, double aspect, double zNear, double zFar)
 Create a perspective projection matrix. More...
 
void loadLookAtModelViewMatrix (const VEC3 &eye, const VEC3 &centre, const VEC3 &up)
 Replace the modelling-viewing matrix by a viewing transformation matrix. More...
 
void loadLookAtModelViewMatrix (double eyeX, double eyeY, double eyeZ, double centreX, double centreY, double centreZ, double upX, double upY, double upZ)
 Replace the modelling-viewing matrix by a viewing transformation matrix. More...
 
MATRIX4 buildLookAtModelViewMatrix (const VEC3 &eye, const VEC3 &centre, const VEC3 &up)
 Create a modelling-viewing matrix. More...
 
MATRIX4 buildLookAtModelViewMatrix (double eyeX, double eyeY, double eyeZ, double centreX, double centreY, double centreZ, double upX, double upY, double upZ)
 Create a modelling-viewing matrix. More...
 
void loadProjectionMatrixFromOpenGL ()
 Replace the projection matrix by OpenGL's projection matrix. More...
 
void loadModelViewMatrixFromOpenGL ()
 Replace the modelling-viewing matrix by OpenGL's modelling-viewing matrix. More...
 
void applyModelViewMatrix ()
 
bool useOpenGL45 ()
 Check if OpenGL 4.5 is supported by the current OpenGL context. More...
 
bool useOpenGL32 ()
 Check if OpenGL 3.2 is supported by the current OpenGL context. More...
 
bool useOpenGLCompute ()
 Check if OpenGL Compute Shaders are supported by the current OpenGL context. More...
 
VBOcreateVBO ()
 Create an OpenGL VBO suitable for the current OpenGL context. More...
 
OpenGL2VBOcreateOpenGL2VBO ()
 Create an OpenGL 2.x VBO. More...
 
OpenGL3VBOcreateOpenGL3VBO ()
 Create an OpenGL 3.x or 4.x VBO. More...
 
std::string getShaderTypeID (const std::type_info &aTypeID)
 
std::string getShaderImageType (const std::type_info &aTypeID)
 
std::string getShaderPixelType (const std::type_info &aTypeID)
 
std::string getShaderRGBAPixelType (const std::type_info &aTypeID)
 
void multiplyOrthoProjectionMatrix (double left, double right, double bottom, double top, double nearPlane, double farPlane)
 
void multiplyPerspectiveProjectionMatrix (double fovy, double aspect, double zNear, double zFar)
 
int getShaderOpenGLType (const std::type_info &aTypeID)
 
std::ostream & operator<< (std::ostream &anOuputStream, const PhotonCrossSection &anInstance)
 
std::vector< double > logspace (const double &a, const double &b, const int &k)
 
std::istream & operator>> (std::istream &is, SpectrumRecord &obj)
 operator>> More...
 
std::ostream & operator<< (std::ostream &os, const SpectrumRecord &obj)
 operator<< More...
 
std::ostream & operator<< (std::ostream &anOutputSream, const TissueMaterial &aTissueMaterial)
 
std::istream & operator>> (std::istream &anInputSream, TissueMaterial &aTissueMaterial)
 
int inflate (const void *src, int srcLen, char **apDst)
 Uncompress data using the Zlib. More...
 
int deflate (const void *src, int srcLen, char **apDst)
 Compress data using the Zlib. More...
 
bool isMAT (const char *aFileName)
 Check if the extension of a file name is MAT. More...
 
bool isDAT (const char *aFileName)
 Check if the extension of a file name is DAT. More...
 
bool isTXT (const char *aFileName)
 Check if the extension of a file name is TXT. More...
 
bool isPGM (const char *aFileName)
 Check if the extension of a file name is PGM. More...
 
bool isRAW (const char *aFileName)
 Check if the extension of a file name is RAW. More...
 
bool isMHA (const char *aFileName)
 Check if the extension of a file name is MHA. More...
 
bool isMHD (const char *aFileName)
 Check if the extension of a file name is MHD. More...
 
bool isDCM (const char *aFileName)
 Check if the extension of a file name is DCM. More...
 
bool isJPEG (const char *aFileName)
 Check if the extension of a file name is JPEG. More...
 
bool isTIFF (const char *aFileName)
 Check if the extension of a file name is TIFF. More...
 
bool isMAT (const std::string &aFileName)
 Check if the extension of a file name is MAT. More...
 
bool isDAT (const std::string &aFileName)
 Check if the extension of a file name is DAT. More...
 
bool isTXT (const std::string &aFileName)
 Check if the extension of a file name is TXT. More...
 
bool isPGM (const std::string &aFileName)
 Check if the extension of a file name is PGM. More...
 
bool isRAW (const std::string &aFileName)
 Check if the extension of a file name is RAW. More...
 
bool isMHA (const std::string &aFileName)
 Check if the extension of a file name is MHA. More...
 
bool isMHD (const std::string &aFileName)
 Check if the extension of a file name is MHD. More...
 
bool isDCM (const std::string &aFileName)
 Check if the extension of a file name is DCM. More...
 
bool isJPEG (const std::string &aFileName)
 Check if the extension of a file name is JPEG. More...
 
bool isTIFF (const std::string &aFileName)
 Check if the extension of a file name is TIFF. More...
 
bool checkExtension (const char *aFileName, const char *anExtension)
 
bool checkExtension (const std::string &aFileName, const std::string &anExtension)
 
bool isBigEndian ()
 
bool isLittleEndian ()
 
bool isLetter (char aValue)
 
bool isUpperCase (char aValue)
 
bool isLowerCase (char aValue)
 
bool isNumber (char aValue)
 
template<typename T >
void swapBytes (T &aValue)
 
template<typename T >
degreeToRadian (const T &aAngleInDegree)
 
template<typename T >
radianToDegree (const T &aAngleInRadian)
 
template<typename T >
int sgn (const T &aValue)
 
double interpolate (const double &a_low, const double &a_high, const double &a0, const double &b_low, const double &b_high)
 
float interpolate (const float &a_low, const float &a_high, const float &a0, const float &b_low, const float &b_high)
 
template<typename T >
std::ostream & operator<< (std::ostream &anOutputStream, const Vec2< T > &aVector)
 
template<typename T >
std::ostream & operator<< (std::ostream &anOutputStream, const Vec3< T > &aVector)
 
template<typename T >
Vec3< T > operator* (const double &aValue, const Vec3< T > &aVector)
 Operator * to multiply each component of the vector by a given value. More...
 

Variables

const double Pi = 3.14159265358979323846
 Pi. More...
 
const double Pi_2 = Pi / 2.0
 Pi divided by 2.0. More...
 
const double N_Avogadro = 6.02552 * 1.0e23
 Avogadro number. More...
 
const unsigned short Z_H = 1
 Hydrogen atomic number. More...
 
const unsigned short Z_C = 6
 Carbon atomic number. More...
 
const unsigned short Z_N = 7
 Nitrogen atomic number. More...
 
const unsigned short Z_O = 8
 Oxygen atomic number. More...
 
const unsigned short Z_Na = 11
 Sodium atomic number. More...
 
const unsigned short Z_Mg = 12
 Magnesium atomic number. More...
 
const unsigned short Z_P = 15
 Phosphorus atomic number. More...
 
const unsigned short Z_S = 16
 Sulfur atomic number. More...
 
const unsigned short Z_Cl = 17
 Chlorine atomic number. More...
 
const unsigned short Z_Ar = 18
 Argon atomic number. More...
 
const unsigned short Z_K = 19
 Potassium atomic number. More...
 
const unsigned short Z_Ca = 20
 Calcium atomic number. More...
 
const unsigned short Z_Ti = 22
 Titanium atomic number. More...
 
const unsigned short Z_Fe = 26
 Iron atomic number. More...
 
const unsigned short Z_Cu = 29
 Copper atomic number. More...
 
const unsigned short Z_Zn = 30
 Zinc atomic number. More...
 
const unsigned short Z_Ag = 47
 Silver atomic number. More...
 
const unsigned short Z_Sn = 50
 Tin atomic number. More...
 
const unsigned short Z_I = 53
 Iodine atomic number. More...
 
Logger LOGGER
 
std::vector< MATRIX4g_p_modelview_matrix_stack
 The stack of model/view matrices. More...
 
std::vector< MATRIX4g_p_projection_matrix_stack
 The stack of projection matrix. More...
 
MATRIX4 g_current_modelview_matrix
 The model/view matrices. More...
 
MATRIX4 g_current_projection_matrix
 The projection matrix. More...
 
std::vector< int > g_frame_buffer_object_stack
 The stack of FBO binding. More...
 
std::vector< std::pair< int, int > > g_texture_stack
 The stack of texture binding. More...
 
std::vector< std::pair< int, bool > > g_enable_disable_state_stack
 The stack of enable/disable states. More...
 
std::vector< int > g_shader_program_stack
 The stack of shader programs. More...
 
const double kilometer = 1000.0 / 0.001
 kilometre More...
 
const double hectometer = 100.0 / 0.001
 hectometre More...
 
const double decameter = 10.0 / 0.001
 decametre More...
 
const double meter = 1.0 / 0.001
 metre More...
 
const double decimeter = 0.1 / 0.001
 decimetre More...
 
const double centimeter = 0.01 / 0.001
 centimetre More...
 
const double millimeter = 0.001 / 0.001
 millimetre More...
 
const double micrometer = 1.0e-6 / 0.001
 micrometre More...
 
const double kilometre = kilometer
 kilometre More...
 
const double hectometre = hectometer
 hectometre More...
 
const double decametre = decameter
 decametre More...
 
const double metre = meter
 metre More...
 
const double decimetre = decimeter
 decimetre More...
 
const double centimetre = centimeter
 centimetre More...
 
const double millimetre = millimeter
 millimetre More...
 
const double micrometre = micrometer
 micrometre More...
 
const double km = kilometer
 kilometre More...
 
const double hm = hectometer
 hectometre More...
 
const double dam = decameter
 decametre More...
 
const double m = meter
 meter More...
 
const double dm = decimeter
 decimeter More...
 
const double cm = centimeter
 centimeter More...
 
const double mm = millimeter
 millimeter More...
 
const double um = micrometer
 micrometre More...
 
const double km2 = km * km
 square kilometre More...
 
const double hm2 = hm * hm
 square hectometre More...
 
const double dam2 = dam * dam
 square decametre More...
 
const double m2 = m * m
 square meter More...
 
const double dm2 = dm * dm
 square decimeter More...
 
const double cm2 = cm * cm
 square centimeter More...
 
const double mm2 = mm * mm
 square millimeter More...
 
const double um2 = um * um
 square micrometre More...
 
const double km3 = km * km * km
 cubic kilometre More...
 
const double hm3 = hm * hm * hm
 cubic hectometre More...
 
const double dam3 = dam * dam * dam
 cubic decametre More...
 
const double m3 = m * m * m
 cubic meter More...
 
const double dm3 = dm * dm * dm
 cubic decimeter More...
 
const double cm3 = cm * cm * cm
 cubic centimeter More...
 
const double mm3 = mm * mm * mm
 cubic millimeter More...
 
const double um3 = um * um * um
 cubic micrometre More...
 
const double megaelectronvolt = 1.0
 megaelectron volt More...
 
const double kiloelectronvolt = megaelectronvolt * 1.0e-3
 kiloelectron volt More...
 
const double electronvolt = megaelectronvolt * 1.0e-6
 electronvolt More...
 
const double MeV = megaelectronvolt
 megaelectron volt More...
 
const double keV = kiloelectronvolt
 kiloelectron volt More...
 
const double eV = electronvolt
 electronvolt More...
 
const double kilogram = 1000.0
 kilogram More...
 
const double hectogram = 100.0
 hectogram More...
 
const double decagram = 10.0
 decagram More...
 
const double gram = 1.0
 gram More...
 
const double decigram = 0.1
 decigram More...
 
const double centigram = 0.01
 centigram More...
 
const double milligram = 0.001
 milligram More...
 
const double microgram = 1e-6
 microgram More...
 
const double kg = kilogram
 kilogram More...
 
const double hg = hectogram
 hectogram More...
 
const double dag = decagram
 decagram More...
 
const double g = gram
 gram More...
 
const double dg = decigram
 decigram More...
 
const double cg = centigram
 centigram More...
 
const double mg = milligram
 milligram More...
 
const double ug = microgram
 microgram More...
 
const double mole = 1.0
 mole More...
 
const double megavolt = 1.0
 mega volt More...
 
const double kilovolt = megavolt * 1.0e-3
 kilo volt More...
 
const double volt = megavolt * 1.0e-6
 volt More...
 
const double MV = megavolt
 mega volt More...
 
const double kV = kilovolt
 kilo volt More...
 
const double V = volt
 volt More...
 

Typedef Documentation

◆ MATRIX4

Type of data used to store 4x4 matrices.

Definition at line 119 of file Types.h.

◆ Matrix4x4d

Matrix4x4d is a class to handle a 4x4 matrix using double precision floating point numbers.

Definition at line 211 of file Types.h.

◆ Matrix4x4f

Matrix4x4f is a class to handle a 4x4 matrix using single precision floating point numbers.

Definition at line 221 of file Types.h.

◆ RATIONAL_NUMBER

Type of data used to store real numbers.

Definition at line 107 of file Types.h.

◆ SinogramType

Type of data used to store sinograms.

Definition at line 103 of file Types.h.

◆ VEC2

Type of data used to store 2D vectors.

Definition at line 111 of file Types.h.

◆ Vec2d

Vec2d is a class to handle a 2D vector using double precision floating point numbers.

Definition at line 132 of file Types.h.

◆ Vec2f

Vec2f is a class to handle a 2D vector using double precision floating point numbers.

Definition at line 142 of file Types.h.

◆ Vec2i

Vec2i is a class to handle a 2D vector using 32 bits integers.

Definition at line 151 of file Types.h.

◆ Vec2ui

Vec2ui is a class to handle a 2D vector using unsigned 32 bits integers.

Definition at line 161 of file Types.h.

◆ VEC3

Type of data used to store 3D vectors.

Definition at line 115 of file Types.h.

◆ Vec3d

Vec3d is a class to handle a 3D vector using double precision floating point numbers.

Definition at line 171 of file Types.h.

◆ Vec3f

Vec3f is a class to handle a 3D vector using double precision floating point numbers.

Definition at line 181 of file Types.h.

◆ Vec3i

Vec3i is a class to handle a 3D vector using signed 32 bits integers.

Definition at line 191 of file Types.h.

◆ Vec3ui

Vec3ui is a class to handle a 3D vector using unsigned 32 bits integers.

Definition at line 201 of file Types.h.

Function Documentation

◆ abs()

template<typename T >
Image< T > gVirtualXRay::abs ( const Image< T > &  anImage)

Definition at line 5177 of file Image.inl.

◆ applyModelViewMatrix()

void gVirtualXRay::applyModelViewMatrix ( )

Load the modelling-viewing matrix in the current shader program, or replace OpenGL's modelling-viewing matrix.

◆ buildFrustumProjectionMatrix()

MATRIX4 gVirtualXRay::buildFrustumProjectionMatrix ( double  left,
double  right,
double  bottom,
double  top,
double  near,
double  far 
)
inline

Create a perspective projection matrix.

Parameters
leftSpecify the coordinates for the left vertical clipping plane
rightSpecify the coordinates for the right vertical clipping plane
bottomSpecify the coordinates for the bottom horizontal clipping plane
topSpecify the coordinates for the top horizontal clipping plane
nearSpecify the distances to the near clipping plane. The value must be positive
farSpecify the distances to the far clipping plane. The value must be positive
Returns
the projection matrix

Definition at line 228 of file OpenGLUtilities.inl.

◆ buildLookAtModelViewMatrix() [1/2]

MATRIX4 gVirtualXRay::buildLookAtModelViewMatrix ( const VEC3 eye,
const VEC3 centre,
const VEC3 up 
)
inline

Create a modelling-viewing matrix.

Parameters
eyeSpecifies the position of the eye point
centreSpecifies the position of the reference point
upSpecifies the direction of the up vector
Returns
the modelling-viewing matrix

Definition at line 334 of file OpenGLUtilities.inl.

◆ buildLookAtModelViewMatrix() [2/2]

MATRIX4 gVirtualXRay::buildLookAtModelViewMatrix ( double  eyeX,
double  eyeY,
double  eyeZ,
double  centreX,
double  centreY,
double  centreZ,
double  upX,
double  upY,
double  upZ 
)
inline

Create a modelling-viewing matrix.

Parameters
eyeXSpecifies the position of the eye point along the X-axis
eyeYSpecifies the position of the eye point along the Y-axis
eyeZSpecifies the position of the eye point along the Z-axis
centreXSpecifies the position of the reference point along the X-axis
centreYSpecifies the position of the reference point along the Y-axis
centreZSpecifies the position of the reference point along the Z-axis
upXSpecifies the direction of the up vector along the X-axis
upYSpecifies the direction of the up vector along the Y-axis
upZSpecifies the direction of the up vector along the Z-axis
Returns
the modelling-viewing matrix

Definition at line 381 of file OpenGLUtilities.inl.

◆ buildOrthoProjectionMatrix()

MATRIX4 gVirtualXRay::buildOrthoProjectionMatrix ( double  left,
double  right,
double  bottom,
double  top,
double  near,
double  far 
)
inline

Create a orthographic projection matrix.

Parameters
leftSpecify the coordinates for the left vertical clipping plane
rightSpecify the coordinates for the right vertical clipping plane
bottomSpecify the coordinates for the bottom horizontal clipping plane
topSpecify the coordinates for the top horizontal clipping plane
nearSpecify the distances to the near clipping plane. The value must be positive
farSpecify the distances to the far clipping plane. The value must be positive
Returns
the projection matrix

Definition at line 166 of file OpenGLUtilities.inl.

◆ buildPerspectiveProjectionMatrix()

MATRIX4 gVirtualXRay::buildPerspectiveProjectionMatrix ( double  fovy,
double  aspect,
double  zNear,
double  zFar 
)
inline

Create a perspective projection matrix.

Parameters
fovyspecifies the field of view angle, in degrees, in the y-direction.
aspectSpecifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height).
zNearSpecifies the distance from the viewer to the near clipping plane (always positive)
zFarSpecifies the distance from the viewer to the far clipping plane (always positive).
Returns
the projection matrix

Definition at line 279 of file OpenGLUtilities.inl.

◆ checkExtension() [1/2]

bool gVirtualXRay::checkExtension ( const char *  aFileName,
const char *  anExtension 
)
inline

Definition at line 325 of file Utilities.inl.

◆ checkExtension() [2/2]

bool gVirtualXRay::checkExtension ( const std::string &  aFileName,
const std::string &  anExtension 
)

◆ checkFBOErrorStatus()

void gVirtualXRay::checkFBOErrorStatus ( const char *  aFileName,
const char *  aFunctionName,
int  aLineNumber 
)

Check the current FBO's error status.

Parameters
aFileNamename of the source file where FBO is checked
aFunctionNamename of the function where FBO is checked
aLineNumbername at which FBO is checked

◆ checkOpenGLErrorStatus()

void gVirtualXRay::checkOpenGLErrorStatus ( const char *  aFileName,
const char *  aFunctionName,
int  aLineNumber 
)

Check OpenGL's error status.

Parameters
aFileNamename of the source file where OpenGL is checked
aFunctionNamename of the function where OpenGL is checked
aLineNumbername at which OpenGL is checked

◆ createOpenGL2VBO()

OpenGL2VBO* gVirtualXRay::createOpenGL2VBO ( )

Create an OpenGL 2.x VBO.

◆ createOpenGL3VBO()

OpenGL3VBO* gVirtualXRay::createOpenGL3VBO ( )

Create an OpenGL 3.x or 4.x VBO.

◆ createVBO()

VBO* gVirtualXRay::createVBO ( )

Create an OpenGL VBO suitable for the current OpenGL context.

◆ deflate()

int gVirtualXRay::deflate ( const void *  src,
int  srcLen,
char **  apDst 
)

Compress data using the Zlib.

Parameters
srcuncompressed data
srcLenlength of the uncompressed data
apDstcompressed data

◆ degreeToRadian()

template<typename T >
T gVirtualXRay::degreeToRadian ( const T &  aAngleInDegree)

Definition at line 403 of file Utilities.inl.

◆ gauss2D()

template<typename T >
Image< T > gVirtualXRay::gauss2D ( unsigned int  aSize,
double  aSigmaValue 
)

Definition at line 310 of file Image.inl.

◆ getCurrentOpenGLMatrix()

gVirtualXRay::Matrix4x4<float> gVirtualXRay::getCurrentOpenGLMatrix ( )

Load the current OpenGL matrix.

Returns
the current OpenGL matrix.

◆ getPixelType() [1/2]

std::string gVirtualXRay::getPixelType ( const std::string &  aFileName)
inline

Definition at line 5096 of file Image.inl.

◆ getPixelType() [2/2]

std::string gVirtualXRay::getPixelType ( const char *  aFileName)
inline

Definition at line 5066 of file Image.inl.

◆ getShaderImageType()

std::string gVirtualXRay::getShaderImageType ( const std::type_info &  aTypeID)
inline

Definition at line 466 of file OpenGLUtilities.inl.

◆ getShaderOpenGLType()

int gVirtualXRay::getShaderOpenGLType ( const std::type_info &  aTypeID)
inline

Definition at line 586 of file OpenGLUtilities.inl.

◆ getShaderPixelType()

std::string gVirtualXRay::getShaderPixelType ( const std::type_info &  aTypeID)
inline

Definition at line 506 of file OpenGLUtilities.inl.

◆ getShaderRGBAPixelType()

std::string gVirtualXRay::getShaderRGBAPixelType ( const std::type_info &  aTypeID)
inline

Definition at line 546 of file OpenGLUtilities.inl.

◆ getShaderTypeID()

std::string gVirtualXRay::getShaderTypeID ( const std::type_info &  aTypeID)
inline

Definition at line 426 of file OpenGLUtilities.inl.

◆ inflate()

int gVirtualXRay::inflate ( const void *  src,
int  srcLen,
char **  apDst 
)

Uncompress data using the Zlib.

Parameters
srccompressed data
srcLenlength of the uncompressed data
apDstuncompressed data

◆ initialiseGLAD()

void gVirtualXRay::initialiseGLAD ( const std::string &  anAPI)

Initialise GLAD.

◆ initialiseGLEW()

void gVirtualXRay::initialiseGLEW ( )

Initialise GLEW.

◆ initializeGLAD()

void gVirtualXRay::initializeGLAD ( const std::string &  anAPI)

Initialize GLAD.

◆ initializeGLEW()

void gVirtualXRay::initializeGLEW ( )

Initialize GLEW.

◆ interpolate() [1/2]

double gVirtualXRay::interpolate ( const double &  a_low,
const double &  a_high,
const double &  a0,
const double &  b_low,
const double &  b_high 
)
inline

Definition at line 427 of file Utilities.inl.

◆ interpolate() [2/2]

float gVirtualXRay::interpolate ( const float &  a_low,
const float &  a_high,
const float &  a0,
const float &  b_low,
const float &  b_high 
)
inline

Definition at line 439 of file Utilities.inl.

◆ isBigEndian()

bool gVirtualXRay::isBigEndian ( )
inline

Definition at line 334 of file Utilities.inl.

◆ isDAT() [1/2]

bool gVirtualXRay::isDAT ( const char *  aFileName)
inline

Check if the extension of a file name is DAT.

Parameters
aFileNamethe file name to check
Returns
true if the extension of aFileName is DAT; false if it is not

Definition at line 97 of file Utilities.inl.

◆ isDAT() [2/2]

bool gVirtualXRay::isDAT ( const std::string &  aFileName)
inline

Check if the extension of a file name is DAT.

Parameters
aFileNamethe file name to check
Returns
true if the extension of aFileName is DAT; false if it is not

Definition at line 253 of file Utilities.inl.

◆ isDCM() [1/2]

bool gVirtualXRay::isDCM ( const char *  aFileName)
inline

Check if the extension of a file name is DCM.

Parameters
aFileNamethe file name to check
Returns
true if the extension of aFileName is DCM; false if it is not

Definition at line 193 of file Utilities.inl.

◆ isDCM() [2/2]

bool gVirtualXRay::isDCM ( const std::string &  aFileName)
inline

Check if the extension of a file name is DCM.

Parameters
aFileNamethe file name to check
Returns
true if the extension of aFileName is DCM; false if it is not

Definition at line 301 of file Utilities.inl.

◆ isJPEG() [1/2]

bool gVirtualXRay::isJPEG ( const char *  aFileName)
inline

Check if the extension of a file name is JPEG.

Parameters
aFileNamethe file name to check
Returns
true if the extension of aFileName is JPEG; false if it is not

Definition at line 209 of file Utilities.inl.

◆ isJPEG() [2/2]

bool gVirtualXRay::isJPEG ( const std::string &  aFileName)
inline

Check if the extension of a file name is JPEG.

Parameters
aFileNamethe file name to check
Returns
true if the extension of aFileName is JPEG; false if it is not

Definition at line 309 of file Utilities.inl.

◆ isLetter()

bool gVirtualXRay::isLetter ( char  aValue)
inline

Definition at line 351 of file Utilities.inl.

◆ isLittleEndian()

bool gVirtualXRay::isLittleEndian ( )
inline

Definition at line 343 of file Utilities.inl.

◆ isLowerCase()

bool gVirtualXRay::isLowerCase ( char  aValue)
inline

Definition at line 368 of file Utilities.inl.

◆ isMAT() [1/2]

bool gVirtualXRay::isMAT ( const char *  aFileName)
inline

Check if the extension of a file name is MAT.

Parameters
aFileNamethe file name to check
Returns
true if the extension of aFileName is MAT; false if it is not

Definition at line 81 of file Utilities.inl.

◆ isMAT() [2/2]

bool gVirtualXRay::isMAT ( const std::string &  aFileName)
inline

Check if the extension of a file name is MAT.

Parameters
aFileNamethe file name to check
Returns
true if the extension of aFileName is MAT; false if it is not

Definition at line 245 of file Utilities.inl.

◆ isMHA() [1/2]

bool gVirtualXRay::isMHA ( const char *  aFileName)
inline

Check if the extension of a file name is MHA.

Parameters
aFileNamethe file name to check
Returns
true if the extension of aFileName is MHA; false if it is not

Definition at line 161 of file Utilities.inl.

◆ isMHA() [2/2]

bool gVirtualXRay::isMHA ( const std::string &  aFileName)
inline

Check if the extension of a file name is MHA.

Parameters
aFileNamethe file name to check
Returns
true if the extension of aFileName is MHA; false if it is not

Definition at line 285 of file Utilities.inl.

◆ isMHD() [1/2]

bool gVirtualXRay::isMHD ( const char *  aFileName)
inline

Check if the extension of a file name is MHD.

Parameters
aFileNamethe file name to check
Returns
true if the extension of aFileName is MHD; false if it is not

Definition at line 177 of file Utilities.inl.

◆ isMHD() [2/2]

bool gVirtualXRay::isMHD ( const std::string &  aFileName)
inline

Check if the extension of a file name is MHD.

Parameters
aFileNamethe file name to check
Returns
true if the extension of aFileName is MHD; false if it is not

Definition at line 293 of file Utilities.inl.

◆ isNumber()

bool gVirtualXRay::isNumber ( char  aValue)
inline

Definition at line 376 of file Utilities.inl.

◆ isPGM() [1/2]

bool gVirtualXRay::isPGM ( const char *  aFileName)
inline

Check if the extension of a file name is PGM.

Parameters
aFileNamethe file name to check
Returns
true if the extension of aFileName is PGM; false if it is not

Definition at line 129 of file Utilities.inl.

◆ isPGM() [2/2]

bool gVirtualXRay::isPGM ( const std::string &  aFileName)
inline

Check if the extension of a file name is PGM.

Parameters
aFileNamethe file name to check
Returns
true if the extension of aFileName is PGM; false if it is not

Definition at line 269 of file Utilities.inl.

◆ isRAW() [1/2]

bool gVirtualXRay::isRAW ( const char *  aFileName)
inline

Check if the extension of a file name is RAW.

Parameters
aFileNamethe file name to check
Returns
true if the extension of aFileName is RAW; false if it is not

Definition at line 145 of file Utilities.inl.

◆ isRAW() [2/2]

bool gVirtualXRay::isRAW ( const std::string &  aFileName)
inline

Check if the extension of a file name is RAW.

Parameters
aFileNamethe file name to check
Returns
true if the extension of aFileName is RAW; false if it is not

Definition at line 277 of file Utilities.inl.

◆ isTIFF() [1/2]

bool gVirtualXRay::isTIFF ( const char *  aFileName)
inline

Check if the extension of a file name is TIFF.

Parameters
aFileNamethe file name to check
Returns
true if the extension of aFileName is TIFF; false if it is not

Definition at line 227 of file Utilities.inl.

◆ isTIFF() [2/2]

bool gVirtualXRay::isTIFF ( const std::string &  aFileName)
inline

Check if the extension of a file name is TIFF.

Parameters
aFileNamethe file name to check
Returns
true if the extension of aFileName is TIFF; false if it is not

Definition at line 317 of file Utilities.inl.

◆ isTXT() [1/2]

bool gVirtualXRay::isTXT ( const char *  aFileName)
inline

Check if the extension of a file name is TXT.

Parameters
aFileNamethe file name to check
Returns
true if the extension of aFileName is TXT; false if it is not

Definition at line 113 of file Utilities.inl.

◆ isTXT() [2/2]

bool gVirtualXRay::isTXT ( const std::string &  aFileName)
inline

Check if the extension of a file name is TXT.

Parameters
aFileNamethe file name to check
Returns
true if the extension of aFileName is TXT; false if it is not

Definition at line 261 of file Utilities.inl.

◆ isUpperCase()

bool gVirtualXRay::isUpperCase ( char  aValue)
inline

Definition at line 360 of file Utilities.inl.

◆ loadFrustumProjectionMatrix()

void gVirtualXRay::loadFrustumProjectionMatrix ( double  left,
double  right,
double  bottom,
double  top,
double  near,
double  far 
)
inline

Replace the projection matrix by a perspective projection matrix.

Parameters
leftSpecify the coordinates for the left vertical clipping plane
rightSpecify the coordinates for the right vertical clipping plane
bottomSpecify the coordinates for the bottom horizontal clipping plane
topSpecify the coordinates for the top horizontal clipping plane
nearSpecify the distances to the near clipping plane. The value must be positive
farSpecify the distances to the far clipping plane. The value must be positive

Definition at line 215 of file OpenGLUtilities.inl.

◆ loadIdentityModelViewMatrix()

void gVirtualXRay::loadIdentityModelViewMatrix ( )
inline

Replace the model/view matrix by the identity matrix.

Definition at line 158 of file OpenGLUtilities.inl.

◆ loadIdentityProjectionMatrix()

void gVirtualXRay::loadIdentityProjectionMatrix ( )
inline

Replace the projection matrix by the identity matrix.

Definition at line 150 of file OpenGLUtilities.inl.

◆ loadLookAtModelViewMatrix() [1/2]

void gVirtualXRay::loadLookAtModelViewMatrix ( const VEC3 eye,
const VEC3 centre,
const VEC3 up 
)
inline

Replace the modelling-viewing matrix by a viewing transformation matrix.

Parameters
eyeSpecifies the position of the eye point
centreSpecifies the position of the reference point
upSpecifies the direction of the up vector

Definition at line 397 of file OpenGLUtilities.inl.

◆ loadLookAtModelViewMatrix() [2/2]

void gVirtualXRay::loadLookAtModelViewMatrix ( double  eyeX,
double  eyeY,
double  eyeZ,
double  centreX,
double  centreY,
double  centreZ,
double  upX,
double  upY,
double  upZ 
)
inline

Replace the modelling-viewing matrix by a viewing transformation matrix.

Parameters
eyeXSpecifies the position of the eye point along the X-axis
eyeYSpecifies the position of the eye point along the Y-axis
eyeZSpecifies the position of the eye point along the Z-axis
centreXSpecifies the position of the reference point along the X-axis
centreYSpecifies the position of the reference point along the Y-axis
centreZSpecifies the position of the reference point along the Z-axis
upXSpecifies the direction of the up vector along the X-axis
upYSpecifies the direction of the up vector along the Y-axis
upZSpecifies the direction of the up vector along the Z-axis

Definition at line 407 of file OpenGLUtilities.inl.

◆ loadModelViewMatrixFromOpenGL()

void gVirtualXRay::loadModelViewMatrixFromOpenGL ( )

Replace the modelling-viewing matrix by OpenGL's modelling-viewing matrix.

◆ loadOrthoProjectionMatrix()

void gVirtualXRay::loadOrthoProjectionMatrix ( double  left,
double  right,
double  bottom,
double  top,
double  near,
double  far 
)
inline

Replace the projection matrix by a orthographic projection matrix.

Parameters
leftSpecify the coordinates for the left vertical clipping plane
rightSpecify the coordinates for the right vertical clipping plane
bottomSpecify the coordinates for the bottom horizontal clipping plane
topSpecify the coordinates for the top horizontal clipping plane
nearSpecify the distances to the near clipping plane. The value must be positive
farSpecify the distances to the far clipping plane. The value must be positive

Definition at line 202 of file OpenGLUtilities.inl.

◆ loadPerspectiveProjectionMatrix()

void gVirtualXRay::loadPerspectiveProjectionMatrix ( double  fovy,
double  aspect,
double  zNear,
double  zFar 
)
inline

Replace the projection matrix by a perspective projection matrix.

Parameters
fovyspecifies the field of view angle, in degrees, in the y-direction.
aspectSpecifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height).
zNearSpecifies the distance from the viewer to the near clipping plane (always positive)
zFarSpecifies the distance from the viewer to the far clipping plane (always positive).

Definition at line 312 of file OpenGLUtilities.inl.

◆ loadProjectionMatrixFromOpenGL()

void gVirtualXRay::loadProjectionMatrixFromOpenGL ( )

Replace the projection matrix by OpenGL's projection matrix.

◆ log()

template<typename T >
Image< T > gVirtualXRay::log ( const Image< T > &  anImage)

Definition at line 5169 of file Image.inl.

◆ logspace()

std::vector<double> gVirtualXRay::logspace ( const double &  a,
const double &  b,
const int &  k 
)
inline

Definition at line 98 of file Scintillator.inl.

◆ multiplyOrthoProjectionMatrix()

void gVirtualXRay::multiplyOrthoProjectionMatrix ( double  left,
double  right,
double  bottom,
double  top,
double  nearPlane,
double  farPlane 
)
inline

Definition at line 266 of file OpenGLUtilities.inl.

◆ multiplyPerspectiveProjectionMatrix()

void gVirtualXRay::multiplyPerspectiveProjectionMatrix ( double  fovy,
double  aspect,
double  zNear,
double  zFar 
)
inline

Definition at line 323 of file OpenGLUtilities.inl.

◆ operator*() [1/2]

template<typename T >
Image< T > gVirtualXRay::operator* ( const T &  aValue,
const Image< T > &  anImage 
)

Definition at line 5104 of file Image.inl.

◆ operator*() [2/2]

template<typename T >
Vec3< T > gVirtualXRay::operator* ( const double &  aValue,
const Vec3< T > &  aVector 
)

Operator * to multiply each component of the vector by a given value.

Parameters
aValuethe multiplicative value
aVectorthe vector to multiply
Returns
the modified vector

Definition at line 476 of file Vec3.inl.

◆ operator+()

template<typename T >
Image< T > gVirtualXRay::operator+ ( const T &  aValue,
const Image< T > &  anImage 
)

Definition at line 5137 of file Image.inl.

◆ operator-()

template<typename T >
Image< T > gVirtualXRay::operator- ( const T &  aValue,
const Image< T > &  anImage 
)

Definition at line 5146 of file Image.inl.

◆ operator/()

template<typename T >
Image< T > gVirtualXRay::operator/ ( const T &  aValue,
const Image< T > &  anImage 
)

Definition at line 5113 of file Image.inl.

◆ operator<<() [1/11]

template<typename T >
std::ostream & gVirtualXRay::operator<< ( std::ostream &  anOutputStream,
const Vec2< T > &  aVector 
)

Definition at line 362 of file Vec2.inl.

◆ operator<<() [2/11]

template<typename T >
std::ostream & gVirtualXRay::operator<< ( std::ostream &  anOutputStream,
const Vec3< T > &  aVector 
)

Definition at line 485 of file Vec3.inl.

◆ operator<<() [3/11]

template<typename T >
std::ostream & gVirtualXRay::operator<< ( std::ostream &  anOutputStream,
const Matrix4x4< T > &  aMatrix 
)

Definition at line 624 of file Matrix4x4.inl.

◆ operator<<() [4/11]

std::ostream & gVirtualXRay::operator<< ( std::ostream &  anOuputStream,
const PhotonCrossSection anInstance 
)
inline

Definition at line 80 of file PhotonCrossSection.inl.

◆ operator<<() [5/11]

std::ostream & gVirtualXRay::operator<< ( std::ostream &  anOutputStream,
const Exception anException 
)
inline

operator<<

Parameters
anOutputStreamthe output stream
anExceptionthe exception to add to the output stream
Returns
the output stream

Definition at line 80 of file Exception.inl.

◆ operator<<() [6/11]

std::ostream& gVirtualXRay::operator<< ( std::ostream &  anOutputSream,
const gVirtualXRay::ElementSet anElementSet 
)

operator <<

◆ operator<<() [7/11]

std::ostream& gVirtualXRay::operator<< ( std::ostream &  anOutputSream,
const gVirtualXRay::AtomicElement anElement 
)

operator <<

◆ operator<<() [8/11]

std::ostream & gVirtualXRay::operator<< ( std::ostream &  os,
const SpectrumRecord obj 
)
inline

operator<<

Parameters
osthe output stream
objthe record to store in the stream
Returns
the output stream

Definition at line 117 of file SpectrumRecord.inl.

◆ operator<<() [9/11]

std::ostream & gVirtualXRay::operator<< ( std::ostream &  os,
const AttenuationCoefficient obj 
)
inline

operator<<

Parameters
osthe output stream
objthe record to store in the stream
Returns
the output stream

Definition at line 110 of file AttenuationCoefficient.inl.

◆ operator<<() [10/11]

std::ostream& gVirtualXRay::operator<< ( std::ostream &  anOutputSream,
const MaterialSet aMaterialSet 
)
inline

Definition at line 136 of file MaterialSet.inl.

◆ operator<<() [11/11]

std::ostream& gVirtualXRay::operator<< ( std::ostream &  anOutputSream,
const TissueMaterial aTissueMaterial 
)
inline

Definition at line 298 of file TissueMaterial.inl.

◆ operator>>() [1/4]

std::istream & gVirtualXRay::operator>> ( std::istream &  is,
SpectrumRecord obj 
)
inline

operator>>

Parameters
isthe input stream
objthe record to load from the stream
Returns
the input stream

Definition at line 105 of file SpectrumRecord.inl.

◆ operator>>() [2/4]

std::istream & gVirtualXRay::operator>> ( std::istream &  is,
AttenuationCoefficient obj 
)
inline

operator>>

Parameters
isthe input stream
objthe record to load from the stream
Returns
the input stream

Definition at line 95 of file AttenuationCoefficient.inl.

◆ operator>>() [3/4]

std::istream& gVirtualXRay::operator>> ( std::istream &  anInputSream,
gVirtualXRay::AtomicElement anElement 
)

operator >>

◆ operator>>() [4/4]

std::istream& gVirtualXRay::operator>> ( std::istream &  anInputSream,
TissueMaterial aTissueMaterial 
)
inline

Definition at line 317 of file TissueMaterial.inl.

◆ popEnableDisableState()

void gVirtualXRay::popEnableDisableState ( )

Restore the enable/disable state to the corresponding stack, and remove the last state of the stack.

◆ popFBO()

void gVirtualXRay::popFBO ( )

Restore the FBO binding from the FBO stack, and remove the last FBO of the stack.

◆ popModelViewMatrix()

void gVirtualXRay::popModelViewMatrix ( )
inline

Restore the matrix from the model/view matrix stack, and remove the last matrix of the stack.

Definition at line 131 of file OpenGLUtilities.inl.

◆ popProjectionMatrix()

void gVirtualXRay::popProjectionMatrix ( )
inline

Restore the matrix from the projection matrix stack, and remove the last matrix of the stack.

Definition at line 113 of file OpenGLUtilities.inl.

◆ popShaderProgram()

void gVirtualXRay::popShaderProgram ( )

Restore the shader program to the corresponding stack, and remove the last state of the stack.

◆ popTexture()

void gVirtualXRay::popTexture ( )

Restore the texture binding from the texture stack, and remove the last texture of the stack.

◆ pushEnableDisableState()

void gVirtualXRay::pushEnableDisableState ( int  aParameter)

Add the enable/disable state to the corresponding stack.

Parameters
aParameterparameter to add

◆ pushFBO()

void gVirtualXRay::pushFBO ( )

Add the current FBO binding to the FBO stack.

◆ pushModelViewMatrix()

void gVirtualXRay::pushModelViewMatrix ( )
inline

Add the current matrix to the model/view matrix stack.

Definition at line 105 of file OpenGLUtilities.inl.

◆ pushProjectionMatrix()

void gVirtualXRay::pushProjectionMatrix ( )
inline

Add the current matrix to the projection matrix stack.

Definition at line 97 of file OpenGLUtilities.inl.

◆ pushShaderProgram()

void gVirtualXRay::pushShaderProgram ( )

Add the current shader program to the corresponding stack.

◆ pushTexture1D()

void gVirtualXRay::pushTexture1D ( )

Add the current 1D texture binding to the texture stack.

◆ pushTexture2D()

void gVirtualXRay::pushTexture2D ( )

Add the current 2D texture binding to the texture stack.

◆ pushTexture3D()

void gVirtualXRay::pushTexture3D ( )

Add the current 3D texture binding to the texture stack.

◆ pushTextureRectangle()

void gVirtualXRay::pushTextureRectangle ( )

Add the current rectangle texture binding to the texture stack.

◆ radianToDegree()

template<typename T >
T gVirtualXRay::radianToDegree ( const T &  aAngleInRadian)

Definition at line 411 of file Utilities.inl.

◆ sgn()

template<typename T >
int gVirtualXRay::sgn ( const T &  aValue)

Definition at line 419 of file Utilities.inl.

◆ swapBytes()

template<typename T >
void gVirtualXRay::swapBytes ( T &  aValue)

Definition at line 384 of file Utilities.inl.

◆ useOpenGL32()

bool gVirtualXRay::useOpenGL32 ( )

Check if OpenGL 3.2 is supported by the current OpenGL context.

◆ useOpenGL45()

bool gVirtualXRay::useOpenGL45 ( )

Check if OpenGL 4.5 is supported by the current OpenGL context.

◆ useOpenGLCompute()

bool gVirtualXRay::useOpenGLCompute ( )

Check if OpenGL Compute Shaders are supported by the current OpenGL context.

Variable Documentation

◆ centigram

const double gVirtualXRay::centigram = 0.01

centigram

Definition at line 141 of file Units.h.

◆ centimeter

const double gVirtualXRay::centimeter = 0.01 / 0.001

centimetre

Definition at line 88 of file Units.h.

◆ centimetre

const double gVirtualXRay::centimetre = centimeter

centimetre

Definition at line 97 of file Units.h.

◆ cg

const double gVirtualXRay::cg = centigram

centigram

Definition at line 150 of file Units.h.

◆ cm

const double gVirtualXRay::cm = centimeter

centimeter

Definition at line 106 of file Units.h.

◆ cm2

const double gVirtualXRay::cm2 = cm * cm

square centimeter

Definition at line 115 of file Units.h.

◆ cm3

const double gVirtualXRay::cm3 = cm * cm * cm

cubic centimeter

Definition at line 124 of file Units.h.

◆ dag

const double gVirtualXRay::dag = decagram

decagram

Definition at line 147 of file Units.h.

◆ dam

const double gVirtualXRay::dam = decameter

decametre

Definition at line 103 of file Units.h.

◆ dam2

const double gVirtualXRay::dam2 = dam * dam

square decametre

Definition at line 112 of file Units.h.

◆ dam3

const double gVirtualXRay::dam3 = dam * dam * dam

cubic decametre

Definition at line 121 of file Units.h.

◆ decagram

const double gVirtualXRay::decagram = 10.0

decagram

Definition at line 138 of file Units.h.

◆ decameter

const double gVirtualXRay::decameter = 10.0 / 0.001

decametre

Definition at line 85 of file Units.h.

◆ decametre

const double gVirtualXRay::decametre = decameter

decametre

Definition at line 94 of file Units.h.

◆ decigram

const double gVirtualXRay::decigram = 0.1

decigram

Definition at line 140 of file Units.h.

◆ decimeter

const double gVirtualXRay::decimeter = 0.1 / 0.001

decimetre

Definition at line 87 of file Units.h.

◆ decimetre

const double gVirtualXRay::decimetre = decimeter

decimetre

Definition at line 96 of file Units.h.

◆ dg

const double gVirtualXRay::dg = decigram

decigram

Definition at line 149 of file Units.h.

◆ dm

const double gVirtualXRay::dm = decimeter

decimeter

Definition at line 105 of file Units.h.

◆ dm2

const double gVirtualXRay::dm2 = dm * dm

square decimeter

Definition at line 114 of file Units.h.

◆ dm3

const double gVirtualXRay::dm3 = dm * dm * dm

cubic decimeter

Definition at line 123 of file Units.h.

◆ electronvolt

const double gVirtualXRay::electronvolt = megaelectronvolt * 1.0e-6

electronvolt

Definition at line 130 of file Units.h.

◆ eV

const double gVirtualXRay::eV = electronvolt

electronvolt

Definition at line 134 of file Units.h.

◆ g

const double gVirtualXRay::g = gram

gram

Definition at line 148 of file Units.h.

◆ g_current_modelview_matrix

MATRIX4 gVirtualXRay::g_current_modelview_matrix

The model/view matrices.

◆ g_current_projection_matrix

MATRIX4 gVirtualXRay::g_current_projection_matrix

The projection matrix.

◆ g_enable_disable_state_stack

std::vector<std::pair<int, bool> > gVirtualXRay::g_enable_disable_state_stack

The stack of enable/disable states.

◆ g_frame_buffer_object_stack

std::vector<int> gVirtualXRay::g_frame_buffer_object_stack

The stack of FBO binding.

◆ g_p_modelview_matrix_stack

std::vector<MATRIX4> gVirtualXRay::g_p_modelview_matrix_stack

The stack of model/view matrices.

◆ g_p_projection_matrix_stack

std::vector<MATRIX4> gVirtualXRay::g_p_projection_matrix_stack

The stack of projection matrix.

◆ g_shader_program_stack

std::vector<int> gVirtualXRay::g_shader_program_stack

The stack of shader programs.

◆ g_texture_stack

std::vector<std::pair<int, int> > gVirtualXRay::g_texture_stack

The stack of texture binding.

◆ gram

const double gVirtualXRay::gram = 1.0

gram

Definition at line 139 of file Units.h.

◆ hectogram

const double gVirtualXRay::hectogram = 100.0

hectogram

Definition at line 137 of file Units.h.

◆ hectometer

const double gVirtualXRay::hectometer = 100.0 / 0.001

hectometre

Definition at line 84 of file Units.h.

◆ hectometre

const double gVirtualXRay::hectometre = hectometer

hectometre

Definition at line 93 of file Units.h.

◆ hg

const double gVirtualXRay::hg = hectogram

hectogram

Definition at line 146 of file Units.h.

◆ hm

const double gVirtualXRay::hm = hectometer

hectometre

Definition at line 102 of file Units.h.

◆ hm2

const double gVirtualXRay::hm2 = hm * hm

square hectometre

Definition at line 111 of file Units.h.

◆ hm3

const double gVirtualXRay::hm3 = hm * hm * hm

cubic hectometre

Definition at line 120 of file Units.h.

◆ keV

const double gVirtualXRay::keV = kiloelectronvolt

kiloelectron volt

Definition at line 133 of file Units.h.

◆ kg

const double gVirtualXRay::kg = kilogram

kilogram

Definition at line 145 of file Units.h.

◆ kiloelectronvolt

const double gVirtualXRay::kiloelectronvolt = megaelectronvolt * 1.0e-3

kiloelectron volt

Definition at line 129 of file Units.h.

◆ kilogram

const double gVirtualXRay::kilogram = 1000.0

kilogram

Definition at line 136 of file Units.h.

◆ kilometer

const double gVirtualXRay::kilometer = 1000.0 / 0.001

kilometre

Definition at line 83 of file Units.h.

◆ kilometre

const double gVirtualXRay::kilometre = kilometer

kilometre

Definition at line 92 of file Units.h.

◆ kilovolt

const double gVirtualXRay::kilovolt = megavolt * 1.0e-3

kilo volt

Definition at line 157 of file Units.h.

◆ km

const double gVirtualXRay::km = kilometer

kilometre

Definition at line 101 of file Units.h.

◆ km2

const double gVirtualXRay::km2 = km * km

square kilometre

Definition at line 110 of file Units.h.

◆ km3

const double gVirtualXRay::km3 = km * km * km

cubic kilometre

Definition at line 119 of file Units.h.

◆ kV

const double gVirtualXRay::kV = kilovolt

kilo volt

Definition at line 161 of file Units.h.

◆ LOGGER

Logger gVirtualXRay::LOGGER

◆ m

const double gVirtualXRay::m = meter

meter

Definition at line 104 of file Units.h.

◆ m2

const double gVirtualXRay::m2 = m * m

square meter

Definition at line 113 of file Units.h.

◆ m3

const double gVirtualXRay::m3 = m * m * m

cubic meter

Definition at line 122 of file Units.h.

◆ megaelectronvolt

const double gVirtualXRay::megaelectronvolt = 1.0

megaelectron volt

Definition at line 128 of file Units.h.

◆ megavolt

const double gVirtualXRay::megavolt = 1.0

mega volt

Definition at line 156 of file Units.h.

◆ meter

const double gVirtualXRay::meter = 1.0 / 0.001

metre

Definition at line 86 of file Units.h.

◆ metre

const double gVirtualXRay::metre = meter

metre

Definition at line 95 of file Units.h.

◆ MeV

const double gVirtualXRay::MeV = megaelectronvolt

megaelectron volt

Definition at line 132 of file Units.h.

◆ mg

const double gVirtualXRay::mg = milligram

milligram

Definition at line 151 of file Units.h.

◆ microgram

const double gVirtualXRay::microgram = 1e-6

microgram

Definition at line 143 of file Units.h.

◆ micrometer

const double gVirtualXRay::micrometer = 1.0e-6 / 0.001

micrometre

Definition at line 90 of file Units.h.

◆ micrometre

const double gVirtualXRay::micrometre = micrometer

micrometre

Definition at line 99 of file Units.h.

◆ milligram

const double gVirtualXRay::milligram = 0.001

milligram

Definition at line 142 of file Units.h.

◆ millimeter

const double gVirtualXRay::millimeter = 0.001 / 0.001

millimetre

Definition at line 89 of file Units.h.

◆ millimetre

const double gVirtualXRay::millimetre = millimeter

millimetre

Definition at line 98 of file Units.h.

◆ mm

const double gVirtualXRay::mm = millimeter

millimeter

Definition at line 107 of file Units.h.

◆ mm2

const double gVirtualXRay::mm2 = mm * mm

square millimeter

Definition at line 116 of file Units.h.

◆ mm3

const double gVirtualXRay::mm3 = mm * mm * mm

cubic millimeter

Definition at line 125 of file Units.h.

◆ mole

const double gVirtualXRay::mole = 1.0

mole

Definition at line 154 of file Units.h.

◆ MV

const double gVirtualXRay::MV = megavolt

mega volt

Definition at line 160 of file Units.h.

◆ N_Avogadro

const double gVirtualXRay::N_Avogadro = 6.02552 * 1.0e23

Avogadro number.

Definition at line 101 of file ConstantValues.h.

◆ Pi

const double gVirtualXRay::Pi = 3.14159265358979323846

Pi.

Definition at line 96 of file ConstantValues.h.

◆ Pi_2

const double gVirtualXRay::Pi_2 = Pi / 2.0

Pi divided by 2.0.

Definition at line 99 of file ConstantValues.h.

◆ ug

const double gVirtualXRay::ug = microgram

microgram

Definition at line 152 of file Units.h.

◆ um

const double gVirtualXRay::um = micrometer

micrometre

Definition at line 108 of file Units.h.

◆ um2

const double gVirtualXRay::um2 = um * um

square micrometre

Definition at line 117 of file Units.h.

◆ um3

const double gVirtualXRay::um3 = um * um * um

cubic micrometre

Definition at line 126 of file Units.h.

◆ V

const double gVirtualXRay::V = volt

volt

Definition at line 162 of file Units.h.

◆ volt

const double gVirtualXRay::volt = megavolt * 1.0e-6

volt

Definition at line 158 of file Units.h.

◆ Z_Ag

const unsigned short gVirtualXRay::Z_Ag = 47

Silver atomic number.

Definition at line 119 of file ConstantValues.h.

◆ Z_Ar

const unsigned short gVirtualXRay::Z_Ar = 18

Argon atomic number.

Definition at line 112 of file ConstantValues.h.

◆ Z_C

const unsigned short gVirtualXRay::Z_C = 6

Carbon atomic number.

Definition at line 104 of file ConstantValues.h.

◆ Z_Ca

const unsigned short gVirtualXRay::Z_Ca = 20

Calcium atomic number.

Definition at line 114 of file ConstantValues.h.

◆ Z_Cl

const unsigned short gVirtualXRay::Z_Cl = 17

Chlorine atomic number.

Definition at line 111 of file ConstantValues.h.

◆ Z_Cu

const unsigned short gVirtualXRay::Z_Cu = 29

Copper atomic number.

Definition at line 117 of file ConstantValues.h.

◆ Z_Fe

const unsigned short gVirtualXRay::Z_Fe = 26

Iron atomic number.

Definition at line 116 of file ConstantValues.h.

◆ Z_H

const unsigned short gVirtualXRay::Z_H = 1

Hydrogen atomic number.

Definition at line 103 of file ConstantValues.h.

◆ Z_I

const unsigned short gVirtualXRay::Z_I = 53

Iodine atomic number.

Definition at line 121 of file ConstantValues.h.

◆ Z_K

const unsigned short gVirtualXRay::Z_K = 19

Potassium atomic number.

Definition at line 113 of file ConstantValues.h.

◆ Z_Mg

const unsigned short gVirtualXRay::Z_Mg = 12

Magnesium atomic number.

Definition at line 108 of file ConstantValues.h.

◆ Z_N

const unsigned short gVirtualXRay::Z_N = 7

Nitrogen atomic number.

Definition at line 105 of file ConstantValues.h.

◆ Z_Na

const unsigned short gVirtualXRay::Z_Na = 11

Sodium atomic number.

Definition at line 107 of file ConstantValues.h.

◆ Z_O

const unsigned short gVirtualXRay::Z_O = 8

Oxygen atomic number.

Definition at line 106 of file ConstantValues.h.

◆ Z_P

const unsigned short gVirtualXRay::Z_P = 15

Phosphorus atomic number.

Definition at line 109 of file ConstantValues.h.

◆ Z_S

const unsigned short gVirtualXRay::Z_S = 16

Sulfur atomic number.

Definition at line 110 of file ConstantValues.h.

◆ Z_Sn

const unsigned short gVirtualXRay::Z_Sn = 50

Tin atomic number.

Definition at line 120 of file ConstantValues.h.

◆ Z_Ti

const unsigned short gVirtualXRay::Z_Ti = 22

Titanium atomic number.

Definition at line 115 of file ConstantValues.h.

◆ Z_Zn

const unsigned short gVirtualXRay::Z_Zn = 30

Zinc atomic number.

Definition at line 118 of file ConstantValues.h.