sorry, just typing into this window without a compiler.... it was a typo error. use this instead, camera->setposition(GetPointInBackAndAbove(node,100,40));
take a look at the functions i provided, maybe i should have explained them better.
when you get the 'IN' of a node, it gives you the direction that the node is 'facing'. If you multiply that by some value, it will give you a position that is 'in front' of the node by some amount.
when you get the "LEFT" of a node, it gives you a direction vector that is 90 degrees from the IN of the node.
when you get the 'UP' of a node, it will give you the direction vector that is...well, UP

of the node.
since all of these return normalized vectors (i.e. all units are less than 1), it is simply a direction that is returned not really a point in space. for example,
vector3df in = GetIrrIn(node);
might return a vector3df that has the values (0.3,1,0.5) which represents the direction that the node is facing.
// now multiply the IN times so distance that you want to move
vector3df point = in * 100; which is really (0.3,1,0.5) * (100,100,100) or (30.0,100.0,50.0)
// you now have a value in 'point' that is really the IN (facing direction) of the node multiplied by some arbitrary value, in this case 100
// if you now add the node's current position and the new point
vector3df newposition = node->getPosition() + point; or (2,2,2) + (30.0,100.0,50.0) or (32,102,52)
//and VIOLA! you have a new position that is exactly 100 units in front of the node.
//now you set the nodes position
node->setPosition(newposition)
and you have moved the node some arbitrary distance (in this case 100) in the direction that the node was facing.
the GetPointInBackAndAbove(node,100,40); just make it easier to do by combining multiple items together.