23#include "hugin_config.h"
43 :
Tool(helper), drag_mode(drag_mode_normal)
78 helper->
SetStatusMessage(
_(
"Drag to move images (optionally use shift to constrain), or roll with right-drag or Ctrl-drag"));
99 shift = e.m_shiftDown;
106 helper->
SetStatusMessage(
_(
"Currently constrained to moving only pitch. Make a larger movement in the opposite direction to constrain to yaw."));
110 helper->
SetStatusMessage(
_(
"Currently constrained to moving only yaw. Make a larger movement in the opposite direction to constrain to pitch."));
130 std::map<unsigned int, ParamStore>::iterator
i;
134 GetSrcImage(
i->first);
141 i->second.TrX = img.getX() +
shift_x;
142 i->second.TrY = img.getY() +
shift_y;
148 img.setTranslationPlaneYaw(
new_Tpy);
149 img.setTranslationPlanePitch(
new_Tpp);
169 shift = e.m_shiftDown;
174 std::set<unsigned int>::iterator
it;
175 for(
it = images_under_mouse.begin() ;
it != images_under_mouse.end() ; ++
it) {
186 switch (e.GetButton())
261 std::set<unsigned int>::iterator
i, end;
284 for (
unsigned int i = 0;
i < imgs;
i++)
307 std::set<unsigned int>::iterator
i, end;
333 std::map<unsigned int, ParamStore>::iterator
i;
334 unsigned int count = 0;
358 helper->
SetStatusMessage(
_(
"Drag to move images (optionally use shift to constrain), or roll with right-drag or Ctrl-drag"));
367 pitch = img->getPitch();
368 roll = img->getRoll();
372 Tpy = img->getTranslationPlaneYaw();
373 Tpp = img->getTranslationPlanePitch();
392 if(TrX != 0.0 || TrY != 0.0 || TrZ != 0.0)
459 double distance = width * width + height * height,
480 for (
double t = 0.0;
t <= 1.0;
t+= 0.005)
482 double x, y,
ti = 1.0 -
t;
HuginBase::UIntSet GetDragGroupImages()
bool individualDragging()
void RemoveImageFromDragGroup(unsigned int image_nr, bool update_check_box=true)
void AddImageToDragGroup(unsigned int image_nr, bool update_check_box=true)
vigra::Size2D getSize() const
get size of output image
SrcPanoImage getSrcImage(unsigned imgNr) const
get a description of a source image
std::size_t getNrOfImages() const
number of images.
All variables of a source image.
class to work with images graphs created from a HuginBase::Panorama class it creates a graph based on...
std::vector< HuginBase::UIntSet > Components
stores the components of the graph
general : Matrix3 is a class for handling 3x3 Matrix manipulation.
void SetRotationPT(double yaw, double pitch, double roll)
set rotation in panotools style, code adapted from Panotools-Script by Bruno Postle
void GetRotationPT(double &Yaw, double &Pitch, double &Roll)
GetRotation in panotools style.
bool AngularToImage(double &image_x, double &image_y, double yaw, double pitch)
bool ImageToAngular(double &yaw, double &pitch, double image_x, double image_y)
void addCommand(PanoCommand *command, bool execute=true)
Adds a command to the history.
static GlobalCmdHist & getInstance()
void DisableTexture(bool maskOnly=false)
general : Vector3 is a class for handling 3D Vectors manipulation.
void SetSrcImage(unsigned int image_nr, HuginBase::SrcPanoImage *new_img)
OutputProjectionInfo * GetProjectionInfo()
HuginBase::PanoramaOptions * GetOptions()
HuginBase::SrcPanoImage * GetSrcImage(unsigned int image_nr)
TextureManager * GetTextureManager()
virtual OutputProjectionInfo * GetProjectionInfo()
include file for the hugin project
include file for the hugin project
void fill_set(_Container &c, typename _Container::key_type begin, typename _Container::key_type end)
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.