#pragma once #include "software_global.h" #include "RayIntersector.h" namespace paysages { namespace software { /** * Ray intersector with terrain. */ class SOFTWARESHARED_EXPORT TerrainIntersector : public RayIntersector { public: TerrainIntersector(TerrainRenderer *renderer); virtual int getPriority() const override; virtual bool findIntersection(const Vector3 &eye, const Vector3 &direction, double limit, Vector3 *out_hit) const override; virtual Color getColorAtHit(const Vector3 &eye, const Vector3 &location) const override; private: TerrainRenderer *renderer; }; } }