1#ifndef MosaicSceneWidget_H
2#define MosaicSceneWidget_H
9template <
typename A>
class QList;
11class QGraphicsPolygonItem;
14class QGraphicsSceneContextMenuEvent;
158 bool showTools,
bool internalizeToolBarsAndProgress,
175 return *m_mosaicSceneItems;
178 void addTo(
QMenu *menu);
180 void addToPermanent(
QToolBar *toolBar);
183 using QWidget::contextMenuEvent;
188 bool cubesSelectable()
const {
189 return m_cubesSelectable;
192 void enableRubberBand(
bool);
193 bool blockSelectionChange(
bool);
195 bool userHasTools()
const {
196 return m_userToolControl;
202 void save(QXmlStreamWriter &stream,
Project *project,
FileName newProjectRoot)
const;
205 QRectF cubesBoundingRect()
const;
217 double moveDownOne(
Image *);
225 double moveUpOne(
Image *);
233 double moveZ(
Image *image,
double newZ,
bool newZValueMightExist =
true);
238 template <
typename DataType>
243 bool isControlNetToolActive();
245 static QWidget *getControlNetHelp(
QWidget *cnetToolContainer = NULL);
247 static QWidget *getLongHelp(
QWidget *mosaicSceneContainer = NULL);
249 static QWidget *getPreviewHelp(
QWidget *worldViewContainer = NULL);
253 void mouseMove(QPointF);
255 void mouseDoubleClick(QPointF);
256 void mouseButtonPress(QPointF, Qt::MouseButton s);
257 void mouseButtonRelease(QPointF, Qt::MouseButton s);
258 void mouseWheel(QPointF,
int delta);
260 void rubberBandComplete(QRectF r, Qt::MouseButton s);
261 void visibleRectChanged(QRectF);
265 void queueSelectionChanged();
269 void createControlPoint(
double latitude,
double longitude);
274 void controlPointChanged(QString pointId);
275 void controlPointDeleted();
277 void mosCubeClosed(
Image *);
283 void setCubesSelectable(
bool);
285 void setOutlineRect(QRectF);
299 void onSelectionChanged();
300 void onQueuedSelectionChanged();
303 void quickConfigProjectionParameters();
304 void sendVisibleRectChanged();
307 virtual bool eventFilter(
QObject *obj, QEvent *ev);
315 void recalcSceneRect();
329 bool m_cubesSelectable;
330 bool m_customRubberBandEnabled;
331 QRubberBand *m_customRubberBand;
332 QPoint *m_rubberBandOrigin;
340 QToolButton *m_mapButton;
354 bool m_blockingSelectionChanged;
355 bool m_userToolControl;
356 bool m_ownProjection;
357 bool m_queuedSelectionChanged;
358 bool m_shouldRequeueSelectionChanged;
360 double m_currentMinimumFootprintZ;
361 double m_currentMaximumFootprintZ;
File name manipulation and expansion.
This represents a cube in a project-based GUI interface.
Internalizes a list of images and allows for operations on the entire list.
A graphics view that resizes in a more friendly way.
A single cube in the mosaic scene.
The main project for ipce.
Base class for Map Projections.
Contains multiple PvlContainers.
Container for cube-like labels.
Contains Pvl Groups and Pvl Objects.
This is free and unencumbered software released into the public domain.
This is free and unencumbered software released into the public domain.
This is free and unencumbered software released into the public domain.
This is free and unencumbered software released into the public domain.