All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
FeatureRayCastingService.h
1 #pragma once
2 
3 #include "Types.h"
4 #include "FeatureInteraction.h"
5 #include "IFeatureRayCastingService.h"
6 
7 namespace Eegeo
8 {
9  namespace Collision
10  {
11 
13  {
14  public:
15  FeatureRayCastingService(Collision::IRayCaster& environmentRayCaster);
16 
17  FeatureRayCastResult FindFirstRayIntersection(
18  const Geometry::Ray& ray,
19  const u32 collideWithCollisionGroups) override;
20  private:
21  Collision::IRayCaster& m_environmentRayCaster;
22  };
23 
24  namespace Helpers
25  {
26  FeatureRayCastResult RayCastEarthSphere(const Geometry::Ray& ray);
27 
28  FeatureRayCastResult BuildFeatureRayCastResultFromRayCasterResult(const Collision::RayCasterResult& rayCasterResult);
29  }
30 
31  }
32 }