The original code had something like this (I changed the variable names to make their roles clearer):
Code: Select all
Vector3D( _station.heading.direction().multiply( _subentity.position.z ), _station.vectorUp.direction().multiply( _subentity.position.y ), _station.vectorRight.direction().multiply( _subentity.position.x ) )
_station.heading.direction().multiply( _subentity.position.z ) is a vector
_station.vectorUp.direction().multiply( _subentity.position.y ) is a vector
_station.vectorRight.direction().multiply( _subentity.position.x ) is a vector
So Vector3D constructor accepted a sequence of 3 vectors, which isn't a vector expression.
It should accept a sequence of operations over vectors (as each of the members of that sequence is), or a sequence of 3 scalars (which is what I think was what the bugged code was aiming at).