![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2008 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: DtFeatureLayer.h,v $ $Revision: 1.17 $ $State: Exp $ 00007 ******************************************************************************/ 00008 00012 00013 #pragma once 00014 #include <vrvCore/DtTerrainLayer.h> 00015 #include <vrvCore/DtFeatureSet.h> 00016 #include <makArchives/DtAddPropsRuleRecord.h> 00017 00018 namespace makArchives 00019 { 00020 class DtFeatureLayerRecord; 00021 } 00022 00023 namespace makVrv 00024 { 00028 class DT_DLL_VRVCORE DtFeatureLayer : public DtTerrainLayer 00029 { 00030 public: 00031 00033 DtFeatureLayer(DtDe& de, DtAgentManagerInterface& sceneInterface, 00034 const std::string& filename); 00035 00037 ~DtFeatureLayer(); 00038 00040 virtual void getRecord(makArchives::DtFeatureLayerRecord& rec) const; 00041 00043 virtual void setFromRecord(const makArchives::DtFeatureLayerRecord& rec); 00044 00046 00047 00049 virtual void addProps(const makArchives::DtAddPropsRuleRecord& rule); 00050 00052 const makArchives::DtAddPropsRuleRecordVector& addPropsRules() const; 00053 00055 00057 const std::string& filename() const; 00058 00060 00061 DtFeatureSet& featureSet(); 00062 const DtFeatureSet& featureSet() const; 00064 00066 DtFeature* findFeature(DtElementID id); 00067 00069 bool destroyFeature(DtElementID id); 00070 00071 protected: 00072 00073 void loadFeatures(); 00074 void showFeatures(); 00075 void groundClampFeatures(); 00076 void checkForDisplayFeatureChanged(int mode, int setting, bool state); 00077 00078 private: 00079 00080 std::string myFilename; 00081 makArchives::DtAddPropsRuleRecordVector myAddPropsRules; 00082 DtFeatureSet myFeatures; 00083 }; 00084 }