Irrlicht 3D Engine
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
ISceneNodeAnimatorCollisionResponse.h
Go to the documentation of this file.
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 __I_SCENE_NODE_ANIMATOR_COLLISION_RESPONSE_H_INCLUDED__
6
#define __I_SCENE_NODE_ANIMATOR_COLLISION_RESPONSE_H_INCLUDED__
7
8
#include "
ISceneNode.h
"
9
10
namespace
irr
11
{
12
namespace
scene
13
{
14
15
class
ISceneNodeAnimatorCollisionResponse;
16
18
22
class
ICollisionCallback
:
public
virtual
IReferenceCounted
23
{
24
public
:
25
27
36
virtual
bool
onCollision
(
const
ISceneNodeAnimatorCollisionResponse
& animator) = 0;
37
};
38
40
53
class
ISceneNodeAnimatorCollisionResponse
:
public
ISceneNodeAnimator
54
{
55
public
:
56
58
virtual
~ISceneNodeAnimatorCollisionResponse
() {}
59
61
66
virtual
bool
isFalling
()
const
= 0;
67
69
77
virtual
void
setEllipsoidRadius
(
const
core::vector3df
& radius) = 0;
78
80
81
virtual
core::vector3df
getEllipsoidRadius
()
const
= 0;
82
84
89
virtual
void
setGravity
(
const
core::vector3df
& gravity) = 0;
90
93
virtual
core::vector3df
getGravity
()
const
= 0;
94
96
98
virtual
void
jump
(
f32
jumpSpeed) = 0;
99
101
virtual
void
setAnimateTarget
(
bool
enable ) = 0;
102
virtual
bool
getAnimateTarget
()
const
= 0;
103
105
111
virtual
void
setEllipsoidTranslation
(
const
core::vector3df
&translation) = 0;
112
114
119
virtual
core::vector3df
getEllipsoidTranslation
()
const
= 0;
120
122
124
virtual
void
setWorld
(
ITriangleSelector
* newWorld) = 0;
125
127
virtual
ITriangleSelector
*
getWorld
()
const
= 0;
128
130
133
virtual
void
setTargetNode
(
ISceneNode
* node) = 0;
134
136
137
virtual
ISceneNode
*
getTargetNode
(
void
)
const
= 0;
138
140
virtual
bool
collisionOccurred
()
const
= 0;
141
143
virtual
const
core::vector3df
&
getCollisionPoint
()
const
= 0;
144
146
virtual
const
core::triangle3df
&
getCollisionTriangle
()
const
= 0;
147
149
153
virtual
const
core::vector3df
&
getCollisionResultPosition
(
void
)
const
= 0;
154
156
virtual
ISceneNode
*
getCollisionNode
(
void
)
const
= 0;
157
159
162
virtual
void
setCollisionCallback
(
ICollisionCallback
* callback) = 0;
163
164
};
165
166
167
}
// end namespace scene
168
}
// end namespace irr
169
170
#endif
171
Irrlicht Engine
Documentation © 2003-2012 by Nikolaus Gebhardt. Generated on Tue Apr 7 2020 19:33:42 for Irrlicht 3D Engine by
Doxygen
1.8.1.2