7 #include "RaySceneIntersection.h" 9 #include "KDTreeNode.h" 52 std::shared_ptr<KDTreeNode>
root;
93 glm::dvec3 _rayOrigin,
115 glm::dvec3 _rayOrigin,
RaySceneIntersection * search(glm::dvec3 _rayOrigin, glm::dvec3 _rayDir, double tmin, double tmax, bool groundOnly)
Search first intersection for specified ray.
Definition: KDTreeRaycaster.cpp:28
glm::dvec3 rayDir
Ray 3D director vector.
Definition: KDTreeRaycaster.h:30
std::vector< double > rayOriginArray
Vector containing components of ray origin. It is filled at the start of a search operation...
Definition: KDTreeRaycaster.h:48
void searchAll_recursive(KDTreeNode *node, double tmin, double tmax)
Recursive search function to assist searchAll function.
Definition: KDTreeRaycaster.cpp:60
bool groundOnly
Flag to specify if only ground points must be considered (true) or not (false)
Definition: KDTreeRaycaster.h:26
double closestHitDistance
Distance of closest hit. It is numeric_limits<double>::max() by default.
Definition: KDTreeRaycaster.h:57
glm::dvec3 rayOrigin
Ray origin 3D coordinates.
Definition: KDTreeRaycaster.h:34
Primitive * search_recursive(KDTreeNode *node, double tmin, double tmax)
Recursive search function to assist search function.
Definition: KDTreeRaycaster.cpp:160
std::vector< double > rayDirArray
Vector containing components of ray director vector. It is filled at the start of a search operation...
Definition: KDTreeRaycaster.h:41
double epsilon
Decimal precision for the ray caster.
Definition: KDTreeRaycaster.h:21
std::map< double, Primitive * > collectedPoints
Map of primitives identified by its distance with respect to ray origin. Only primitives which inters...
Definition: KDTreeRaycaster.h:64
std::shared_ptr< KDTreeNode > root
Shared pointer to the root node of the KDTree.
Definition: KDTreeRaycaster.h:52
Class representing a the intersection of a ray over a scene made of primitives.
Definition: RaySceneIntersection.h:12
Class representing a KDTree node.
Definition: KDTreeNode.h:16
KDTreeRaycaster(std::shared_ptr< KDTreeNode > root)
KDTree ray caster constructor.
Definition: KDTreeRaycaster.h:72
Class representing a KDTree ray caster.
Definition: KDTreeRaycaster.h:14
Abstract class defining the common behavior for all primitives.
Definition: Primitive.h:20
std::map< double, Primitive * > searchAll(glm::dvec3 _rayOrigin, glm::dvec3 _rayDir, double tmin, double tmax, bool groundOnly)
Search all intersections for specified ray.
Definition: KDTreeRaycaster.cpp:7