SCENE C++ API  2.1.0
lsvolume.h
1 #pragma once
2 
3 #include <Core_API/lsinterface.h>
4 #include <Core_API/lsreftype.h>
5 
6 namespace SCENE_API {
7 
8 // Forward declarations
9 class LSSphereVolume_Implementation;
10 
15 {
16 public:
21  CORE_API_EXPORT LSSphereVolume(const Eigen::Vector3d center, const double radius);
22 
23 protected:
24  LS_INTERFACE(LSSphereVolume, LSInterface)
25 };
26 
29 {
30 public:
31  virtual ~LSVolumeDefinition() {};
32 
33  enum IntersectResult { INSIDE, OUTSIDE, INTERSECT };
34 
39  virtual IntersectResult testSphere(const Eigen::Vector3d& center, double radius) = 0;
40 
44  virtual bool testPoint(const Eigen::Vector3d& point) = 0;
45 };
46 
47 }