Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Pages
platform
Collision
ICollisionBvhProvider.h
1
// Copyright eeGeo Ltd (2012-2023), All Rights Reserved
2
3
#pragma once
4
5
#include "Types.h"
6
#include "Collision.h"
7
#include "ICallback.h"
8
#include "Streaming.h"
9
10
#include <vector>
11
12
namespace
Eegeo
13
{
14
namespace
Collision
15
{
16
class
ICollisionBvhProvider
17
{
18
public
:
19
virtual
~
ICollisionBvhProvider
() { };
20
21
virtual
size_t
CountCollisionBvhsForGroups(u32 collisionGroupsMask)
const
= 0;
22
23
virtual
size_t
CopyCollisionBvhsForGroups(u32 collisionGroupsMask,
const
CollisionBvh
** pCollisionBvhBufer,
size_t
maxBufferElements)
const
= 0;
24
25
typedef
Eegeo::Helpers::ICallback0
INotifyChangedCallback
;
26
typedef
Eegeo::Helpers::ICallback1<const CollisionBvh>
INotifyAddedCallback
;
27
typedef
Eegeo::Helpers::ICallback1<const CollisionBvh>
INotifyRemovedCallback
;
28
typedef
Eegeo::Helpers::ICallback2<const Eegeo::Streaming::MortonKey, const CollisionBvh>
INotifyAddedWithMortonKeyCallback
;
29
typedef
Eegeo::Helpers::ICallback2<const Eegeo::Streaming::MortonKey, const CollisionBvh>
INotifyRemovedWithMortonKeyCallback
;
30
31
virtual
void
RegisterObserver(
INotifyChangedCallback
& callback) = 0;
32
33
virtual
void
UnregisterObserver(
INotifyChangedCallback
& callback) = 0;
34
35
virtual
void
RegisterAddedObserver(
INotifyAddedCallback
& callback) = 0;
36
37
virtual
void
UnregisterAddedObserver(
INotifyAddedCallback
& callback) = 0;
38
39
virtual
void
RegisterRemovedObserver(
INotifyRemovedCallback
& callback) = 0;
40
41
virtual
void
UnregisterRemovedObserver(
INotifyRemovedCallback
& callback) = 0;
42
43
virtual
void
RegisterAddedObserver(
INotifyAddedWithMortonKeyCallback
& callback) = 0;
44
45
virtual
void
UnregisterAddedObserver(
INotifyAddedWithMortonKeyCallback
& callback) = 0;
46
47
virtual
void
RegisterRemovedObserver(
INotifyRemovedWithMortonKeyCallback
& callback) = 0;
48
49
virtual
void
UnregisterRemovedObserver(
INotifyRemovedWithMortonKeyCallback
& callback) = 0;
50
51
};
52
}
53
54
}
Generated on Sat Jun 10 2023 02:00:29 for eeGeo Platform SDK by
1.8.3.1