testPoint.cc
Go to the documentation of this file.
1 
10 #include <utl/CoordinateSystem.h>
11 #include <utl/Point.h>
12 #include <utl/Vector.h>
13 #include <utl/TransformationMatrix.h>
14 #include <utl/AugerUnits.h>
15 
16 #include <tst/Verify.h>
17 #include <utl/Triple.h>
18 
19 #include <cppunit/extensions/HelperMacros.h>
20 
21 using namespace utl;
22 using namespace tst;
23 
24 
28 class testPoint : public CppUnit::TestFixture {
29 
30  CPPUNIT_TEST_SUITE(testPoint);
31  CPPUNIT_TEST(testPointTransformation);
32  CPPUNIT_TEST_SUITE_END();
33 
34 public:
35  void setUp() { }
36 
37  void tearDown() { }
38 
39  void
41  {
42  const CoordinateSystemPtr CS(CoordinateSystem::GetRootCoordinateSystem());
43  const Point p(0,0,0, CS);
44 
45  const Vector t(1,0,0, CS);
47 
48  p.TransformTo(CTrans);
49  CPPUNIT_ASSERT(p.GetCoordinateSystem() == CTrans);
50  CPPUNIT_ASSERT(Verify<CloseTo>(
51  p.GetCoordinates(CTrans), Triple(-1,0,0)));
52  CPPUNIT_ASSERT(p.GetCoordinateSystem() == CTrans);
53  CPPUNIT_ASSERT(Verify<CloseTo>(
54  p.GetCoordinates(CS), Triple(0,0,0)));
55  CPPUNIT_ASSERT(p.GetCoordinateSystem() == CS);
56 
57  const Point horizontal(1,0,0, CS);
59  horizontal.TransformTo(CRot);
60  CPPUNIT_ASSERT(horizontal.GetCoordinateSystem() == CRot);
61  CPPUNIT_ASSERT(Verify<CloseTo>(
62  horizontal.GetCoordinates(CRot), Triple(0,-1,0)));
63  CPPUNIT_ASSERT(horizontal.GetCoordinateSystem() == CRot);
64  CPPUNIT_ASSERT(Verify<CloseTo>(
65  horizontal.GetCoordinates(CS), Triple(1,0,0)));
66  CPPUNIT_ASSERT(horizontal.GetCoordinateSystem() == CS);
67  }
68 
69 };
70 
71 
73 
74 
75 // Configure (x)emacs for this file ...
76 // Local Variables:
77 // mode:c++
78 // compile-command: "make -C .. -k run-testGeometry"
79 // End:
Point object.
Definition: Point.h:32
CoordinateSystemPtr GetCoordinateSystem() const
Get the coordinate system of the current internal representation.
Definition: BasicVector.h:234
void testPointTransformation()
Definition: testPoint.cc:40
CPPUNIT_TEST_SUITE_REGISTRATION(testAiresShowerFile)
constexpr double deg
Definition: AugerUnits.h:140
boost::shared_ptr< const CoordinateTransformer > CoordinateSystemPtr
Shared pointer for coordinate systems.
boost::tuple< double, double, double > Triple
Coordinate triple for easy getting or setting of coordinates.
Definition: Triple.h:15
static Policy::type RotationZ(const double angle, const CoordinateSystemPtr &theCS)
Construct from rotation about Z axis.
void tearDown()
Definition: testPoint.cc:37
static Policy::type Translation(const Vector &theTranslation, const CoordinateSystemPtr &theCS)
Construct from translation by vector.
Vector object.
Definition: Vector.h:30
void setUp()
Definition: testPoint.cc:35

, generated on Tue Sep 26 2023.