SCENE C++ API
2.0.32
Core_API
core_api
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
14
class
LSSphereVolume
:
public
LSInterface
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
28
class
LSVolumeDefinition
:
public
LSRefType
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
}