It depends on how Box (or its parent object) is designed.
Its possible to design in such a way that you can use both methods
box->SetPosition( Vec3(0,0,-2), false ) ;
or
box->SetPosition( 0,0,-2, false ) ;
Thats is if the Entity object (the parent of Box) is designed with both type of SetPosition methods like this
class Entity
{
public:
void SetPosition( float x, float y, float z, bool b ) ;
// New pos using floats
void SetPosition( const Vec3& pos, bool b ) ;
// New pos using Vec3
};
But how the design will be in the end is up to Josh