SO3Engine
Toggle main menu visibility
Main Page
Related Pages
Topics
Namespaces
Namespace List
Namespace Members
All
a
b
c
d
e
f
g
h
i
l
m
n
p
q
r
s
t
v
w
x
Functions
Variables
Typedefs
a
b
c
d
f
m
p
s
Enumerations
Enumerator
b
c
e
f
h
l
m
n
p
r
s
t
x
Classes
Class List
Class Hierarchy
Class Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
f
g
i
l
m
n
o
p
s
t
u
v
w
Enumerations
a
c
d
e
f
g
h
l
n
p
r
s
v
w
Enumerator
a
b
c
d
e
f
h
l
m
n
o
p
r
s
t
v
Related Symbols
a
c
d
h
i
o
p
s
x
Files
File List
File Members
All
_
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
u
v
w
z
Functions
_
b
c
d
f
g
h
i
l
m
n
r
s
t
v
w
z
Variables
a
b
c
d
e
f
i
l
m
n
o
p
r
s
t
u
w
Typedefs
Enumerator
src
SO3Animation
SO3NodeAnimation.cpp
Go to the documentation of this file.
1
/*
2
-----------------------------------------------------------------------------
3
This source file is part of OpenSpace3D
4
For the latest info, see http://www.openspace3d.com
5
6
Copyright (c) 2012 I-maginer
7
8
This program is free software; you can redistribute it and/or modify it under
9
the terms of the GNU Lesser General Public License as published by the Free Software
10
Foundation; either version 2 of the License, or (at your option) any later
11
version.
12
13
This program is distributed in the hope that it will be useful, but WITHOUT
14
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
15
FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
16
17
You should have received a copy of the GNU Lesser General Public License along with
18
this program; if not, write to the Free Software Foundation, Inc., 59 Temple
19
Place - Suite 330, Boston, MA 02111-1307, USA, or go to
20
http://www.gnu.org/copyleft/lesser.txt
21
22
-----------------------------------------------------------------------------
23
*/
24
31
#include "
SO3Animation/SO3NodeAnimation.h
"
32
#include "
SO3Animation/SO3NodeAnimationTrack.h
"
33
#include "
SO3SceneGraph/SO3NodeScol.h
"
34
#include "
SO3SceneGraph/SO3Scene.h
"
35
36
namespace
SO3
37
{
38
39
// No handles on Ogre::NodeAnimation!
40
SNodeAnimation::SNodeAnimation(
SScene
* scene,
const
std::string& animationName,
SNode
* node,
const
unsigned
short
&
id
,
const
float
& animationLength) :
SAnim
(scene, animationName, node, id,
SAnim
::SO3_SCENENODE_ANIM)
41
{
42
ogreAnimation
=
mScene
->
GetOgreScenePointer
()->createAnimation(
name
, animationLength);
43
ogreAnimationState =
mScene
->
GetOgreScenePointer
()->createAnimationState(
name
);
44
}
40
SNodeAnimation::SNodeAnimation(
SScene
* scene,
const
std::string& animationName,
SNode
* node,
const
unsigned
short
&
id
,
const
float
& animationLength) :
SAnim
(scene, animationName, node, id,
SAnim
::SO3_SCENENODE_ANIM) {
…
}
45
46
SNodeAnimation::SNodeAnimation() :
SAnim
(0,
""
, 0, 0, SO3_UNKNOWN_ANIM)
47
{
48
// Forbiden (private)
49
}
50
51
SNodeAnimation::~SNodeAnimation
()
52
{
53
if
(
mScene
->
GetOgreScenePointer
()->hasAnimationState(
name
))
54
mScene
->
GetOgreScenePointer
()->destroyAnimationState(
name
);
55
ogreAnimationState = 0;
56
if
(
mScene
->
GetOgreScenePointer
()->hasAnimation(
name
))
57
mScene
->
GetOgreScenePointer
()->destroyAnimation(
name
);
58
}
51
SNodeAnimation::~SNodeAnimation
() {
…
}
59
60
SAnimTrack
*
SNodeAnimation::CreateAnimationTrackImpl
(
const
std::string& newAnimationTrackName)
61
{
62
return
new
SNodeAnimationTrack
(newAnimationTrackName,
this
,
ogreAnimation
->getNumNodeTracks());
63
}
60
SAnimTrack
*
SNodeAnimation::CreateAnimationTrackImpl
(
const
std::string& newAnimationTrackName) {
…
}
64
65
Ogre::AnimationState*
SNodeAnimation::_GetOgreAnimationState
()
66
{
67
return
ogreAnimationState;
68
}
65
Ogre::AnimationState*
SNodeAnimation::_GetOgreAnimationState
() {
…
}
69
70
}
SO3NodeAnimation.h
SO3NodeAnimationTrack.h
SO3NodeScol.h
SO3Scene.h
SO3::SAnim
Definition
SO3Anim.h:42
SO3::SAnim::ogreAnimation
Ogre::Animation * ogreAnimation
Definition
SO3Anim.h:65
SO3::SAnim::mScene
SScene * mScene
Definition
SO3Anim.h:67
SO3::SAnimTrack
Definition
SO3AnimTrack.h:42
SO3::SData::name
std::string name
Definition
SO3DataScol.h:44
SO3::SNodeAnimation::~SNodeAnimation
~SNodeAnimation()
Definition
SO3NodeAnimation.cpp:51
SO3::SNodeAnimation::CreateAnimationTrackImpl
virtual SAnimTrack * CreateAnimationTrackImpl(const std::string &newAnimationTrackName)
Definition
SO3NodeAnimation.cpp:60
SO3::SNodeAnimation::_GetOgreAnimationState
virtual Ogre::AnimationState * _GetOgreAnimationState()
Definition
SO3NodeAnimation.cpp:65
SO3::SNodeAnimationTrack
Definition
SO3NodeAnimationTrack.h:34
SO3::SNode
Definition
SO3NodeScol.h:43
SO3::SScene
Definition
SO3Scene.h:125
SO3::SScene::GetOgreScenePointer
Ogre::SceneManager * GetOgreScenePointer()
Definition
SO3Scene.cpp:449
SO3
Definition
SO3DataScol.h:38
Generated by
1.9.8