aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src/others/irrlicht-1.8.1/source/Irrlicht/CWaterSurfaceSceneNode.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/others/irrlicht-1.8.1/source/Irrlicht/CWaterSurfaceSceneNode.h')
-rw-r--r--src/others/irrlicht-1.8.1/source/Irrlicht/CWaterSurfaceSceneNode.h61
1 files changed, 61 insertions, 0 deletions
diff --git a/src/others/irrlicht-1.8.1/source/Irrlicht/CWaterSurfaceSceneNode.h b/src/others/irrlicht-1.8.1/source/Irrlicht/CWaterSurfaceSceneNode.h
new file mode 100644
index 0000000..f8ce2d0
--- /dev/null
+++ b/src/others/irrlicht-1.8.1/source/Irrlicht/CWaterSurfaceSceneNode.h
@@ -0,0 +1,61 @@
1// Copyright (C) 2002-2012 Nikolaus Gebhardt
2// This file is part of the "Irrlicht Engine".
3// For conditions of distribution and use, see copyright notice in irrlicht.h
4
5#ifndef __C_WATER_SURFACE_SCENE_NODE_H_INCLUDED__
6#define __C_WATER_SURFACE_SCENE_NODE_H_INCLUDED__
7
8#include "CMeshSceneNode.h"
9
10namespace irr
11{
12namespace scene
13{
14
15 class CWaterSurfaceSceneNode : public CMeshSceneNode
16 {
17 public:
18
19 //! constructor
20 CWaterSurfaceSceneNode(f32 waveHeight, f32 waveSpeed, f32 waveLength,
21 IMesh* mesh, ISceneNode* parent, ISceneManager* mgr, s32 id,
22 const core::vector3df& position = core::vector3df(0,0,0),
23 const core::vector3df& rotation = core::vector3df(0,0,0),
24 const core::vector3df& scale = core::vector3df(1.0f, 1.0f, 1.0f));
25
26 //! destructor
27 virtual ~CWaterSurfaceSceneNode();
28
29 //! frame registration
30 virtual void OnRegisterSceneNode();
31
32 //! animated update
33 virtual void OnAnimate(u32 timeMs);
34
35 //! Update mesh
36 virtual void setMesh(IMesh* mesh);
37
38 //! Returns type of the scene node
39 virtual ESCENE_NODE_TYPE getType() const { return ESNT_WATER_SURFACE; }
40
41 //! Writes attributes of the scene node.
42 virtual void serializeAttributes(io::IAttributes* out, io::SAttributeReadWriteOptions* options) const;
43
44 //! Reads attributes of the scene node.
45 virtual void deserializeAttributes(io::IAttributes* in, io::SAttributeReadWriteOptions* options);
46
47 private:
48
49 inline f32 addWave(const core::vector3df &source, f32 time) const;
50
51 f32 WaveLength;
52 f32 WaveSpeed;
53 f32 WaveHeight;
54 IMesh* OriginalMesh;
55 };
56
57} // end namespace scene
58} // end namespace irr
59
60#endif
61