Grove KDTree Raycaster extends KDTreeRaycaster to make it compatible with groves by implementing the RaycasterGroveTree interface.
More...
#include <GroveKDTreeRaycaster.h>
|
| GroveKDTreeRaycaster (std::shared_ptr< LightKDTreeNode > root, std::shared_ptr< KDTreeFactory > kdtf=nullptr, std::shared_ptr< PointerVector< Primitive >> cache_prims=nullptr) |
| Default Grove KDTree ray caster constructor. More...
|
|
virtual | ~GroveKDTreeRaycaster ()=default |
| The destructor of Grove KDTree must destroy any cache-related resource that doesnt make sense after the time-of-live of the raycaster has finished.
|
|
std::map< double, Primitive * > | searchAll (glm::dvec3 rayOrigin, glm::dvec3 rayDir, double tmin, double tmax, bool groundOnly) override |
|
RaySceneIntersection * | search (glm::dvec3 rayOrigin, glm::dvec3 rayDir, double tmin, double tmax, bool groundOnly) override |
|
void | update (DynObject &dynObj) override |
| Method to handle callbacks from updated dynamic objects. More...
|
|
virtual std::shared_ptr< GroveKDTreeRaycaster > | makeTemporalClone () const |
| Make a temporal clone of the GroveKDTreeRaycaster. More...
|
|
std::shared_ptr< PointerVector< Primitive > > | sharedCopy (std::vector< Primitive * > const &src) const |
| Generate a shared pointer to a copy of the given vector of primitives. Copy implies that primitives are cloned. Thus, deleting copied primitives will not delete source primitives. More...
|
|
| KDTreeRaycaster (std::shared_ptr< LightKDTreeNode > root) |
| KDTree ray caster constructor. More...
|
|
std::map< double, Primitive * > | searchAll (glm::dvec3 const rayOrigin, glm::dvec3 const rayDir, double const tmin, double const tmax, bool const groundOnly) override |
|
RaySceneIntersection * | search (glm::dvec3 const rayOrigin, glm::dvec3 const rayDir, double const tmin, double const tmax, bool const groundOnly) override |
|
Grove KDTree Raycaster extends KDTreeRaycaster to make it compatible with groves by implementing the RaycasterGroveTree interface.
- Author
- Alberto M. Esmoris Pena
- Version
- 1.0
- See also
- RaycasterGroveTree
-
KDTreeRaycaster
◆ GroveKDTreeRaycaster()
Default Grove KDTree ray caster constructor.
- Parameters
-
root | Root node of the KDTree |
◆ makeTemporalClone()
◆ search()
RaySceneIntersection* GroveKDTreeRaycaster::search |
( |
glm::dvec3 |
rayOrigin, |
|
|
glm::dvec3 |
rayDir, |
|
|
double |
tmin, |
|
|
double |
tmax, |
|
|
bool |
groundOnly |
|
) |
| |
|
inlineoverridevirtual |
◆ searchAll()
std::map<double, Primitive*> GroveKDTreeRaycaster::searchAll |
( |
glm::dvec3 |
rayOrigin, |
|
|
glm::dvec3 |
rayDir, |
|
|
double |
tmin, |
|
|
double |
tmax, |
|
|
bool |
groundOnly |
|
) |
| |
|
inlineoverridevirtual |
◆ sharedCopy()
Generate a shared pointer to a copy of the given vector of primitives. Copy implies that primitives are cloned. Thus, deleting copied primitives will not delete source primitives.
- Parameters
-
src | The source primitives to be copied |
- Returns
- Shared pointer to a vector of cloned primitives
◆ update()
void GroveKDTreeRaycaster::update |
( |
DynObject & |
dynObj | ) |
|
|
overridevirtual |
The documentation for this class was generated from the following files: