TrinityCore
DynamicTree.h
Go to the documentation of this file.
1
/*
2
* This file is part of the TrinityCore Project. See AUTHORS file for Copyright information
3
*
4
* This program is free software; you can redistribute it and/or modify it
5
* under the terms of the GNU General Public License as published by the
6
* Free Software Foundation; either version 2 of the License, or (at your
7
* option) any later version.
8
*
9
* This program is distributed in the hope that it will be useful, but WITHOUT
10
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
12
* more details.
13
*
14
* You should have received a copy of the GNU General Public License along
15
* with this program. If not, see <http://www.gnu.org/licenses/>.
16
*/
17
18
#ifndef _DYNTREE_H
19
#define _DYNTREE_H
20
21
#include "
Define.h
"
22
#include "
Optional.h
"
23
24
namespace
G3D
25
{
26
class
Ray;
27
class
Vector3;
28
}
29
30
class
GameObjectModel
;
31
class
PhaseShift
;
32
struct
DynTreeImpl
;
33
34
namespace
VMAP
35
{
36
struct
AreaAndLiquidData
;
37
}
38
39
class
TC_COMMON_API
DynamicMapTree
40
{
41
DynTreeImpl
*
impl
;
42
43
public
:
44
45
DynamicMapTree
();
46
~DynamicMapTree
();
47
48
bool
isInLineOfSight(G3D::Vector3
const
& startPos, G3D::Vector3
const
& endPos,
PhaseShift
const
& phaseShift)
const
;
49
bool
getIntersectionTime(G3D::Ray
const
& ray, G3D::Vector3
const
& endPos,
PhaseShift
const
& phaseShift,
float
& maxDist)
const
;
50
bool
getObjectHitPos(G3D::Vector3
const
& startPos, G3D::Vector3
const
& endPos, G3D::Vector3& resultHitPos,
float
modifyDist,
PhaseShift
const
& phaseShift)
const
;
51
52
float
getHeight(
float
x,
float
y,
float
z,
float
maxSearchDist,
PhaseShift
const
& phaseShift)
const
;
53
bool
getAreaAndLiquidData(
float
x,
float
y,
float
z,
PhaseShift
const
& phaseShift,
Optional<uint8>
reqLiquidType,
VMAP::AreaAndLiquidData
& data)
const
;
54
55
void
insert(
GameObjectModel
const
&);
56
void
remove(
GameObjectModel
const
&);
57
bool
contains(
GameObjectModel
const
&)
const
;
58
59
void
balance();
60
void
update(
uint32
diff);
61
};
62
63
#endif
// _DYNTREE_H
Define.h
TC_COMMON_API
#define TC_COMMON_API
Definition:
Define.h:99
uint32
uint32_t uint32
Definition:
Define.h:142
Optional.h
Optional
std::optional< T > Optional
Optional helper class to wrap optional values within.
Definition:
Optional.h:25
DynamicMapTree
Definition:
DynamicTree.h:40
DynamicMapTree::impl
DynTreeImpl * impl
Definition:
DynamicTree.h:41
GameObjectModel
Definition:
GameObjectModel.h:62
PhaseShift
Definition:
PhaseShift.h:55
G3D
Definition:
DynamicTree.h:25
VMAP
Definition:
DynamicTree.h:35
DynTreeImpl
Definition:
DynamicTree.cpp:62
VMAP::AreaAndLiquidData
Definition:
IVMapManager.h:47
common
Collision
DynamicTree.h
Generated on Thu Mar 14 2024 23:39:07 for TrinityCore by
1.9.4