File: PerlOGREControllerFunction.cpp

package info (click to toggle)
libogre-perl 0.40-1
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 1,812 kB
  • ctags: 452
  • sloc: perl: 6,019; cpp: 501; makefile: 2
file content (19 lines) | stat: -rw-r--r-- 580 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include "PerlOGREControllerFunction.h"

PerlOGREControllerFunction::PerlOGREControllerFunction(SV *pobj)
    : PerlOGRECallback(pobj),
      Ogre::ControllerFunction<Ogre::Real>::ControllerFunction(false)  // wow, that's ugly
{
    mCanMap["calculate"] = perlCallbackCan("calculate");
}

Ogre::Real PerlOGREControllerFunction::calculate(Ogre::Real sourceValue)
{
    // arg 1 for perl stack
    SV *perlval = newSV(0);
    sv_setnv(perlval, (Ogre::Real)sourceValue);
    mCallbackArgs.push_back(perlval);

    // call the callback
    return callPerlCallbackReal("calculate");
}