open_iA  2019.12
A tool for the visual analysis and processing of volumetric datasets, with a focus on industrial computed tomography.
Classes | Macros | Functions
iAScene.h File Reference
#include "iARayTracer.h"
Include dependency graph for iAScene.h:
This graph shows which files directly or indirectly include this file:

Classes

struct  iAintersection
 Structure representing intersection data, contains data about primitives.
More...
 
class  iAScene
 Class representing scene data, organized as BSP tree. Also list of all primitives is available. More...
 
class  iATriPrim
 Triangle primitive class. More...
 

Macros

#define HIT   1
 
#define INPRIM   -1
 
#define MISS   0
 

Functions

int GetIntersectionState (const iARay &ray, float &tmin, float &tmax, float &split, int splitIndex, float &t)
 Ray-AABB intersection routine, checks which subnodes' AABBs are intersected by ray. More...
 
int Intersect (iAVec3f &ro, iAVec3f rd, const iAaabb &box)
 Ray-AABB intersection routine. More...
 
int IntersectAABB (const iARay &ray, const iAaabb &box, float &tmin, float &tmax)
 Ray-AABB intersection routine. More...
 
int IntersectCyl (const iARay &ray, const iAaabb &box, float &tmin, float &tmax, int ind)
 Ray-Axis-oriented-cylinder intersection routine. More...
 

Macro Definition Documentation

◆ HIT

#define HIT   1

◆ INPRIM

#define INPRIM   -1

◆ MISS

#define MISS   0

Function Documentation

◆ GetIntersectionState()

int GetIntersectionState ( const iARay ray,
float &  tmin,
float &  tmax,
float &  split,
int  splitIndex,
float &  t 
)
inline

Ray-AABB intersection routine, checks which subnodes' AABBs are intersected by ray.

Parameters
rayray class.
tminparent AABB min t.
tmaxparent AABB max t.
splitsplit plane's coordinates
splitIndexindex of splitting axis
t[out] split plane's t
Returns
0 - left node intersected 1 - both nodes intersected 2 - right node intersected

◆ Intersect()

int Intersect ( iAVec3f ro,
iAVec3f  rd,
const iAaabb box 
)
inline

Ray-AABB intersection routine.

Parameters
roray's origin position.
rdray's distance.
boxaxis aligned bounding box structure.
Returns
1 - if ray intersects AABB 0 - otherwise

◆ IntersectAABB()

int IntersectAABB ( const iARay ray,
const iAaabb box,
float &  tmin,
float &  tmax 
)
inline

Ray-AABB intersection routine.

Parameters
rayray class.
boxaxis aligned bounding box structure.
tminparent AABB min t.
tmaxparent AABB max t.
Returns
1 - if ray intersects AABB 0 - otherwise

◆ IntersectCyl()

int IntersectCyl ( const iARay ray,
const iAaabb box,
float &  tmin,
float &  tmax,
int  ind 
)

Ray-Axis-oriented-cylinder intersection routine.

Parameters
rayray class.
boxaxis aligned bounding box structure.
tminparent AABB min t.
tmaxparent AABB max t.
indcylinder axis index.
Returns
1 - if ray intersects AABB 0 - otherwise