i6engine
1.0
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
HeightmapCollisionShape.h
Go to the documentation of this file.
1
/*
2
* i6engine
3
* Copyright (2016) Daniel Bonrath, Michael Baer, All rights reserved.
4
*
5
* This file is part of i6engine; i6engine is free software; you can redistribute it and/or
6
* modify it under the terms of the GNU Lesser General Public
7
* License as published by the Free Software Foundation; either
8
* version 2.1 of the License, or (at your option) any later version.
9
*
10
* This library is distributed in the hope that it will be useful,
11
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
* Lesser General Public License for more details.
14
*
15
* You should have received a copy of the GNU Lesser General Public
16
* License along with this library; if not, write to the Free Software
17
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18
*/
19
25
#ifndef __I6ENGINE_MODULES_COLLISIONSHAPES_HEIGHTMAPCOLLISIONSHAPE_H__
26
#define __I6ENGINE_MODULES_COLLISIONSHAPES_HEIGHTMAPCOLLISIONSHAPE_H__
27
28
#include <cstdint>
29
#include <vector>
30
31
#include "
i6engine/math/i6eVector.h
"
32
33
#include "
i6engine/modules/physics/collisionShapes/CollisionShape.h
"
34
35
#include "boost/serialization/vector.hpp"
36
37
namespace
i6e
{
38
namespace
modules {
39
40
struct
ISIXE_MODULES_API
HeightmapCollisionShapeData
:
public
CollisionShapeData
{
41
uint32_t
width
;
42
uint32_t
height
;
43
std::vector<double>
data
;
44
double
minHeight
;
45
double
maxHeight
;
46
Vec3
scaling
;
47
48
HeightmapCollisionShapeData
();
49
50
HeightmapCollisionShapeData
(uint32_t w, uint32_t h,
const
std::vector<double> & d,
double
minH,
double
maxH,
const
Vec3
& s);
51
52
template
<
class
Archive>
53
void
serialize
(Archive & ar,
const
unsigned
int
/*version*/
) {
54
ar & boost::serialization::base_object<CollisionShapeData>(*this);
55
ar & width;
56
ar & height;
57
ar & data;
58
ar & minHeight;
59
ar & maxHeight;
60
ar & scaling;
61
}
62
};
63
64
}
/* namespace modules */
65
}
/* namespace i6e */
66
67
#endif
/* __I6ENGINE_MODULES_COLLISIONSHAPES_HEIGHTMAPCOLLISIONSHAPE_H__ */
68
i6e::modules::HeightmapCollisionShapeData::serialize
void serialize(Archive &ar, const unsigned int)
Definition:
HeightmapCollisionShape.h:53
i6e::modules::HeightmapCollisionShapeData::height
uint32_t height
Definition:
HeightmapCollisionShape.h:42
i6e::modules::CollisionShapeData
Definition:
CollisionShape.h:43
ISIXE_MODULES_API
#define ISIXE_MODULES_API
Definition:
i6eSystemParameters.h:118
i6e::modules::HeightmapCollisionShapeData
Definition:
HeightmapCollisionShape.h:40
i6e::math::i6eVector
Implements 3-dimensional vectors.
Definition:
i6eVector.h:48
i6e::modules::HeightmapCollisionShapeData::data
std::vector< double > data
Definition:
HeightmapCollisionShape.h:43
i6e::modules::HeightmapCollisionShapeData::maxHeight
double maxHeight
Definition:
HeightmapCollisionShape.h:45
i6e::modules::HeightmapCollisionShapeData::width
uint32_t width
Definition:
HeightmapCollisionShape.h:41
i6e::modules::HeightmapCollisionShapeData::minHeight
double minHeight
Definition:
HeightmapCollisionShape.h:44
i6eVector.h
CollisionShape.h
i6e::modules::HeightmapCollisionShapeData::scaling
Vec3 scaling
Definition:
HeightmapCollisionShape.h:46
i6e
Definition:
AutoUpdater.h:34
Projekte
i6engine
libs
i6engine-modules
include
i6engine
modules
physics
collisionShapes
HeightmapCollisionShape.h
Generated on Mon May 30 2016 17:33:30 for i6engine by
1.8.9.1