VR-Forces 4.1.1 Class Documentation
coordinateConverter.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2011 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
6 #pragma once
7 #include "geometry/point.h"
8 #include "matrix/coordTransform.h"
10 #include "vlutil/vlString.h"
11 #include "kypathdata/math/vec3f.h"
12 
13 class Coordinate_System;
14 
15 namespace BHAVE
16 {
19 
20  typedef DT_DLL_bhaveUtil DtCoordinateConverter* (*DtCoordConvCreatorFunc)();
21 
23  {
24  protected:
27  void operator=(const DtCoordinateConverter& orig);
28 
29  public:
30  virtual ~DtCoordinateConverter();
31 
36  static DtCoordinateConverter* instance();
37 
45  static bool isGeocentric(bool ignoreRefPoint = false);
46 
50  virtual const DtPoint& geocentricRefPoint() const;
51 
57  virtual void setGeocentricRefPoint(const DtPoint& point);
58 
60  virtual bool loadGeocentricRefPointFromFile(const DtString& filePath);
61 
63  virtual void saveGeocentricRefPointToFile(const DtString& filePath) const;
64 
66  virtual bool convertGeoToBhave(const Kaim::Vec3f& point, Kaim::Vec3f& result) const;
67  virtual bool convertGeoToBhave(const DtVector& point, Kaim::Vec3f& result) const;
68  virtual bool convertGeoToBhave(const DtPoint& point, Kaim::Vec3f& result) const;
69  virtual bool convertGeoToBhave(const DtPoint& point, DtPoint& result) const;
70  virtual bool convertGeoToBhave(const DtVector& point, DtVector& result) const;
71 
73  virtual bool convertBhaveToGeo(const Kaim::Vec3f& point, Kaim::Vec3f& result) const;
74  virtual bool convertBhaveToGeo(const DtVector& point, DtVector& result) const;
75  virtual bool convertBhaveToGeo(const Kaim::Vec3f& point, DtPoint& result) const;
76  virtual bool convertBhaveToGeo(const Kaim::Vec3f& point, DtVector& result) const;
77  virtual bool convertBhaveToGeo(const DtPoint& point, DtPoint& result) const;
78 
80  virtual bool convertOrientationToBhave(const DtVector& orientation, DtVector& result) const;
81 
83  virtual bool convertBhaveOrientationToGeo(const DtVector& orientation, DtVector& result) const;
84 
85  virtual double kynapseHeadingToVrfHeading(const double kynHeading,
86  const Coordinate_System& coordSys, const DtVector& localPosition) const;
87 
88  protected:
89  static DtCoordinateConverter* creator();
90  static void setCreator(DtCoordConvCreatorFunc creatorFunc);
91 
94  virtual void generateTransformMatrices();
95 
99  DtCoordTransform* myMatrix;
102  DtCoordTransform myInvMatrix;
103  };
104 }
105 

Document ID: Generated on Mon Apr 8 19:24:01 EDT 2013 from SVN revision 125877
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)