|
Hugintrunk
0.1
|
#include <GreatCircles.h>

Classes | |
| struct | LineSegment |
Public Member Functions | |
| GreatCircleArc () | |
| Create a bad great circle arc. More... | |
| GreatCircleArc (double startLat, double startLong, double endLat, double endLong, VisualizationState &m_visualizationState) | |
| Create a great circle arc. More... | |
| void | draw (bool withCross=true, double width=1.0) const |
| Draw the great circle arc on the fast preview. More... | |
| float | squareDistance (hugin_utils::FDiff2D point) const |
| Return the square of the minimal distance between the great circle arc and a coordinate on the panorama. More... | |
| double | getxscale () const |
Public Attributes | |
| double | m_xscale |
Protected Attributes | |
| std::vector< LineSegment > | m_lines |
| VisualizationState * | m_visualizationState |
Definition at line 68 of file GreatCircles.h.
| GreatCircleArc::GreatCircleArc | ( | ) |
Create a bad great circle arc.
draw() won't do anything and squareDistance() will return the maximum float.
Definition at line 76 of file GreatCircles.cpp.
Referenced by GreatCircleArc().
| GreatCircleArc::GreatCircleArc | ( | double | startLat, |
| double | startLong, | ||
| double | endLat, | ||
| double | endLong, | ||
| VisualizationState & | m_visualizationState | ||
| ) |
Create a great circle arc.
| startLat | latitude of the first point in degrees. |
| startLong | longitude of the first point in degrees. |
| endLat | latitude of the second point in degrees. |
| endLong | longitude of the second point in degrees. |
Handle case where the points are opposite sides of the sphere (i.e. The angle startLat is -endLat and startLong is -endLong.) There are infinetly many great circles in this case, we pick one going through (180, 90), by splitting the problem in two.
Definition at line 80 of file GreatCircles.cpp.
References HuginBase::PTools::Transform::createInvTransform(), HuginBase::BaseSrcPanoImage::EQUIRECTANGULAR, VisualizationState::GetOptions(), VisualizationState::GetScale(), HuginBase::PanoramaOptions::getWidth(), GreatCircleArc(), celeste::line, m_lines, M_PI, m_visualizationState, m_xscale, celeste::max(), max_segments, celeste::min(), min_segment_angle, hugin_utils::roundi(), HuginBase::PTools::Transform::transformImgCoord(), and GreatCircleArc::LineSegment::vertices.
| void GreatCircleArc::draw | ( | bool | withCross = true, |
| double | width = 1.0 |
||
| ) | const |
Draw the great circle arc on the fast preview.
Definition at line 227 of file GreatCircles.cpp.
References getxscale(), m_lines, and m_visualizationState.
Referenced by PreviewLayoutLinesTool::LineDetails::draw(), and GreatCircles::drawLineFromSpherical().
| double GreatCircleArc::getxscale | ( | void | ) | const |
| float GreatCircleArc::squareDistance | ( | hugin_utils::FDiff2D | point | ) | const |
Return the square of the minimal distance between the great circle arc and a coordinate on the panorama.
This is an approximation, but should be reasonable.
Definition at line 466 of file GreatCircles.cpp.
References m_lines, and celeste::max().
|
protected |
Definition at line 112 of file GreatCircles.h.
Referenced by draw(), GreatCircleArc(), squareDistance(), and StraightLineFromSphericals::StraightLineFromSphericals().
|
protected |
Definition at line 113 of file GreatCircles.h.
Referenced by draw(), GreatCircleArc(), and StraightLineFromSphericals::StraightLineFromSphericals().
| double GreatCircleArc::m_xscale |
Definition at line 91 of file GreatCircles.h.
Referenced by getxscale(), GreatCircleArc(), and StraightLineFromSphericals::StraightLineFromSphericals().
1.8.5