18 #ifndef EQFABRIC_VMMLIB_H
19 #define EQFABRIC_VMMLIB_H
21 #include <eq/fabric/types.h>
22 #include <lunchbox/bitOperation.h>
25 #pragma warning(disable : 4996)
26 # include <vmmlib/aabb.hpp>
27 # include <vmmlib/frustum.hpp>
28 # include <vmmlib/matrix.hpp>
29 # include <vmmlib/vector.hpp>
34 template<>
inline void byteswap( eq::fabric::Vector2ui& value )
36 byteswap( value.x( ));
37 byteswap( value.y( ));
40 template<>
inline void byteswap( eq::fabric::Vector2i& value )
42 byteswap( value.x( ));
43 byteswap( value.y( ));
46 template<>
inline void byteswap( eq::fabric::Vector2f& value )
48 byteswap( value.x( ));
49 byteswap( value.y( ));
52 template<>
inline void byteswap( eq::fabric::Vector3f& value )
54 byteswap( value.x( ));
55 byteswap( value.y( ));
56 byteswap( value.z( ));
59 template<>
inline void byteswap( eq::fabric::Vector4f& value )
61 byteswap( value.x( ));
62 byteswap( value.y( ));
63 byteswap( value.z( ));
64 byteswap( value.w( ));
67 template<>
inline void byteswap( eq::fabric::Vector4ui& value )
69 byteswap( value.x( ));
70 byteswap( value.y( ));
71 byteswap( value.z( ));
72 byteswap( value.w( ));
75 template<>
inline void byteswap( eq::fabric::Vector4i& value )
77 byteswap( value.x( ));
78 byteswap( value.y( ));
79 byteswap( value.z( ));
80 byteswap( value.w( ));
83 template<>
inline void byteswap( eq::fabric::Vector4ub& ) { }
84 template<>
inline void byteswap( eq::fabric::Vector3ub& ) { }
86 template<>
inline void byteswap( eq::fabric::Matrix4f& value )
88 for(
size_t i = 0; i < 16; ++i )
89 byteswap( value.array[ i ]);
92 template<>
inline void byteswap( eq::fabric::Frustumf& value )
94 byteswap( value.left( ));
95 byteswap( value.right( ));
96 byteswap( value.bottom( ));
97 byteswap( value.top( ));
98 byteswap( value.nearPlane( ));
99 byteswap( value.farPlane( ));
102 template<>
inline void byteswap( eq::fabric::AABBf& value )
104 byteswap( value._min );
105 byteswap( value._max );
109 #endif // EQFABRIC_VMMLIB_H