public class SFastTraversalVoxelAlgorithm
extends java.lang.Object
La classe SFastTraversalVoxelAlgorithm représente un algorithme permettant de traverser un grillage de voxel en ligne droite en paramétrisant le parcours avec le temps.
Cette implémentation est inspirée d'un article de John Amanatides and Andrew Woo du département de Computer Science de l'université de Toronto.
http://www.cse.chalmers.se/edu/year/2011/course/TDA361_Computer_Graphics/grid.pdf
Constructor and Description |
---|
SFastTraversalVoxelAlgorithm(SRay ray,
double t_max,
double dimension,
SVoxel extremum)
Constructeur d'un parcoureur linéaire de voxel.
|
Modifier and Type | Method and Description |
---|---|
boolean |
asNextVoxel()
Méthode pour déterminer s'il reste dans l'itération des voxels le long de la droite de voxels.
|
void |
close()
Méthode pour mettre fin à l'itération de la ligne de voxel.
|
double |
nextMaxTime()
Méthode pour obtenir le temps de parcours afin de sortir du prochain voxel généré par ce générateur de voxel.
|
double |
nextMinTime()
Méthode pour obtenir le temps de parcours afin d'entrer dans le prochain voxel généré par ce générateur de voxel.
|
SVoxel |
nextVoxel()
Méthode pour obtenir le prochain voxel de l'itération le long de la droite de voxels.
|
public SFastTraversalVoxelAlgorithm(SRay ray, double t_max, double dimension, SVoxel extremum)
ray
- - Le rayon voyageant dans l'esapce des voxels.t_max
- - Le temps maximal que le rayon est autorisé à voyager.dimension
- - La dimension des voxels ("1" unité voxel = "dimension" unité monde).extremum
- - Le voxel extremum (en valeur absolue) admissible dans l'itération de long de la droite de voxel.public void close()
public boolean asNextVoxel()
public double nextMaxTime()
public double nextMinTime()
public SVoxel nextVoxel()