iVS3D v2.0.9
Loading...
Searching...
No Matches
GeoMap Class Reference

The GeoMapPlugin allows the user to select the images, which are to be used for the 3D reconstruction, based on their geographic position. More...

#include <geomap.h>

Inheritance diagram for GeoMap:
PLUG::IBase PLUG::ISelection

Public Slots

void onGpsClicked (QPointF gpsPoint, bool used)
 onGpsClicked slot triggered when gps point on the map is clicked
 
void onGpsSelected (QPolygonF polyF)
 onGpsSelected Slot is triggered when a new user selcted polyogn is created
 

Public Member Functions

 GeoMap ()
 Construct and initialize plugin with default parameterization.
 
 ~GeoMap () override=default
 Destroy object of GeoMapPlugin.
 
PLUG::SettingsWidgetResult getSettingsWidget () override
 getSettingsWidget is provides an QWidget to display plugin specific settings to the user. The Widget is not deleted by the core application, so storage management is duty of the plugin.
 
QString getName () const override
 getName returns the display name for the plugin. This name is presented to the user.
 
QMap< QString, QVariant > getSettings () const override
 getSettings retrieves the current settings of the plugin as a map of key-value pairs. The settings are stored in the history within iVS3D and in combination with applySettings allow for saving and restoring plugin configurations.
 
PLUG::ApplySettingsResult applySettings (const QMap< QString, QVariant > &settings) override
 applySettings applies the provided settings to the plugin. This method is used to restore plugin configurations from the history within iVS3D.
 
PLUG::InputLoadedResult onInputLoaded (const PLUG::InputData &input) override
 onInputLoaded is called when a new input video or image set is loaded.
 
PLUG::MetaDataLoadedResult onMetaDataLoaded (const PLUG::InputMetaData &inputMetaData) override
 onMetaDataLoaded is called whenever metadata was loaded or refreshed for the currently active input.
 
void onSelectedImagesChanged (const std::vector< uint > &selectedImages) override
 onSelectedImagesChanged is called when the current keyframe / selected-image list changed.
 
void onIndexChanged (uint index) override
 onIndexChanged is called when the currently displayed frame index changes in the viewer.
 
PLUG::SelectionResult selectImages (const PLUG::SelectionData &data, volatile bool &cancelFlag) override
 Selects images based on the provided selection data.
 
- Public Member Functions inherited from PLUG::IBase
virtual QString getSettingsString () const
 getSettingsString is a helper method that converts the plugin settings into a human-readable string format.
 
virtual void activate ()
 activate is called when the plugin is activated in iVS3D. Plugins can override this method to perform any necessary setup when they become active.
 
virtual void deactivate ()
 deactivate is called when the plugin is deactivated in iVS3D. Plugins can override this method to perform any necessary cleanup when they are no longer active.
 
virtual void onCudaChanged (bool enabled)
 onCudaChanged is called when the CUDA usage setting is changed in iVS3D.
 

Private Member Functions

std::vector< unsigned int > getKeyframesFromGps () const
 these are the localy stored keyframes
 
std::vector< unsigned int > getFramesInsidePolygon () const
 these are all frames inside the user created polygon
 

Private Attributes

QList< QVariant > mMetaData
 List of available meta data.
 
QList< QPair< QPointF, bool > > mGpsData
 List of GPS data associated with the images.
 
bool mIsGpsAvailable = false
 Flag indicating if GPS data is available.
 

Additional Inherited Members

- Signals inherited from PLUG::IBase
void updatePreview (bool clearOldPreview=true)
 [signal] updatePreview(bool clearOldPreview) can be emitted when the plugin requests an update of the preview visualization.
 
void updateSelectedImages (std::vector< uint > selectedImages)
 [signal] updateSelectedImages(std::vector<uint> selectedImages) can be emitted when the plugin wants to update the selection of images in the video player. iVS3D will only handle this signal if the plugin is currently active.
 
void updateProgress (int progress, QString message=QString())
 [signal] updateProgress(int progress, QString message) can be emitted to inform iVS3D about the progress of a long-running operation.
 

Detailed Description

The GeoMapPlugin allows the user to select the images, which are to be used for the 3D reconstruction, based on their geographic position.

In this, the location (derived from the meta data) of the images are displayed on a map. The user is then prompted to draw a region of interest in the form of a polygon. All images whose geographic location lie inside this polygon are than exported and prepared for the 3D reconstruction.

Author
Daniel Brommer
Boitumelo Ruf

Constructor & Destructor Documentation

◆ GeoMap()

GeoMap::GeoMap ( )

Construct and initialize plugin with default parameterization.

Default construction.

Member Function Documentation

◆ applySettings()

ApplySettingsResult GeoMap::applySettings ( const QMap< QString, QVariant > &  settings)
overridevirtual

applySettings applies the provided settings to the plugin. This method is used to restore plugin configurations from the history within iVS3D.

See also
getSettings
Parameters
settingsA QMap containing the plugin settings as key-value pairs.

Implements PLUG::IBase.

◆ getName()

QString GeoMap::getName ( ) const
overridevirtual

getName returns the display name for the plugin. This name is presented to the user.

Returns
The name to display

Implements PLUG::IBase.

◆ getSettings()

QMap< QString, QVariant > GeoMap::getSettings ( ) const
overridevirtual

getSettings retrieves the current settings of the plugin as a map of key-value pairs. The settings are stored in the history within iVS3D and in combination with applySettings allow for saving and restoring plugin configurations.

See also
applySettings
Returns
A QMap containing the plugin settings as key-value pairs.

Implements PLUG::IBase.

◆ getSettingsWidget()

SettingsWidgetResult GeoMap::getSettingsWidget ( )
overridevirtual

getSettingsWidget is provides an QWidget to display plugin specific settings to the user. The Widget is not deleted by the core application, so storage management is duty of the plugin.

Returns
The QWidget with the plugin settings

Implements PLUG::IBase.

◆ onGpsClicked

void GeoMap::onGpsClicked ( QPointF  gpsPoint,
bool  used 
)
slot

onGpsClicked slot triggered when gps point on the map is clicked

Parameters
gpsPointgps point which has been clicked
usedtrue if points is used AFTER click false otherwise

◆ onGpsSelected

void GeoMap::onGpsSelected ( QPolygonF  polyF)
slot

onGpsSelected Slot is triggered when a new user selcted polyogn is created

Parameters
polyFPerimeter of the polyogn

◆ onIndexChanged()

void GeoMap::onIndexChanged ( uint  index)
overridevirtual

onIndexChanged is called when the currently displayed frame index changes in the viewer.

Plugins can use this notification to update index-dependent internal state (for example temporal caches, active-frame labels, or lazy loading windows).

Threading contract:

  • Called on the plugin worker thread.
Parameters
indexNew current frame index.

Implements PLUG::IBase.

◆ onInputLoaded()

InputLoadedResult GeoMap::onInputLoaded ( const PLUG::InputData input)
overridevirtual

onInputLoaded is called when a new input video or image set is loaded.

Plugins can override this method to reset caches or initialize state that depends on the current input.

Implements PLUG::IBase.

◆ onMetaDataLoaded()

MetaDataLoadedResult GeoMap::onMetaDataLoaded ( const PLUG::InputMetaData inputMetaData)
overridevirtual

onMetaDataLoaded is called whenever metadata was loaded or refreshed for the currently active input.

Typical use cases:

  • refresh plugin-internal caches that depend on metadata,
  • enable/disable metadata-dependent features,
  • precompute derived values from loaded metadata tracks.

Threading contract:

  • This callback is invoked on the plugin worker thread.
  • Implementations must not directly manipulate UI widgets here.

Error handling:

  • Return an Error if the plugin cannot consume the provided metadata.
  • iVS3D logs such errors and continues operating.
Parameters
inputMetaDataMetadata context for the currently loaded input.
Returns
MetaDataLoadedResult indicating success or failure.

Implements PLUG::IBase.

◆ onSelectedImagesChanged()

void GeoMap::onSelectedImagesChanged ( const std::vector< uint > &  selectedImages)
overridevirtual

onSelectedImagesChanged is called when the current keyframe / selected-image list changed.

This keeps plugins synchronized with interactive edits, sampling results, and undo/redo restores that modify the selected image set.

Threading contract:

  • Called on the plugin worker thread.
Parameters
selectedImagesUpdated sorted list of selected image indices.

Implements PLUG::IBase.

◆ selectImages()

SelectionResult GeoMap::selectImages ( const PLUG::SelectionData data,
volatile bool &  cancelFlag 
)
overridevirtual

Selects images based on the provided selection data.

This method should be implemented by the plugin to select images according to the specified criteria in SelectionData.

Parameters
dataThe SelectionData containing selected indices, working resolution, and ROI.
cancelFlagA volatile boolean flag that can be set to true to cancel the selection process.
Returns
A SelectionResult containing either the selected image indices or an Error if the selection failed.

Implements PLUG::ISelection.


The documentation for this class was generated from the following files: