From: <tm...@us...> - 2009-12-27 13:03:20
|
Revision: 4836 http://hugin.svn.sourceforge.net/hugin/?rev=4836&view=rev Author: tmodes Date: 2009-12-27 13:03:08 +0000 (Sun, 27 Dec 2009) Log Message: ----------- Added new projection General Panini in libpano13 svn 1197 and 1198 Modified Paths: -------------- hugin/trunk/src/hugin1/hugin/ChoosyRemapper.cpp hugin/trunk/src/hugin1/hugin/GLPreviewFrame.cpp hugin/trunk/src/hugin1/hugin/PanoPanel.cpp hugin/trunk/src/hugin1/hugin/VertexCoordRemapper.cpp hugin/trunk/src/hugin_base/panodata/PanoramaOptions.cpp hugin/trunk/src/hugin_base/panodata/PanoramaOptions.h Modified: hugin/trunk/src/hugin1/hugin/ChoosyRemapper.cpp =================================================================== --- hugin/trunk/src/hugin1/hugin/ChoosyRemapper.cpp 2009-12-25 09:55:56 UTC (rev 4835) +++ hugin/trunk/src/hugin1/hugin/ChoosyRemapper.cpp 2009-12-27 13:03:08 UTC (rev 4836) @@ -71,6 +71,7 @@ case HuginBase::PanoramaOptions::EQUI_PANINI: case HuginBase::PanoramaOptions::BIPLANE: case HuginBase::PanoramaOptions::TRIPLANE: + case HuginBase::PanoramaOptions::GENERAL_PANINI: // check for pole crossing { OutputProjectionInfo *info = view_state->GetProjectionInfo(); Modified: hugin/trunk/src/hugin1/hugin/GLPreviewFrame.cpp =================================================================== --- hugin/trunk/src/hugin1/hugin/GLPreviewFrame.cpp 2009-12-25 09:55:56 UTC (rev 4835) +++ hugin/trunk/src/hugin1/hugin/GLPreviewFrame.cpp 2009-12-27 13:03:08 UTC (rev 4836) @@ -843,6 +843,12 @@ return; } } + //range checking + const pano_projection_parameter * pp = & (opts.m_projFeatures.parm[i]); + if(p<pp->minValue) + p=pp->minValue; + if(p>pp->maxValue) + p=pp->maxValue; para[i] = p; } } Modified: hugin/trunk/src/hugin1/hugin/PanoPanel.cpp =================================================================== --- hugin/trunk/src/hugin1/hugin/PanoPanel.cpp 2009-12-25 09:55:56 UTC (rev 4835) +++ hugin/trunk/src/hugin1/hugin/PanoPanel.cpp 2009-12-27 13:03:08 UTC (rev 4836) @@ -159,6 +159,7 @@ wxLogMessage(_("Equirectangular Panini")); wxLogMessage(_("Biplane")); wxLogMessage(_("Triplane")); + wxLogMessage(_("General Panini")); #endif /* populate with all available projection types */ Modified: hugin/trunk/src/hugin1/hugin/VertexCoordRemapper.cpp =================================================================== --- hugin/trunk/src/hugin1/hugin/VertexCoordRemapper.cpp 2009-12-25 09:55:56 UTC (rev 4835) +++ hugin/trunk/src/hugin1/hugin/VertexCoordRemapper.cpp 2009-12-27 13:03:08 UTC (rev 4836) @@ -617,6 +617,7 @@ case HuginBase::PanoramaOptions::PANINI: case HuginBase::PanoramaOptions::BIPLANE: case HuginBase::PanoramaOptions::TRIPLANE: + case HuginBase::PanoramaOptions::GENERAL_PANINI: // Cylinderical-like projections have the seam across the left // and right edge. We'll take any face within the middle third // to be continuous, the rest possibly noncontinuous. Modified: hugin/trunk/src/hugin_base/panodata/PanoramaOptions.cpp =================================================================== --- hugin/trunk/src/hugin_base/panodata/PanoramaOptions.cpp 2009-12-25 09:55:56 UTC (rev 4835) +++ hugin/trunk/src/hugin_base/panodata/PanoramaOptions.cpp 2009-12-27 13:03:08 UTC (rev 4836) @@ -181,6 +181,10 @@ { m_projectionParams[0] = 60; }; + if (f == GENERAL_PANINI) + { + m_projectionParams[0] = 1; + }; } setHFOV(hfov, false); setVFOV(vfov); @@ -247,7 +251,8 @@ || f == ARCHITECTURAL || f == EQUI_PANINI || f == BIPLANE - || f == TRIPLANE); + || f == TRIPLANE + || f == GENERAL_PANINI); } Modified: hugin/trunk/src/hugin_base/panodata/PanoramaOptions.h =================================================================== --- hugin/trunk/src/hugin_base/panodata/PanoramaOptions.h 2009-12-25 09:55:56 UTC (rev 4835) +++ hugin/trunk/src/hugin_base/panodata/PanoramaOptions.h 2009-12-27 13:03:08 UTC (rev 4836) @@ -107,7 +107,8 @@ EQUISOLID = 15, EQUI_PANINI = 16, BIPLANE = 17, - TRIPLANE = 18 + TRIPLANE = 18, + GENERAL_PANINI = 19 }; /** PTStitcher acceleration */ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |