72 for (
unsigned int img = 0; img < imgs; img++)
127 if (!(
it->second))
continue;
139 for (
unsigned int img = 0; img < imgs; img++)
141 it->first->SetDirtyMesh(img);
145 it->first->SetDirtyViewport();
146 it->first->ForceRequireRedraw();
152 it->first->SetDirtyViewport();
159 it->first->ForceRequireRedraw();
178 bool dirty_mesh =
false;
179 bool dirty_draw =
false;
191 if (
new_img->getFilename() != img->getFilename())
198 if (
new_img->getRoll() != img->getRoll()
199 ||
new_img->getPitch() != img->getPitch()
200 ||
new_img->getYaw() != img->getYaw()
201 ||
new_img->getX() != img->getX()
202 ||
new_img->getY() != img->getY()
203 ||
new_img->getZ() != img->getZ()
204 ||
new_img->getHFOV() != img->getHFOV()
205 ||
new_img->getProjection() != img->getProjection()
206 ||
new_img->getShear() != img->getShear()
207 ||
new_img->getRadialDistortionCenterShift()
208 == img->getRadialDistortionCenterShift()
209 ||
new_img->getRadialDistortion() != img->getRadialDistortion()
210 ||
new_img->getCropRect() != img->getCropRect()
217 if (
new_img->getHFOV() != img->getHFOV())
223 if (
new_img->getVigCorrMode() != img->getVigCorrMode()
224 ||
new_img->getRadialVigCorrCoeff() != img->getRadialVigCorrCoeff()
225 ||
new_img->getRadialVigCorrCenterShift() !=
226 img->getRadialVigCorrCenterShift()
227 ||
new_img->getExposureValue() != img->getExposureValue()
228 ||
new_img->getGamma() != img->getGamma()
229 ||
new_img->getWhiteBalanceRed() != img->getWhiteBalanceRed()
230 ||
new_img->getWhiteBalanceBlue() != img->getWhiteBalanceBlue()
231 ||
new_img->getResponseType() != img->getResponseType()
242 if(
new_img->getActiveMasks() != img->getActiveMasks())
253 if (!(
it->second))
continue;
254 if (dirty_draw)
it->first->ForceRequireRedraw();
255 if (dirty_mesh)
it->first->SetDirtyMesh(
image_nr);
267 if (!(
it->second))
continue;
268 it->first->ForceRequireRedraw();
350 if (!(
it->second))
continue;
396 for (
unsigned int img = 0; img < number_of_images; img++)
499 const double offset = 0.5 /
m_zoom;
583 fov = std::max(std::min(
newFOV, 140.0), 5.0);
A wxWidget to display the fast preview.
void setHFOV(double h, bool keepView=true)
set the horizontal field of view.
void setProjection(ProjectionFormat f)
set the Projection format and adjust the hfov/vfov if nessecary
const std::vector< double > & getProjectionParameters() const
Get the optional projection parameters.
const vigra::Rect2D & getROI() const
PanoramaOptions::ProjectionFormat getProjection() const
double outputExposureValue
double outputRangeCompression
vigra::Size2D getSize() const
get size of output image
const SrcPanoImage & getImage(std::size_t nr) const
get a panorama image, counting starts with 0
const PanoramaOptions & getOptions() const
returns the options for this panorama
void addObserver(PanoramaObserver *o)
add a panorama observer.
SrcPanoImage getSrcImage(unsigned imgNr) const
get a description of a source image
bool removeObserver(PanoramaObserver *observer)
remove a panorama observer.
std::size_t getNrOfImages() const
number of images.
All variables of a source image.
unsigned int GetDisplayList(unsigned int image_number) const
HuginBase::PanoramaOptions opts
PanosphereOverviewVisualizationState(HuginBase::Panorama *pano, ViewState *view_state, GLViewer *viewer, void(*RefreshFunction)(void *), void *arg)
void setFOV(double newFOV)
HuginBase::PanoramaOptions * GetOptions()
OutputProjectionInfo * GetProjectionInfo()
void setAngX(double angx_in)
~PanosphereOverviewVisualizationState()
OutputProjectionInfo * projection_info
void setAngY(double angy_in)
void SetOptions(const HuginBase::PanoramaOptions *new_opts)
void setInsideView(bool insideView)
PlaneOverviewVisualizationState(HuginBase::Panorama *pano, ViewState *view_state, GLViewer *viewer, void(*RefreshFunction)(void *), void *arg)
OutputProjectionInfo * projection_info
OutputProjectionInfo * GetProjectionInfo()
HuginBase::PanoramaOptions * GetOptions()
void SetOptions(const HuginBase::PanoramaOptions *new_opts)
HuginBase::PanoramaOptions opts
~PlaneOverviewVisualizationState()
std::map< unsigned int, fbool > dirty_mask
HuginBase::Panorama * m_pano
TextureManager * m_tex_manager
bool RequireRecalculateMasks(unsigned int image_nr)
void SetSrcImage(unsigned int image_nr, HuginBase::SrcPanoImage *new_img)
std::map< unsigned int, bool > active
ViewState(HuginBase::Panorama *pano, bool supportMultiTexture)
void SetOptions(const HuginBase::PanoramaOptions *new_opts)
OutputProjectionInfo * GetProjectionInfo()
void panoramaImagesChanged(HuginBase::Panorama &, const HuginBase::UIntSet &)
notifies about changes to images
void ForceRequireRedraw()
HuginBase::PanoramaOptions * GetOptions()
void panoramaChanged(HuginBase::Panorama &pano)
Notification about a Panorama change.
HuginBase::PanoramaOptions opts
HuginBase::SrcPanoImage * GetSrcImage(unsigned int image_nr)
unsigned int number_of_images
std::map< unsigned int, HuginBase::SrcPanoImage > img_states
OutputProjectionInfo * projection_info
std::map< VisualizationState *, bool > vis_states
bool RequireRecalculatePhotometric()
bool RequireRecalculateImageSizes()
void SetZoomLevel(const float new_zoom)
void SetViewingCenter(const hugin_utils::FDiff2D ¢er)
HuginBase::Panorama * m_pano
hugin_utils::FDiff2D m_lookAt
void SetScale(float scale)
std::map< unsigned int, fbool > dirty_mesh
virtual HuginBase::PanoramaOptions * GetOptions()
void(* RefreshFunc)(void *)
vigra::Size2D m_canvasSize
virtual OutputProjectionInfo * GetProjectionInfo()
bool RequireRecalculateViewport()
void ForceRequireRedraw()
unsigned int GetMeshDisplayList(unsigned int image_nr)
virtual HuginBase::SrcPanoImage * GetSrcImage(unsigned int image_nr)
virtual ~VisualizationState()
MeshManager * m_mesh_manager
void SetCanvasSize(const vigra::Size2D &canvasSize)
bool RequireRecalculateMesh(unsigned int image_nr)
std::set< unsigned int > UIntSet
T simpleClipPoint(const T &point, const T &min, const T &max)
clip a point to fit int [min, max] does not do a mathematical clipping, just sets p....
include file for the hugin project
include file for the hugin project
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.