OpenWalnut  1.5.0dev
WVec3Traits.h
1 //---------------------------------------------------------------------------
2 //
3 // Project: OpenWalnut ( http://www.openwalnut.org )
4 //
5 // Copyright 2009 OpenWalnut Community, BSV@Uni-Leipzig and CNCF@MPI-CBS
6 // For more information see http://www.openwalnut.org/copying
7 //
8 // This file is part of OpenWalnut.
9 //
10 // OpenWalnut is free software: you can redistribute it and/or modify
11 // it under the terms of the GNU Lesser General Public License as published by
12 // the Free Software Foundation, either version 3 of the License, or
13 // (at your option) any later version.
14 //
15 // OpenWalnut is distributed in the hope that it will be useful,
16 // but WITHOUT ANY WARRANTY; without even the implied warranty of
17 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 // GNU Lesser General Public License for more details.
19 //
20 // You should have received a copy of the GNU Lesser General Public License
21 // along with OpenWalnut. If not, see <http://www.gnu.org/licenses/>.
22 //
23 //---------------------------------------------------------------------------
24 
25 #ifndef WVEC3TRAITS_H
26 #define WVEC3TRAITS_H
27 
28 #include <sstream>
29 
30 #include <cxxtest/TestSuite.h>
31 #include <cxxtest/ValueTraits.h>
32 
33 #include <osg/Vec3>
34 #include <osg/io_utils>
35 
36 #include "../../common/test/WTraitsBase.h"
37 
38 #ifdef CXXTEST_RUNNING
39 namespace CxxTest
40 {
41 CXXTEST_TEMPLATE_INSTANTIATION
42 /**
43  * Enables better UnitTest OutPut if something fails with osg::Vec3, so you see
44  * immedeatly what is failing.
45  */
46 class ValueTraits< osg::Vec3 > : public WTraitsBase
47 {
48 public:
49  /**
50  * Constructor for class allowing usable output of osg::Vec3 in tests
51  *
52  * \param c the Vec3 to print
53  */
54  explicit ValueTraits( const osg::Vec3 &c )
55  {
56  std::stringstream tmp;
57  tmp.precision( 16 );
58  tmp << "Vec3( " << c << ")";
59  m_s = tmp.str();
60  }
61 };
62 }
63 #endif // CXXTEST_RUNNING
64 #endif // WVEC3TRAITS_H
Base class to all custom Value Traits for CxxTest.
Definition: WTraitsBase.h:36