Vector3 Frame::TransformVector(const Vector3& vec, const Date& t, const Frame& ref) const { double transform[3][3]; CSPICE_ASSERT(pxform_c(GetSpiceName().c_str(), ref.GetSpiceName().c_str(), t.AsDouble(), transform)); double axisLocal[3] = {vec.x, vec.y, vec.z}; double axisGlobal[3]; CSPICE_ASSERT(mxv_c(transform, axisLocal, axisGlobal)); return Vector3(axisGlobal); }