Index: Quat4_.h =================================================================== --- Quat4_.h (revision 189) +++ Quat4_.h (working copy) @@ -323,9 +323,11 @@ VM_END_NS #ifdef VM_INCLUDE_IO +#ifndef VM_INCLUDE_IO_KOENING_LOOKUP template VM_IOSTREAM_STD::ostream& operator<<(VM_IOSTREAM_STD::ostream& o, const VM_VECMATH_NS::Quat4& q1); #endif +#endif VM_BEGIN_NS Index: AxisAngle4_.h =================================================================== --- AxisAngle4_.h (revision 189) +++ AxisAngle4_.h (working copy) @@ -297,9 +297,16 @@ VM_END_NS #ifdef VM_INCLUDE_IO +#ifndef VM_INCLUDE_IO_KOENING_LOOKUP template VM_IOSTREAM_STD::ostream& operator<<(VM_IOSTREAM_STD::ostream& o, const VM_VECMATH_NS::AxisAngle4& t1); +#else +VM_BEGIN_NS +template +VM_IOSTREAM_STD::ostream& operator<<(VM_IOSTREAM_STD::ostream& o, const AxisAngle4& t1); +VM_END_NS #endif +#endif VM_BEGIN_NS Index: Quat4.h =================================================================== --- Quat4.h (revision 189) +++ Quat4.h (working copy) @@ -211,11 +211,13 @@ VM_END_NS #ifdef VM_INCLUDE_IO +#ifndef VM_INCLUDE_IO_KOENING_LOOKUP template inline VM_IOSTREAM_STD::ostream& operator<<(VM_IOSTREAM_STD::ostream& o, const VM_VECMATH_NS::Quat4& q1) { return operator<<(o, (const VM_VECMATH_NS::Tuple4&)q1); } #endif +#endif #endif /* QUAT4_H */ Index: GVector.h =================================================================== --- GVector.h (revision 189) +++ GVector.h (working copy) @@ -169,9 +169,16 @@ #ifdef VM_INCLUDE_IO +#ifndef VM_INCLUDE_IO_KOENING_LOOKUP template inline VM_IOSTREAM_STD::ostream& operator<<(VM_IOSTREAM_STD::ostream& o, const VM_VECMATH_NS::GVectorT &v) +#else +VM_BEGIN_NS +template inline +VM_IOSTREAM_STD::ostream& operator<<(VM_IOSTREAM_STD::ostream& o, + const GVectorT &v) +#endif { o << "("; const int len = v.getSize() - 1; @@ -180,6 +187,9 @@ } return o << v[len] << ")"; } +#ifdef VM_INCLUDE_IO_KOENING_LOOKUP +VM_END_NS +#endif #endif /* VM_INCLUDE_IO */ Index: GMatrix.h =================================================================== --- GMatrix.h (revision 189) +++ GMatrix.h (working copy) @@ -193,9 +193,16 @@ #ifdef VM_INCLUDE_IO +#ifndef VM_INCLUDE_IO_KOENING_LOOKUP template inline VM_IOSTREAM_STD::ostream& operator<<(VM_IOSTREAM_STD::ostream& o, const VM_VECMATH_NS::GMatrixT &m) +#else +VM_BEGIN_NS +template inline +VM_IOSTREAM_STD::ostream& operator<<(VM_IOSTREAM_STD::ostream& o, + const GMatrixT &m) +#endif { o << "["; const int numRow = m.getNumRow(); @@ -212,6 +219,9 @@ } return o << "]"; } +#ifdef VM_INCLUDE_IO_KOENING_LOOKUP +VM_END_NS +#endif #endif /* VM_INCLUDE_IO */ Index: Vector2.h =================================================================== --- Vector2.h (revision 189) +++ Vector2.h (working copy) @@ -152,12 +152,14 @@ } #ifdef VM_INCLUDE_IO +#ifndef VM_INCLUDE_IO_KOENING_LOOKUP template inline VM_IOSTREAM_STD::ostream& operator<<(VM_IOSTREAM_STD::ostream& o, const VM_VECMATH_NS::Vector2& t1) { return operator<<(o, (const VM_VECMATH_NS::Tuple2&)t1); } #endif +#endif VM_BEGIN_NS Index: Vector3.h =================================================================== --- Vector3.h (revision 189) +++ Vector3.h (working copy) @@ -168,12 +168,14 @@ } #ifdef VM_INCLUDE_IO +#ifndef VM_INCLUDE_IO_KOENING_LOOKUP template inline VM_IOSTREAM_STD::ostream& operator<<(VM_IOSTREAM_STD::ostream& o, const VM_VECMATH_NS::Vector3& t1) { return operator<<(o, (const VM_VECMATH_NS::Tuple3&)t1); } #endif +#endif VM_BEGIN_NS Index: Vector4.h =================================================================== --- Vector4.h (revision 189) +++ Vector4.h (working copy) @@ -186,12 +186,14 @@ } #ifdef VM_INCLUDE_IO +#ifndef VM_INCLUDE_IO_KOENING_LOOKUP template inline VM_IOSTREAM_STD::ostream& operator<<(VM_IOSTREAM_STD::ostream& o, const VM_VECMATH_NS::Vector4& t1) { return operator<<(o, (const VM_VECMATH_NS::Tuple4&)t1); } #endif +#endif VM_BEGIN_NS Index: Matrix4_.h =================================================================== --- Matrix4_.h (revision 189) +++ Matrix4_.h (working copy) @@ -1354,9 +1354,16 @@ VM_END_NS #ifdef VM_INCLUDE_IO +#ifndef VM_INCLUDE_IO_KOENING_LOOKUP template VM_IOSTREAM_STD::ostream& operator<<(VM_IOSTREAM_STD::ostream& o, const VM_VECMATH_NS::Matrix4& t1); +#else +VM_BEGIN_NS +template +VM_IOSTREAM_STD::ostream& operator<<(VM_IOSTREAM_STD::ostream& o, const Matrix4& t1); +VM_END_NS #endif +#endif VM_BEGIN_NS Index: Matrix3.h =================================================================== --- Matrix3.h (revision 189) +++ Matrix3.h (working copy) @@ -842,13 +842,23 @@ VM_END_NS #ifdef VM_INCLUDE_IO +#ifndef VM_INCLUDE_IO_KOENING_LOOKUP template -VM_IOSTREAM_STD::ostream& operator<<(VM_IOSTREAM_STD::ostream& o, const VM_VECMATH_NS::Matrix3& t1) { +VM_IOSTREAM_STD::ostream& operator<<(VM_IOSTREAM_STD::ostream& o, const VM_VECMATH_NS::Matrix3& t1) +#else +VM_BEGIN_NS +template +VM_IOSTREAM_STD::ostream& operator<<(VM_IOSTREAM_STD::ostream& o, const Matrix3& t1) +#endif +{ return o << "[ ["< -VM_IOSTREAM_STD::ostream& operator<<(VM_IOSTREAM_STD::ostream& o, const VM_VECMATH_NS::Matrix4& t1) { +VM_IOSTREAM_STD::ostream& operator<<(VM_IOSTREAM_STD::ostream& o, const VM_VECMATH_NS::Matrix4& t1) +#else +VM_BEGIN_NS +template +VM_IOSTREAM_STD::ostream& operator<<(VM_IOSTREAM_STD::ostream& o, const Matrix4& t1) +#endif +{ return o << "[ ["< -VM_IOSTREAM_STD::ostream& operator<<(VM_IOSTREAM_STD::ostream& o, const VM_VECMATH_NS::AxisAngle4& a1) { +VM_IOSTREAM_STD::ostream& operator<<(VM_IOSTREAM_STD::ostream& o, const VM_VECMATH_NS::AxisAngle4& a1) +#else +VM_BEGIN_NS +template +VM_IOSTREAM_STD::ostream& operator<<(VM_IOSTREAM_STD::ostream& o, const AxisAngle4& a1) +#endif +{ return o << "(" << a1.x << "," << a1.y << "," << a1.z << "," << a1.angle << ")"; } +#ifdef VM_INCLUDE_IO_KOENING_LOOKUP +VM_END_NS #endif +#endif #endif /* AXISANGLE4_H */ Index: Point2.h =================================================================== --- Point2.h (revision 189) +++ Point2.h (working copy) @@ -119,12 +119,14 @@ VM_END_NS #ifdef VM_INCLUDE_IO +#ifndef VM_INCLUDE_IO_KOENING_LOOKUP template inline VM_IOSTREAM_STD::ostream& operator<<(VM_IOSTREAM_STD::ostream& o, const VM_VECMATH_NS::Point2& t1) { return operator<<(o, (const VM_VECMATH_NS::Tuple2&)t1); } #endif +#endif VM_BEGIN_NS Index: Tuple2.h =================================================================== --- Tuple2.h (revision 189) +++ Tuple2.h (working copy) @@ -472,11 +472,21 @@ } #ifdef VM_INCLUDE_IO +#ifndef VM_INCLUDE_IO_KOENING_LOOKUP template -VM_IOSTREAM_STD::ostream& operator<<(VM_IOSTREAM_STD::ostream& o, const VM_VECMATH_NS::Tuple2& t1) { +VM_IOSTREAM_STD::ostream& operator<<(VM_IOSTREAM_STD::ostream& o, const VM_VECMATH_NS::Tuple2& t1) +#else +VM_BEGIN_NS +template +VM_IOSTREAM_STD::ostream& operator<<(VM_IOSTREAM_STD::ostream& o, const Tuple2& t1) +#endif +{ return o << "(" << t1.x << "," << t1.y << ")"; } +#ifdef VM_INCLUDE_IO_KOENING_LOOKUP +VM_END_NS #endif +#endif VM_BEGIN_NS Index: Point3.h =================================================================== --- Point3.h (revision 189) +++ Point3.h (working copy) @@ -142,12 +142,14 @@ } #ifdef VM_INCLUDE_IO +#ifndef VM_INCLUDE_IO_KOENING_LOOKUP template inline VM_IOSTREAM_STD::ostream& operator<<(VM_IOSTREAM_STD::ostream& o, const VM_VECMATH_NS::Point3& t1) { return operator<<(o, (const VM_VECMATH_NS::Tuple3&)t1); } #endif +#endif VM_BEGIN_NS Index: Tuple3.h =================================================================== --- Tuple3.h (revision 189) +++ Tuple3.h (working copy) @@ -494,11 +494,21 @@ VM_END_NS #ifdef VM_INCLUDE_IO +#ifndef VM_INCLUDE_IO_KOENING_LOOKUP template -VM_IOSTREAM_STD::ostream& operator<<(VM_IOSTREAM_STD::ostream& o, const VM_VECMATH_NS::Tuple3& t1) { +VM_IOSTREAM_STD::ostream& operator<<(VM_IOSTREAM_STD::ostream& o, const VM_VECMATH_NS::Tuple3& t1) +#else +VM_BEGIN_NS +template +VM_IOSTREAM_STD::ostream& operator<<(VM_IOSTREAM_STD::ostream& o, const Tuple3& t1) +#endif +{ return o << "(" << t1.x << "," << t1.y << "," << t1.z << ")"; } +#ifdef VM_INCLUDE_IO_KOENING_LOOKUP +VM_END_NS #endif +#endif template inline Index: Point4.h =================================================================== --- Point4.h (revision 189) +++ Point4.h (working copy) @@ -177,12 +177,14 @@ } #ifdef VM_INCLUDE_IO +#ifndef VM_INCLUDE_IO_KOENING_LOOKUP template inline VM_IOSTREAM_STD::ostream& operator<<(VM_IOSTREAM_STD::ostream& o, const VM_VECMATH_NS::Point4& t1) { return operator<<(o, (const VM_VECMATH_NS::Tuple4&)t1); } #endif +#endif VM_BEGIN_NS Index: Tuple4.h =================================================================== --- Tuple4.h (revision 189) +++ Tuple4.h (working copy) @@ -535,11 +535,21 @@ } #ifdef VM_INCLUDE_IO +#ifndef VM_INCLUDE_IO_KOENING_LOOKUP template -VM_IOSTREAM_STD::ostream& operator<<(VM_IOSTREAM_STD::ostream& o, const VM_VECMATH_NS::Tuple4& t1) { +VM_IOSTREAM_STD::ostream& operator<<(VM_IOSTREAM_STD::ostream& o, const VM_VECMATH_NS::Tuple4& t1) +#else +VM_BEGIN_NS +template +VM_IOSTREAM_STD::ostream& operator<<(VM_IOSTREAM_STD::ostream& o, const Tuple4& t1) +#endif +{ return o << "(" << t1.x << "," << t1.y << "," << t1.z << "," << t1.w << ")"; } +#ifdef VM_INCLUDE_IO_KOENING_LOOKUP +VM_END_NS #endif +#endif VM_BEGIN_NS Index: Matrix3_.h =================================================================== --- Matrix3_.h (revision 189) +++ Matrix3_.h (working copy) @@ -782,9 +782,16 @@ VM_END_NS #ifdef VM_INCLUDE_IO +#ifndef VM_INCLUDE_IO_KOENING_LOOKUP template VM_IOSTREAM_STD::ostream& operator<<(VM_IOSTREAM_STD::ostream& o, const VM_VECMATH_NS::Matrix3& t1); +#else +VM_BEGIN_NS +template +VM_IOSTREAM_STD::ostream& operator<<(VM_IOSTREAM_STD::ostream& o, const Matrix3& t1); +VM_END_NS #endif +#endif VM_BEGIN_NS Index: vm_conf.h =================================================================== --- vm_conf.h (revision 189) +++ vm_conf.h (working copy) @@ -25,6 +25,7 @@ * can do 'cout << vec;' */ #define VM_INCLUDE_IO +#define VM_INCLUDE_IO_KOENING_LOOKUP /* * can do 'vec.toString();'