6 # include <simgear_config.h>
9 #include "personality.hxx"
10 #include "animation.hxx"
13 personality_pretrav_callback(ssgEntity * entity, int mask)
15 ((SGPersonalityBranch *)entity)->_old_current = SGAnimation::current_object;
16 SGAnimation::current_object = (SGPersonalityBranch *)entity;
21 personality_posttrav_callback(ssgEntity * entity, int mask)
23 SGAnimation::current_object = ((SGPersonalityBranch *)entity)->_old_current;
24 ((SGPersonalityBranch *)entity)->_old_current = 0;
28 SGPersonalityBranch::SGPersonalityBranch()
30 setTravCallback(SSG_CALLBACK_PRETRAV, personality_pretrav_callback);
31 setTravCallback(SSG_CALLBACK_POSTTRAV, personality_posttrav_callback);
34 void SGPersonalityBranch::setDoubleValue( double value, SGAnimation *anim, int var_id, int var_num )
36 _doubleValues[ Key( anim, var_id, var_num ) ] = value;
39 void SGPersonalityBranch::setIntValue( int value, SGAnimation *anim, int var_id, int var_num )
41 _intValues[ Key( anim, var_id, var_num ) ] = value;
44 double SGPersonalityBranch::getDoubleValue( SGAnimation *anim, int var_id, int var_num ) const
46 map<Key,double>::const_iterator it = _doubleValues.find( Key( anim, var_id, var_num ) );
47 if ( it != _doubleValues.end() ) {
54 int SGPersonalityBranch::getIntValue( SGAnimation *anim, int var_id, int var_num ) const
56 map<Key,int>::const_iterator it = _intValues.find( Key( anim, var_id, var_num ) );
57 if ( it != _intValues.end() ) {