VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtTerrainEditorLogic.h
Go to the documentation of this file.
1 /*****************************************************************************
2 * Copyright (c) 2020 MAK Technologies, Inc.
3 * All rights reserved.
4 *****************************************************************************/
5 
9 
10 #pragma once
11 
14 #include <osgEarth/MapCallback>
15 #include <osgEarth/GeoData>
16 
17 #include <osgEarth/FeatureModelLayer> // FIXME: Remove me once FeatureModelLayerVector typedef is in osgEarth
18 #include <osgEarthAerodromes/AerodromeLayer> // FIXME: Remove me once AerodromeLayerVector typedef is in osgEarth
19 
22 #include <vrvUtil/DtUnicode.h>
23 #include <osg/observer_ptr>
24 
25 // Class Forward Declarations
26 namespace osgEarth
27 {
28  class MapNode;
29  class Layer;
30  class Extension;
31  class VisibleLayer;
32  class ImageLayer;
33  class ElevationLayer;
34  //class FeatureModelLayer; // FIXME: Can put back once FeatureModelLayerVector is defined in makOsgEarth
35  //class AerodromeLayer; // FIXME: Can put back once AerodromeLayerVector is defined in makOsgEarth
36  class ModelLayer;
37  class LandCoverLayer;
38  class MaskLayer;
39  namespace Splat
40  {
41  class BiomeZone;
42  class GroundCoverLayer;
43  class RoadSurfaceLayer;
44  class SplatLayer;
45  }
46  namespace Buildings
47  {
48  class BuildingLayer;
49  }
50 }
51 
52 namespace makArchives
53 {
54  class DtModelDefinitionRecord;
55 }
56 
57 namespace makVrv
58 {
59  // Class Forward Declarations
60  class DtTerrainEditorInterface;
61  class DtTerrainPatch;
62  class DtTerrainPatchObject;
63  class DtFeatureLayer;
64  class DtOceanLayer;
65  class DtOsgEarthDataRequestQueue;
66  class DtOsgEarthDataRequest;
67  class DtOsgEarthFileParser;
68  class DtOsgEarthFile;
69 
74  {
75  typedef std::vector< osg::ref_ptr<osgEarth::FeatureModelLayer> > FeatureModelLayerVector;
76  typedef std::vector< osg::ref_ptr<osgEarth::FeatureSource> > FeatureSourceLayerVector;
77  typedef std::vector< osg::ref_ptr<osgEarth::Aerodrome::AerodromeLayer> > AerodromeLayerVector;
78 
79  public:
82 
84  virtual ~DtTerrainEditorLogic();
85 
86  protected:
87 
91  class DtTerrainEditorMapCallbak : public osgEarth::MapCallback
92  {
93  public:
97 
101  virtual void onLayerAdded(osgEarth::Layer* layer, unsigned index);
102 
106  virtual void onLayerRemoved(osgEarth::Layer* layer, unsigned index);
107 
108  protected:
110  };
111 
115 
117  virtual void connectSignals();
118 
120  virtual void disconnectSignals();
121 
123  virtual void syncCurrentScene();
124 
128  virtual void populateTerrainPatch(const DtTerrainPatchObject* terrainPatchObject, int sequence);
129 
133  virtual void populateFeatureLayer(const DtFeatureLayer* featureLayer, int sequence);
134 
139  virtual void populateOceanLayer(const DtOceanLayer* oceanLayer, int sequence);
140 
143  virtual int findIndexForGroupItem(const DtTerrainEditorInterface::TerrainContentItemKey& key);
144 
148  virtual DtUnicode findFileNameOfTerrainPatch(const std::string& terrainDefinition);
149 
152  virtual bool isOsgEarthTerrain(const DtUnicode& fileName);
153 
156  virtual std::string getTerrainContentGroupItemDisplayName(int type);
157 
161  virtual void processOsgEarthTerrain(const std::string& terrainDefinition, const DtUnicode& fileName);
162 
164  //Functions to populate the contents of an osgEarth terrain.
165 
167  virtual void populateOsgEarthTerrain();
168 
170  virtual void populateOsgEarthFragments();
171 
173  virtual void populateAerodromeLayers();
174 
176  virtual void populateFeatureSourceLayers();
177 
179  virtual void populateFeatureModelLayers();
180 
182  virtual void populateImageLayers();
183 
185  virtual void populateElevationLayers();
186 
188  virtual void populateModelLayers();
189 
191  virtual void populateMaskLayers();
192 
194  virtual void populateBuildingLayers();
195 
197  virtual void populateLandCoverLayers();
198 
200  virtual void populateGroundCoverLayers();
201 
204  virtual void populateGroundCovers(osgEarth::Splat::GroundCoverLayer* groundCoverLayer);
205 
207  virtual void populateRoadSurfaceLayers();
208 
210  virtual void populateSplatLayers();
211 
215  virtual void populateImageLayer(osgEarth::ImageLayer* imageLayer, int sequence);
216 
220  virtual void populateAerodromeLayer(osgEarth::Aerodrome::AerodromeLayer* aerodromeLayer, int sequence);
221 
225  virtual void populateFeatureSourceLayer(osgEarth::FeatureSource* featureSourceLayer, int sequence);
226 
230  virtual void populateFeatureModelLayer(osgEarth::FeatureModelLayer* featureModelLayer, int sequence);
231 
235  virtual void populateElevationLayer(osgEarth::ElevationLayer* elevationLayer, int sequence);
236 
240  virtual void populateModelLayer(osgEarth::ModelLayer* modelLayer, int sequence);
241 
245  virtual void populateMaskLayer(osgEarth::MaskLayer* maskLayer, int sequence);
246 
250  virtual void populateBuildingLayer(osgEarth::Buildings::BuildingLayer* buildingLayer, int sequence);
251 
255  virtual void populateLandCoverLayer(osgEarth::LandCoverLayer* layer, int sequence);
256 
260  virtual void populateGroundCoverLayer(osgEarth::Splat::GroundCoverLayer* layer, int sequence);
261 
265  virtual void populateBiomeZone(const DtTerrainEditorInterface::TerrainContentItemKey& parentkey, const osgEarth::Splat::BiomeZone& zone, int sequence);
266 
270  virtual void populateRoadSurfaceLayer(osgEarth::Splat::RoadSurfaceLayer* layer, int sequence);
271 
275  virtual void populateSplatLayer(osgEarth::Splat::SplatLayer* layer, int sequence);
276 
278 
282  virtual void onImageLayerCreated(osgEarth::ImageLayer* imageLayer);
283 
287  virtual void onElevationLayerCreated(osgEarth::ElevationLayer* elevationLayer);
288 
292  virtual void onModelLayerCreated(osgEarth::ModelLayer* modelLayer);
293 
297  virtual void onMaskLayerCreated(osgEarth::MaskLayer* maskLayer);
298 
301  virtual void syncImageLayerToOsgEarthFile(osgEarth::ImageLayer* imageLayer);
302 
305  virtual void syncElevationLayerToOsgEarthFile(osgEarth::ElevationLayer* elevationLayer);
306 
309  virtual void syncModelLayerToOsgEarthFile(osgEarth::ModelLayer* modelLayer);
310 
313  virtual void syncMaskLayerToOsgEarthFile(osgEarth::MaskLayer* maskLayer);
314 
318  virtual void syncMaskConfigToOsgEarthFile(const std::string& name, const std::string& boundary);
319 
321  virtual void removeConfigInOsgEarthFile(const std::string& key, const std::string& name);
322 
324  virtual void onOsgEarthTerrainCleared();
325 
327  // slots connected to DtTerrainPatchObjectSignaler signals
328 
331  virtual void slot_terrainPatchCreated(DtTerrainPatchObject& terrainPatchObject);
334  virtual void slot_terrainPatchToBeDeleted(const DtTerrainPatch& patch);
336 
338  // slots connected to DtTerrainSignaler signals
340 
343  virtual void slot_featureLayerAdded(const DtFeatureLayer& layer);
346  virtual void slot_featureLayerToBeDeleted(const DtFeatureLayer& layer);
349  virtual void slot_oceanLayerAdded(const DtOceanLayer& layer);
352  virtual void slot_oceanLayerToBeDeleted(const DtOceanLayer& layer);
355  virtual void slot_terrainCleared();
356 
358 
360  //| Methods connected to DtTerrainEditorInterface signals
361 
366  virtual void slot_terrainContentTreeWidget_itemRenamed(const DtTerrainEditorInterface::TerrainContentItemKey& key,
367  const std::string& oldName, const std::string& newName);
368 
371  virtual void slot_terrainContentTreeWidget_itemDoubleClicked(const DtTerrainEditorInterface::TerrainContentItemKey& key);
372 
376  virtual void slot_terrainContentTreeWidget_itemVisibilityChanged(const DtTerrainEditorInterface::TerrainContentItemKey& key, bool visible);
377 
380  virtual void slot_osgEarthFragmentTreeWidget_currentItemChanged(const std::string& key);
381 
384  virtual void slot_terrainContentCommitChangesButtonReleased(const DtTerrainEditorInterface::TerrainContentItemKey& key);
385 
388  virtual void slot_terrainContentRevertChangesButtonReleased(const DtTerrainEditorInterface::TerrainContentItemKey& key);
389 
392  virtual void slot_terrainPropertyTreeWidgetItem_currentItemChanged(const DtTerrainEditorInterface::TerrainContentItemKey& key);
393 
396  virtual void slot_osgEarthFragmentCommitChangesButtonReleased(const std::vector<DtTerrainEditorInterface::TerrainContentItemKey>& keys);
397 
400  virtual void slot_terrainRuntimeTreeWidgetItem_currentItemChanged(const DtTerrainEditorInterface::TerrainContentItemKey& key);
401 
405  virtual void slot_moveTerrainContentTreeWidgetItem(const DtTerrainEditorInterface::TerrainContentItemKey& key, bool up);
406 
409  virtual void slot_saveTerrainContentTreeWidgetItem(const DtTerrainEditorInterface::TerrainContentItemKey& key);
410 
413  virtual void slot_deleteTerrainContentTreeWidgetItem(const DtTerrainEditorInterface::TerrainContentItemKey& key);
414 
417  virtual void slot_addTerrainPatchButtonReleased(const DtUnicode& fileName);
418 
421  virtual void slot_addFeatureLayerButtonReleased(const DtUnicode& fileName);
422 
425  virtual void slot_addOceanLayerButtonReleased();
426 
428  virtual void slot_generateBoundaryButton_released();
429 
435  virtual void slot_osgEarthTerrainLayerRequestAdded(int type, const std::string& name, const std::string& driver, const DtUnicode& url);
436 
442  virtual void slot_osgEarthModelLayerRequestAdded(const std::string& name, const std::string& driver, const DtUnicode& url, const std::string& wfsType);
443 
449  virtual void slot_generateBoundary(const std::string& terrainPatchDefinition, const std::string& name, bool geocentric, bool convexHull);
450 
452  virtual void slot_generateCacheButtonReleased();
453 
455  virtual void slot_saveTerrain();
456 
458  virtual void slot_quit();
459 
461  virtual void slot_addData(std::vector<std::string> files);
463 
465  //| Methods connected to runtime options widget signals
466 
470  virtual void slot_visibleLayerVisiblityChanged(const DtTerrainEditorInterface::TerrainContentItemKey& key, bool visible);
471 
475  virtual void slot_visibleLayerOpacityChanged(const DtTerrainEditorInterface::TerrainContentItemKey& key, double opacity);
476 
480  virtual void slot_visibleLayerMinVisibleRangeChanged(const DtTerrainEditorInterface::TerrainContentItemKey& key, double minRange);
481 
485  virtual void slot_visibleLayerMaxVisibleRangeChanged(const DtTerrainEditorInterface::TerrainContentItemKey& key, double maxRange);
486 
490  virtual void slot_modelLayerLightingChanged(const DtTerrainEditorInterface::TerrainContentItemKey& key, bool lighting);
491 
494  virtual void slot_oceanLayerHeightChanged(const DtTerrainEditorInterface::TerrainContentItemKey& key, double height);
495 
498  virtual void slot_oceanLayerLodChanged(const DtTerrainEditorInterface::TerrainContentItemKey& key, int lod);
499 
503  virtual void slot_groundCoverWindChanged(const DtTerrainEditorInterface::TerrainContentItemKey& key, double wind);
504 
508  virtual void slot_groundCoverFillChanged(const DtTerrainEditorInterface::TerrainContentItemKey& key, double fill);
509 
513  virtual void slot_groundCoverMaxDistanceChanged(const DtTerrainEditorInterface::TerrainContentItemKey& key, double maxDistance);
515 
517  //| Methods used to navigate the camera to the center of the interested terrain content.
518 
523  virtual void moveCameraToGeoExtent(const osgEarth::GeoExtent& geoExtent);
524 
528  virtual void moveCameraToTerrainCenter(const std::string& terrainDefinition);
529 
533  osgEarth::GeoExtent findGeoExtentForGroundCoverLayer(osgEarth::Splat::GroundCoverLayer* layer);
534 
539  //osgEarth::GeoExtent findGeoExtentForGroundCover(osgEarth::Splat::GroundCover* cover, int groundCoverLayerId);
540 
544  osgEarth::GeoExtent findGeoExtentForSplatLayer(osgEarth::Splat::SplatLayer* layer);
545 
547 
549  //| Methods used to update the earth file with the given config.
550  //| Methods used to update mtf file with the terrain patch record.
551 
557  virtual void updateOsgEarthTerrainProperty(const std::string& oldName, const osgEarth::MapOptions& mapOptions,
558  const osgEarth::MapNodeOptions& mapNodeOptions, const osgEarth::TerrainOptions& terrainOptions);
559 
563  virtual void updateImageLayerProperty(osgEarth::ImageLayer* layer, const osgEarth::ImageLayerOptions& options);
564 
568  virtual void updateElevationLayerProperty(osgEarth::ElevationLayer* layer, const osgEarth::ElevationLayerOptions& options);
569 
573  virtual void updateModelLayerProperty(osgEarth::ModelLayer* layer, const osgEarth::ModelLayerOptions& options);
574 
578  virtual void updateOpenFlightTerrainProperty(DtTerrainPatch* patch, const makArchives::DtModelDefinitionRecord& rec);
579 
583  virtual void updateFeatureLayerProperty(DtFeatureLayer* layer, const makArchives::DtFeatureLayerRecord& rec);
584 
588  virtual void updateOceanLayerProperty(DtOceanLayer* layer, const makArchives::DtOceanLayerRecord& rec);
589 
591 
593  //| Methods used to get the osgEarth::Config from the config option, can not just call ConfigOptions::getConfig() since it's easy
594  //| to miss/dulplicate config.
595 
602  virtual void getConfigForOsgEarthTerrainProperty(const osgEarth::MapOptions& mapOptions, const osgEarth::MapNodeOptions& mapNodeOptions,
603  const osgEarth::TerrainOptions& terrainOptions, osgEarth::Config& mapConfig, osgEarth::Config& optionConfig);
604 
609  virtual void getConfigForImageLayer(osgEarth::ImageLayer* layer, const osgEarth::ImageLayerOptions& options, osgEarth::Config& optionConfig);
610 
615  virtual void getConfigForElevationLayer(osgEarth::ElevationLayer* layer, const osgEarth::ElevationLayerOptions& options, osgEarth::Config& optionConfig);
616 
621  virtual void getConfigForModelLayer(osgEarth::ModelLayer* layer, const osgEarth::ModelLayerOptions& options, osgEarth::Config& optionConfig);
622 
627  virtual void getConfigForMaskLayer(osgEarth::MaskLayer* layer, const osgEarth::MaskLayerOptions& options, osgEarth::Config& optionConfig);
628 
630 
633  virtual void setTerrainPropertyItemOption(const DtTerrainEditorInterface::TerrainContentItemKey& key);
634 
637  virtual void setTerrainRuntimeItemOption(const DtTerrainEditorInterface::TerrainContentItemKey& key);
638 
641  virtual void setOsgEarthFragmentOptions(const DtOsgEarthFile* file);
642 
645  virtual void commitChange(const DtTerrainEditorInterface::TerrainContentItemKey& key);
646 
652  DtOsgEarthDataRequest* createOsgEarthTerrainLayerRequest(int type, const std::string& name, const std::string& driver, const DtUnicode& url);
653 
659  DtOsgEarthDataRequest* createOsgEarthModelLayerRequest(const std::string& name, const std::string& driver, const DtUnicode& url, const std::string& wfsType);
660 
663  virtual void reloadTerrainPatch(const std::string& terrainDefinition);
664 
666  virtual void reloadOsgEarthTerrain();
667 
670  virtual DtTerrainPatch* findTerrainPatch(const std::string& defintion);
671 
674  virtual DtFeatureLayer* findFeatureLayer(const std::string& name);
675 
678  virtual DtOceanLayer* findOceanLayer(const std::string& name);
679 
682  virtual bool ifTerrainContentItemHasProperty(DtTerrainEditorInterface::TerrainContentItemType type);
683 
685  virtual void removeTemplateFiles();
686 
688  virtual void addData(const std::string& url);
689 
691  //| Methods used to save the terrain content item(if appliable).
692 
694  virtual void saveTerrain();
695 
697  virtual void saveTerrainPatches();
698 
700  virtual void saveFeatureLayers();
701 
703  virtual void saveOceanLayers();
704 
706  virtual void saveImageLayers();
707 
709  virtual void saveElevationLayers();
710 
712  virtual void saveModelLayers();
713 
715  virtual void saveBuildingLayers();
716 
718  virtual void saveLandCoverLayers();
719 
721  virtual void saveGroundCoverLayers();
722 
724  virtual void saveRoadSurfaceLayers();
725 
727  virtual void saveSplatLayers();
728 
730  virtual void saveOsgEarthTerrain();
731 
734  virtual void saveTerrainPatch(DtTerrainPatch* patch);
735 
738  virtual void saveFeatureLayer(DtFeatureLayer* feature);
739 
742  virtual void saveOceanLayer(DtOceanLayer* ocean);
743 
746  virtual void saveImageLayer(osgEarth::ImageLayer* layer);
747 
750  virtual void saveElevationLayer(osgEarth::ElevationLayer* layer);
751 
754  virtual void saveModelLayer(osgEarth::ModelLayer* layer);
755 
758  virtual void saveBuildingLayer(osgEarth::Buildings::BuildingLayer* layer);
759 
762  virtual void saveLandCoverLayer(osgEarth::LandCoverLayer* layer);
763 
766  virtual void saveGroundCoverLayer(osgEarth::Splat::GroundCoverLayer* layer);
767 
770  virtual void saveRoadSurfaceLayer(osgEarth::Splat::RoadSurfaceLayer* layer);
771 
774  virtual void saveSplatLayer(osgEarth::Splat::SplatLayer* layer);
775 
778  virtual void saveOsgEarthLayer(osgEarth::Layer* layer);
779 
781 
783  //| Methods used to remove the terrain content item.
784 
786  virtual void removeTerrain();
787 
789  virtual void removeTerrainPatches();
790 
792  virtual void removeFeatureLayers();
793 
795  virtual void removeOceanLayers();
796 
798  virtual void removeImageLayers();
799 
801  virtual void removeElevationLayers();
802 
804  virtual void removeModelLayers();
805 
807  virtual void removeBuildingLayers();
808 
810  virtual void removeLandCoverLayers();
811 
813  virtual void removeGroundCoverLayers();
814 
816  virtual void removeRoadSurfaceLayers();
817 
819  virtual void removeSplatLayers();
820 
822  virtual void removeOsgEarthTerrain();
823 
826  virtual void removeTerrainPatch(DtTerrainPatch* patch);
827 
830  virtual void removeFeatureLayer(DtFeatureLayer* feature);
831 
834  virtual void removeOceanLayer(DtOceanLayer* ocean);
835 
838  virtual void removeImageLayer(osgEarth::ImageLayer* layer);
839 
842  virtual void removeElevationLayer(osgEarth::ElevationLayer* layer);
843 
846  virtual void removeModelLayer(osgEarth::ModelLayer* layer);
847 
850  virtual void removeBuildingLayer(osgEarth::Buildings::BuildingLayer* layer);
851 
854  virtual void removeLandCoverLayer(osgEarth::LandCoverLayer* layer);
855 
858  virtual void removeGroundCoverLayer(osgEarth::Splat::GroundCoverLayer* layer);
859 
862  virtual void removeRoadSurfaceLayer(osgEarth::Splat::RoadSurfaceLayer* layer);
863 
866  virtual void removeSplatLayer(osgEarth::Splat::SplatLayer* layer);
867 
870  virtual void removeOsgEarthLayer(osgEarth::Layer* layer);
872 
874  //| Methods used to change the runtime property(visibility, visible range, etc) of the terrain content item.
875 
878  virtual void setTerrainVisibility(bool visible);
879 
882  virtual void setTerrainPatchesVisibility(bool visible);
883 
886  virtual void setFeatureLayersVisibility(bool visible);
887 
890  virtual void setOceanLayersVisibility(bool visible);
891 
894  virtual void setImageLayersVisibility(bool visible);
895 
898  virtual void setElevationLayersVisibility(bool visible);
899 
902  virtual void setModelLayersVisibility(bool visible);
903 
906  virtual void setBuildingLayersVisibility(bool visible);
907 
910  virtual void setLandCoverLayersVisibility(bool visible);
911 
914  virtual void setGroundCoverLayersVisibility(bool visible);
915 
918  virtual void setRoadSurfaceLayersVisibility(bool visible);
919 
922  virtual void setSplatLayersVisibility(bool visible);
923 
926  virtual void setOsgEarthTerrainVisibility(bool visible);
927 
931  virtual void setTerrainPatchVisibility(DtTerrainPatch* patch, bool visible);
932 
936  virtual void setFeatureLayerVisibility(DtFeatureLayer* feature, bool visible);
937 
941  virtual void setOceanLayerVisibility(DtOceanLayer* ocean, bool visible);
942 
946  virtual void setVisibleLayerVisibility(osgEarth::VisibleLayer* layer, bool visible);
947 
951  virtual void setVisibleLayerOpacity(osgEarth::VisibleLayer* layer, double opacity);
952 
956  virtual void setVisibleLayerMinVisibleRange(osgEarth::VisibleLayer* layer, double minRange);
957 
961  virtual void setVisibleLayerMaxVisibleRange(osgEarth::VisibleLayer* layer, double maxRange);
962 
966  virtual void setModelLayerLighting(osgEarth::ModelLayer* layer, bool lighting);
967 
971  //virtual void setGroundCoverWind(osgEarth::Splat::GroundCover* cover, double wind);
972 
976  //virtual void setGroundCoverFill(osgEarth::Splat::GroundCover* cover, double fill);
977 
981  //virtual void setGroundCoverMaxDistance(osgEarth::Splat::GroundCover* layer, double maxDistance);
982 
984 
987  virtual void createOsgEarthTerrain();
988 
990  virtual void saveOsgEarthTerrain(const DtUnicode& fileName);
991 
994  virtual DtUnicode generateOsgEarthTerrainFileName();
995 
999  virtual DtTerrainEditorInterface::TerrainContentItemKey getTerrainContentItemKey(const std::string& type, const std::string& name);
1000 
1002  virtual void removeImageLayerFromFile(osgEarth::ImageLayer* layer);
1003 
1005  virtual void removeElevationLayerFromFile(osgEarth::ElevationLayer* layer);
1006 
1008  virtual void removeModelLayerFromFile(osgEarth::ModelLayer* layer);
1009 
1011  virtual void removeMaskLayerFromFile(osgEarth::MaskLayer* layer);
1012 
1013  private:
1019  DtTerrainEditorLogic &operator=(const DtTerrainEditorLogic&);
1020 
1021  protected:
1027  std::string myTemplatePath;
1028  std::set<DtUnicode> myTemplateFiles;
1030  std::string myMedfTerrainDir;
1031  osg::observer_ptr<osgEarth::MapNode> myMapNode;
1032  osg::observer_ptr<osgEarth::Map> myMap;
1033 
1040  std::string myReloadModelName;
1042  std::set<std::string> myImageLayerExtensions;
1043  std::set<std::string> myElevationLayerExtensions;
1044 
1046 
1047  };
1048 
1052  : public DtVirtualBaseClass
1053  {
1054  public:
1055 
1056  // Get the creator instance for this DE object. Creates instance if none found
1057  static DtTerrainEditorLogicCreator& instance(DtDe& de);
1058 
1059  static void registerInstance(DtDe& de, DtTerrainEditorLogicCreator* creator);
1060 
1061  //Create the widget's logic.
1062  static DtTerrainEditorLogic* create(DtDe& de, DtTerrainEditorInterface* iface);
1063  };
1064 }
static bool myDontShowReloadTerrainWarningMessageBox
Definition: DtTerrainEditorLogic.h:1045
DtOsgEarthFileParser.
Definition: DtOsgEarthFileParser.h:501
bool myReloadFlag
Definition: DtTerrainEditorLogic.h:1039
The feature layer is a type of terrain layer which contains features, such as points, lines, areas, and props created from them.
Definition: DtFeatureLayer.h:28
std::set< DtUnicode > myTemplateFiles
Definition: DtTerrainEditorLogic.h:1028
std::vector< osg::ref_ptr< osgEarth::Aerodrome::AerodromeLayer > > AerodromeLayerVector
Definition: DtTerrainEditorLogic.h:77
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
DtOsgEarthFileParser * myOsgEarthFileParser
Definition: DtTerrainEditorLogic.h:1037
DtOsgEarthDataRequestQueue * myOsgEarthDataRequestQueue
Definition: DtTerrainEditorLogic.h:1036
DtSignalConnectionManager mySignals
Definition: DtTerrainEditorLogic.h:1035
A DtFeatureLayerRecord contains the information to add features from a single source file and ruleset...
Definition: DtFeatureLayerRecord.h:25
std::vector< osg::ref_ptr< osgEarth::FeatureSource > > FeatureSourceLayerVector
Definition: DtTerrainEditorLogic.h:76
DtOsgEarthDataRequestQueue.
Definition: DtOsgEarthDataRequest.h:170
DtUnicode myOsgEarthTerrainFileName
Definition: DtTerrainEditorLogic.h:1024
std::string myOsgEarthTerrainName
Definition: DtTerrainEditorLogic.h:1025
std::string myOsgEarthTerrainDir
Definition: DtTerrainEditorLogic.h:1026
osg::observer_ptr< osgEarth::Map > myMap
Definition: DtTerrainEditorLogic.h:1032
A container for a single piece of terrain, containing settings needed to recreate it...
Definition: DtTerrainPatch.h:40
DtTerrainEditorInterface * myInterface
Definition: DtTerrainEditorLogic.h:1034
DtTerrainEditorInterface.
Definition: DtTerrainEditorInterface.h:54
A DtModelDefinitionRecord will serialize a terrain patch model definition.
Definition: DtModelDefinitionRecord.h:20
A DtTerrainPatchObject contains the methods for loading a file as a terrain.
Definition: DtTerrainPatchObject.h:37
int myInsertIndex
Definition: DtTerrainEditorLogic.h:1041
std::set< std::string > myImageLayerExtensions
Definition: DtTerrainEditorLogic.h:1042
DtTerrainEditorMapCallbak.
Definition: DtTerrainEditorLogic.h:91
Contains makVrv::DtVirtualBaseClass class.
osg::observer_ptr< osgEarth::MapNode > myMapNode
Definition: DtTerrainEditorLogic.h:1031
Contains the DtTerrainEditorInterface class declaration.
TerrainContentItemType
Definition: DtTerrainEditorInterface.h:59
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:24
std::vector< osg::ref_ptr< osgEarth::FeatureModelLayer > > FeatureModelLayerVector
Definition: DtTerrainEditorLogic.h:75
std::string myReloadModelName
Definition: DtTerrainEditorLogic.h:1040
DtTerrainEditorInterface::TerrainContentItemKey myOsgEarthTerrainKey
Definition: DtTerrainEditorLogic.h:1029
DtDe & myDe
Definition: DtTerrainEditorLogic.h:1022
Creator class for DtOsgEarthProfileLogic.
Definition: DtTerrainEditorLogic.h:1051
std::set< std::string > myElevationLayerExtensions
Definition: DtTerrainEditorLogic.h:1043
The ocean layer is a type of terrain layer which contains information about an area that should be re...
Definition: DtOceanLayer.h:27
Base class to provide boost signal/slot management.
std::string myTemplatePath
Definition: DtTerrainEditorLogic.h:1027
TerrainContentItemKey.
Definition: DtTerrainEditorInterface.h:99
DtTerrainEditorLogic logic class to drive the DtTerrainEditorWidget.
Definition: DtTerrainEditorLogic.h:73
std::string myOsgEarthTerrainDefinition
Definition: DtTerrainEditorLogic.h:1023
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
DtOsgEarthFile.
Definition: DtOsgEarthFileParser.h:32
DtOsgEarthDataRequest.
Definition: DtOsgEarthDataRequest.h:24
#define DT_DLL_VRVTERRAINEDITOR
Definition: vrvTerrainEditor.h:25
bool myNeedSaveEarthFile
Definition: DtTerrainEditorLogic.h:1038
std::string myMedfTerrainDir
Definition: DtTerrainEditorLogic.h:1030
DtTerrainEditorLogic * myLogic
Definition: DtTerrainEditorLogic.h:109

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)