13 #include <QtWidgets/QWidget>
33 class DtTerrainEditorPropertyTreeWidgetItem;
34 class DtTerrainEditorRuntimePropertyWidgetItem;
35 class DtOsgEarthAddTerrainLayerWidget;
36 class DtOsgEarthAddModelLayerWidget;
37 class DtOsgEarthCacheDialog;
38 class DtOsgEarthGenerateBoundaryWidget;
56 ItemDataType = Qt::UserRole,
67 ItemDataUrl = Qt::UserRole
97 virtual void initialize();
100 virtual bool isInitialized();
103 virtual void cleanup();
110 virtual void addTerrainContentTopLevelItem(
const TerrainContentItemKey& key,
const std::string& displayName);
119 bool checked =
true);
124 virtual void addOsgEarthFragmentContentTopLevelItem(
const std::string& key,
const std::string& displayName);
130 virtual void addOsgEarthFragmentContentItem(
const std::string& key,
const std::string& parentKey,
const std::string& displayName);
133 virtual void clearTreeWidgets();
136 virtual void cleanOsgEarthFragmentTreeWidget();
140 virtual void setSelectedOsgEarthFragmentKeys(
const std::vector<TerrainContentItemKey>& keys);
144 virtual void setStyleSheetForTopPanelButtons();
149 virtual void setFocusOnTerrainContentTreeWidgetItem(
const TerrainContentItemKey& key,
bool expanded =
true);
164 virtual void resizeTerrainPropertyTreeWidget();
167 virtual void resizeTerrainRuntimeTreeWidget();
170 virtual void resizeTerrainFragmentTreeWidget();
179 virtual void setGenerateCacheButtonEnabled(
bool enabled);
183 virtual void setGenerateBoundaryButtonEnabled(
bool enabled);
187 virtual void setSaveTerrainButtonEnabled(
bool enabled);
191 virtual void setCommitChangeButtonEnabled(
bool enabled);
195 virtual void setRevertChangeButtonEnabled(
bool enabled);
199 virtual void enableOsgEarthFragmentTabWidget(
bool enabled);
203 virtual void enableTerrainRuntimeTabWidget(
bool enabled);
211 virtual void showTerrainPropertyTreeWidgetItems(
const std::vector<TerrainContentItemKey>& key);
230 virtual void setOsgEarthTerrainProperty(
const TerrainContentItemKey& key,
const osgEarth::MapOptions& mapOptions,
231 const osgEarth::MapNodeOptions& mapNodeOptions,
const osgEarth::TerrainOptions& terrainOptions);
238 virtual void getOsgEarthTerrainProperty(
const TerrainContentItemKey& key, osgEarth::MapOptions& mapOptions,
239 osgEarth::MapNodeOptions& mapNodeOptions, osgEarth::TerrainOptions& terrainOptions);
274 void setImageLayerProperty(
const TerrainContentItemKey& key,
const osgEarth::ImageLayerOptions& options);
279 virtual void getImageLayerProperty(
const TerrainContentItemKey& key, osgEarth::ImageLayerOptions& options);
284 void setElevationLayerProperty(
const TerrainContentItemKey& key,
const osgEarth::ElevationLayerOptions& options);
289 virtual void getElevationLayerProperty(
const TerrainContentItemKey& key, osgEarth::ElevationLayerOptions& options);
294 void setModelLayerProperty(
const TerrainContentItemKey& key,
const osgEarth::ModelLayerOptions& options);
299 virtual void getModelLayerProperty(
const TerrainContentItemKey& key, osgEarth::ModelLayerOptions& options);
304 void setMaskLayerProperty(
const TerrainContentItemKey& key,
const osgEarth::MaskLayerOptions& options);
309 virtual void setBuildingLayerProperty(
const TerrainContentItemKey& key,
const osgEarth::Buildings::BuildingLayerOptions& options);
314 virtual void setLandCoverLayerProperty(
const TerrainContentItemKey& key,
const osgEarth::LandCoverLayerOptions& options);
319 virtual void setGroundCoverLayerProperty(
const TerrainContentItemKey& key,
const osgEarth::Splat::GroundCoverLayerOptions& options);
324 virtual void setGroundCoverProperty(
const TerrainContentItemKey& key,
const osgEarth::Splat::GroundCoverOptions& options);
329 virtual void setRoadSurfaceLayerProperty(
const TerrainContentItemKey& key,
const osgEarth::Splat::RoadSurfaceLayerOptions& options);
334 virtual void setSplatLayerProperty(
const TerrainContentItemKey& key,
const osgEarth::Splat::SplatLayerOptions& options);
341 virtual void showCacheDialog(
const std::string& osgEarthTerrainDefinition);
353 virtual void showSaveFileConfirmationMessageBox(
const DtUnicode& fileName);
356 virtual bool showOverrideOsgEarthFileDialog();
360 virtual bool showWarnReloadTerrainMessageBox(
bool& checked);
364 virtual bool showReloadTerrainAfterGenerateMaskMessageBox(
const std::string& terrainPatch);
370 virtual bool showChooseLayerTypeMessageBox(
const DtUnicode& url,
int& type);
375 virtual void showFileExtensionNotSupportedMessageBox(
const DtUnicode& fileName);
379 virtual void setGenerateBoundaryModels(
const std::vector<std::string>& models);
382 virtual void setTerrainPropertyTreeItemName(
const std::string& name);
385 virtual void setTerrainPropertyTreeItemVisiblity(
bool visible);
388 virtual void expandTerrainContentTreeWidget();
391 virtual void expandOsgEarthFragmentTreeWidget();
450 virtual void connectSignals();
480 virtual void removeTerrainContentTreeWidgetItem(
QTreeWidgetItem* item);
485 virtual void removeTerrainContentTreeWidgetItemFromMap(
QTreeWidgetItem* item);
562 virtual void populateTerrainContentTreeContextMenu(QContextMenuEvent* e);
565 virtual void populateTerrainFragmentTreeContextMenu(QContextMenuEvent* e);
568 virtual void populateTerrainPropertyTreeContextMenu(QContextMenuEvent* e);
571 virtual void renameTerrainContentTreeWidgetItem();
574 virtual void moveUpTerrainContentTreeWidgetItem();
577 virtual void moveDownTerrainContentTreeWidgetItem();
580 virtual void saveTerrainContentTreeWidgetItem();
583 virtual void deleteTerrainContentTreeWidgetItem();
586 virtual void hideAllTerrainContentTreeTopLevelItems();
589 virtual void hideAllTerrainPropertyTreeTopLevelItems();
596 virtual void showTerrainPropertyTreeTopLevelItems(
const std::vector<DtTerrainEditorPropertyTreeWidgetItem*>& items);
602 virtual bool isTerrainContentTabEnabled();
605 virtual bool isTerrainPropertyTabEnabled();
611 virtual bool checkIfNameDuplicate(
QTreeWidgetItem* item,
const std::string& name);
620 virtual void slot_osgEarthTerrainLayerRequestAdded(
int type,
const std::string& name,
const std::string& driver,
const DtUnicode& url);
627 virtual void slot_osgEarthModelLayerDataRequestAdded(
const std::string& name,
const std::string& driver,
const DtUnicode& url,
const std::string& wfsType);
634 virtual void slot_generateBoundary(
const std::string& definition,
const std::string& name,
bool,
bool);
646 virtual void on_terrainContentTreeWidget_itemPressed(
QTreeWidgetItem* item,
int column);
651 virtual void on_terrainContentTreeWidget_itemDoubleClicked(
QTreeWidgetItem* item,
int column);
656 virtual void on_terrainContentTreeWidget_itemChanged(
QTreeWidgetItem* item,
int column);
671 virtual void on_terrainPropertyTreeWidget_itemPressed(
QTreeWidgetItem*,
int column);
675 virtual void on_terrainContentTabWidget_currentChanged(
int index);
679 virtual void on_terrainRuntimeOptionsTabWidget_currentChanged(
int index);
682 virtual void on_terrainContentTreeMenu_triggered(
QAction* action);
685 virtual void on_terrainPropertyTreeMenu_triggered(
QAction* action);
688 virtual void on_terrainContentTree_checkBox_stateChanged(
const QTreeWidgetItem *,
int checked);
691 virtual void on_addTerrainPatchButton_released();
694 virtual void on_addImageLayerButton_released();
697 virtual void on_addElevationLayerButton_released();
700 virtual void on_addFeatureButton_released();
703 virtual void on_addFeatureLayerButton_released();
706 virtual void on_addOceanLayerButton_released();
709 virtual void on_commitChangesButton_released();
712 virtual void on_revertChangesButton_released();
715 virtual void on_saveTerrainButton_released();
718 virtual void on_generateCacheButton_released();
721 virtual void on_generateBoundaryButton_released();
725 virtual void slot_visibleLayerVisibilityChanged(
bool visible);
730 virtual void slot_visibleLayerOpacityChanged(
double opacity);
735 virtual void slot_visibleLayerMinVisibleRangeChanged(
double minRange);
740 virtual void slot_visibleLayerMaxVisibleRangeChanged(
double maxRange);
745 virtual void slot_modelLayerLightingChanged(
bool lighting);
749 virtual void slot_oceanLayerHeightChanged(
double height);
753 virtual void slot_oceanLayerLodChanged(
int lod);
757 virtual void slot_groundCoverWindChanged(
double wind);
762 virtual void slot_groundCoverFillChanged(
double fill);
766 virtual void slot_groundCoverMaxDistanceChanged(
double maxDistance);
769 virtual void contextMenuEvent(QContextMenuEvent* e);
772 virtual void dragEnterEvent(QDragEnterEvent *e);
775 virtual void dropEvent(QDropEvent* e);
A DtOceanLayerRecord contains the information to add dynamic water.
Definition: DtOceanLayerRecord.h:21
Contains DLL export macros.
Virtual base class.
Definition: DtVirtualBaseClass.h:22
A unicode string.
Definition: DtUnicode.h:33
A DtFeatureLayerRecord contains the information to add features from a single source file and ruleset...
Definition: DtFeatureLayerRecord.h:25
DtTerrainEditorInterface.
Definition: DtTerrainEditorInterface.h:54
A DtModelDefinitionRecord will serialize a terrain patch model definition.
Definition: DtModelDefinitionRecord.h:20
Contains makVrv::DtVirtualBaseClass class.
Contains makVrv::DtOsgEarthPropertyItemKey class.
Contains the DtTerrainEditorInterface class declaration.
TerrainContentItemType
Definition: DtTerrainEditorInterface.h:59
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:24
DtOsgEarthCacheDialog Widget for generating cache data of image/elevation/model.
Definition: DtOsgEarthCacheDialog.h:40
Base class to provide boost signal/slot management.
DtOsgEarthPropertyItemKey Key of the osgEarth property item, represented by the type and index...
Definition: DtOsgEarthPropertyItemKey.h:22
TerrainContentItemKey.
Definition: DtTerrainEditorInterface.h:99
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
#define DT_DLL_VRVTERRAINEDITOR
Definition: vrvTerrainEditor.h:25