47 void RenderMesh(
unsigned int image_number)
const;
172 static void Convert(
double &x,
double &y,
double &z,
double th,
double ph,
double r);
All variables of a source image.
a class to handle a 3D point
Coord3D(hugin_utils::FDiff2D &coord)
a class to keep data of a single rectangle with texture coordinates
double tex_coords[2][2][2]
double vertex_coords[2][2][3]
Handles the remapper and a display list for a specific image.
HuginBase::SrcPanoImage image
virtual void AfterCompile()
void CallList() const
Draw the mesh.
unsigned int display_list_number
void CompileList()
Use the remapper to create the display list.
VisualizationState * m_visualization_state
void SetSrcImage(HuginBase::SrcPanoImage *image)
void SetScaleFactor(double scale)
MeshRemapper * remap
The ramapper we should use.
HuginBase::Panorama * m_pano
void Update()
Recreate the mesh when the image or panorama it represents changes.
virtual void BeforeCompile()
a subclass for the panosphere it converts coordinates obtained from an equirectangular projection to ...
static void Convert(double &x, double &y, double &z, double th, double ph, double r)
convert from spherical to cartesian coordinates
static MeshCoords3D GetMeshCoords3D(MeshRemapper::Coords &coords, VisualizationState *state)
PanosphereOverviewMeshInfo(HuginBase::Panorama *m_pano, HuginBase::SrcPanoImage *image, VisualizationState *visualization_state, bool layout_mode_on)
static const double scale_diff
scale factor to be used for the layout mode TODO: test this for more scenarios
static Coord3D GetCoord3D(hugin_utils::FDiff2D &coord, VisualizationState *state)
PanosphereOverviewMeshInfo(const PanosphereOverviewMeshInfo &source)
subclass for the plane overview mode.
PlaneOverviewMeshInfo(HuginBase::Panorama *m_pano, HuginBase::SrcPanoImage *image, VisualizationState *visualization_state, bool layout_mode_on)
static MeshCoords3D GetMeshCoords3D(MeshRemapper::Coords &coords, VisualizationState *state)
static Coord3D GetCoord3D(hugin_utils::FDiff2D &coord, VisualizationState *state)
static const double scale
PlaneOverviewMeshInfo(const PlaneOverviewMeshInfo &source)
subclass of MeshInfo for the preview It actually does nothing in addition to the base class
PreviewMeshInfo(const PreviewMeshInfo &source)
static Coord3D GetCoord3D(hugin_utils::FDiff2D &coord, VisualizationState *state)
PreviewMeshInfo(HuginBase::Panorama *m_pano, HuginBase::SrcPanoImage *image, VisualizationState *visualization_state, bool layout_mode_on)
static MeshCoords3D GetMeshCoords3D(MeshRemapper::Coords &coords, VisualizationState *state)
A MeshManager handles the graphics system representation of a remapping, by creating OpenGL display l...
bool GetLayoutMode() const
return if layout mode is active
virtual MeshInfo::MeshCoords3D GetMeshCoords3D(MeshRemapper::Coords &coords)=0
void SetLayoutMode(bool state)
Turn layout mode on or off.
VisualizationState * visualization_state
HuginBase::Panorama * m_pano
virtual MeshInfo::Coord3D GetCoord3D(hugin_utils::FDiff2D &)=0
void SetLayoutScale(double scale)
unsigned int GetDisplayList(unsigned int image_number) const
std::vector< MeshInfo * > meshes
virtual MeshInfo * ObtainMeshInfo(HuginBase::SrcPanoImage *, bool layout_mode_on)=0
void RenderMesh(unsigned int image_number) const
void CleanMeshes()
Remove meshes for images that have been deleted.
A class for exchanging pointers to coordinates.
An abstract base class for objects that calculate an approximate remap specified by quadrilatrials.
MeshInfo::Coord3D GetCoord3D(hugin_utils::FDiff2D &coord)
PanosphereOverviewMeshManager(HuginBase::Panorama *pano, VisualizationState *visualization_state)
MeshInfo::MeshCoords3D GetMeshCoords3D(MeshRemapper::Coords &coords)
MeshInfo * ObtainMeshInfo(HuginBase::SrcPanoImage *, bool layout_mode_on)
MeshInfo::MeshCoords3D GetMeshCoords3D(MeshRemapper::Coords &coords)
PlaneOverviewMeshManager(HuginBase::Panorama *pano, VisualizationState *visualization_state)
MeshInfo::Coord3D GetCoord3D(hugin_utils::FDiff2D &coord)
MeshInfo * ObtainMeshInfo(HuginBase::SrcPanoImage *, bool layout_mode_on)
PreviewMeshManager(HuginBase::Panorama *pano, VisualizationState *visualization_state)
MeshInfo::Coord3D GetCoord3D(hugin_utils::FDiff2D &coord)
MeshInfo * ObtainMeshInfo(HuginBase::SrcPanoImage *, bool layout_mode_on)
MeshInfo::MeshCoords3D GetMeshCoords3D(MeshRemapper::Coords &coords)
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.