24 #ifndef _PANOTOOLS_PANOTOOLSINTERFACE_H
25 #define _PANOTOOLS_PANOTOOLSINTERFACE_H
28 #include <hugin_config.h>
48 #define _STLP_VERBOSE_AUTO_LINK
67 #include <pano13/panorama.h>
68 #include <pano13/filter.h>
75 #include <pano13/filter.h>
89 namespace vigra {
class Diff2D; }
90 namespace HuginBase {
class PanoramaData; }
101 namespace HuginBase {
namespace PTools {
116 : m_initialized(false), m_srcTX(0), m_srcTY(0),
117 m_destTX(0), m_destTY(0)
120 m_srcImage.data = NULL;
121 m_dstImage.data = NULL;
151 void createTransform(
const vigra::Diff2D & srcSize,
154 const vigra::Diff2D &destSize,
156 const std::vector<double> & destProjParam,
158 const vigra::Diff2D & origSrcSize);
161 void createTransform(
const PanoramaData& pano,
unsigned int imgNr,
163 vigra::Diff2D srcSize=vigra::Diff2D(0,0));
185 void createInvTransform(
const vigra::Diff2D & srcSize,
188 const vigra::Diff2D & destSize,
190 const std::vector<double> & destProjParam,
192 const vigra::Diff2D & origSrcSize);
195 void createInvTransform(
const PanoramaData& pano,
unsigned int imgNr,
197 vigra::Diff2D srcSize=vigra::Diff2D(0,0));
204 bool transform(
double & x_dest,
double & y_dest,
205 double x_src,
double y_src)
const;
213 bool transformImgCoord(
double & x_dest,
double & y_dest,
214 double x_src,
double y_src)
const;
216 bool transformImgCoordPartial(
double & x_dest,
double & y_dest,
double x_src,
double y_src)
const;
220 {
return transformImgCoord(dest.
x, dest.
y, src.
x, src.
y); }
223 bool emitGLSL(std::ostringstream& oss)
const;
227 void updatePTData(
const vigra::Diff2D &srcSize,
230 const vigra::Diff2D & destSize,
232 const std::vector<double> & destProjParam,
241 struct MakeParams m_mp;
242 struct fDesc m_stack[15];
254 IMPEX void setDestImage(Image & image, vigra::Diff2D size,
unsigned char * imageData,
256 const std::vector<double> & projParams,
262 IMPEX void setFullImage(Image & image, vigra::Diff2D size,
unsigned char * imageData,
265 bool correctDistortions);
misc math function & classes used by other parts of the program
std::vector< VariableMap > VariableMapVector
std::map< std::string, Variable > VariableMap
std::vector< ControlPoint > CPVector
ProjectionFormat
Projection of final panorama.
All variables of a source image.