Hugin trunk 0.1
Loading...
Searching...
No Matches
GreatCircles.h
Go to the documentation of this file.
1// -*- c-basic-offset: 4 -*-
23#ifndef GREATCIRCLES_H
24#define GREATCIRCLES_H
25
26#include "ViewState.h"
27#include <vector>
29
36{
37public:
62 void drawLineFromSpherical(double startLat, double startLong,
63 double endLat, double endLong, double width = 1.0, bool straightLine = false);
64private:
66};
67
69{
70 public:
82 GreatCircleArc(double startLat, double startLong,
83 double endLat, double endLong,
86 void draw(bool withCross=true, double width = 1.0) const;
90 float squareDistance(hugin_utils::FDiff2D point) const;
91 double m_xscale ;
92 double getxscale() const;
93
95 {
98 float squareDistance(hugin_utils::FDiff2D point) const;
100 void doGLcross(int point, double cscale, VisualizationState *state) const;
108 void doGL(double width, VisualizationState *state, LineSegment * preceding = NULL, LineSegment * proceeding = NULL) const;
109 };
110
111 protected:
112 std::vector<LineSegment> m_lines;
114
115};
116
118{
119public:
127 double endLat, double endLong,
129};
130
131#endif
132
void draw(bool withCross=true, double width=1.0) const
Draw the great circle arc on the fast preview.
double getxscale() const
GreatCircleArc()
Create a bad great circle arc.
VisualizationState * m_visualizationState
float squareDistance(hugin_utils::FDiff2D point) const
Return the square of the minimal distance between the great circle arc and a coordinate on the panora...
std::vector< LineSegment > m_lines
Draw great circle arcs in the fast preview.
GreatCircles()
constructor
void setVisualizationState(VisualizationState *visualizationState)
Set the ViewState to use for information on output projection and preview display.
VisualizationState * m_visualizationState
void drawLineFromSpherical(double startLat, double startLong, double endLat, double endLong, double width=1.0, bool straightLine=false)
Draw the shortest segment of the great circle crossing two spherical coordinates.
misc math function & classes used by other parts of the program
void doGLcross(int point, double cscale, VisualizationState *state) const
Specify the line to OpenGL. Must be within a glBegin/glEnd pair.
hugin_utils::FDiff2D vertices[2]
float squareDistance(hugin_utils::FDiff2D point) const
Get the square of the minimal distance to a point.
void doGL(double width, VisualizationState *state, LineSegment *preceding=NULL, LineSegment *proceeding=NULL) const
Draw a meshed line.
std::vector< deghosting::BImagePtr > threshold(const std::vector< deghosting::FImagePtr > &inputImages, const double threshold, const uint16_t flags)
Threshold function used for creating alpha masks for images.
Definition threshold.h:41