Main Page | Modules | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members | Related Pages
hugin1/hugin/GreatCircles.h
Go to the documentation of this file.00001 // -*- c-basic-offset: 4 -*- 00023 #ifndef GREATCIRCLES_H 00024 #define GREATCIRCLES_H 00025 00026 #include "ViewState.h" 00027 #include <vector> 00028 #include <hugin_math/hugin_math.h> 00029 00035 class GreatCircles 00036 { 00037 public: 00042 void setViewState(ViewState * viewState); 00058 void drawLineFromSpherical(double startLat, double startLong, 00059 double endLat, double endLong); 00060 private: 00061 ViewState * m_viewState; 00062 }; 00063 00064 class GreatCircleArc 00065 { 00066 public: 00071 GreatCircleArc(); 00078 GreatCircleArc(double startLat, double startLong, 00079 double endLat, double endLong, 00080 ViewState & m_viewState); 00082 void draw(bool withCross=true) const; 00086 float squareDistance(hugin_utils::FDiff2D point) const; 00087 double m_xscale ; 00088 double getxscale() const; 00089 protected: 00090 struct LineSegment 00091 { 00092 hugin_utils::FDiff2D vertices[2]; 00094 float squareDistance(hugin_utils::FDiff2D point) const; 00096 void doGL() const; 00097 void doGLcross(int point, double cscale) const; 00098 }; 00099 std::vector<LineSegment> m_lines; 00100 00101 }; 00102 00103 #endif 00104
1.3.9.1