![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2010 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: $ $Revision: $ $State: $ 00007 ******************************************************************************/ 00008 00012 00013 #pragma once 00014 #include <vrvCore/vrvCore.h> 00015 #include <vrvCore/DtUniqueID.h> 00016 #include <vrvUtil/DtFaccCode.h> 00017 00018 namespace makVrv 00019 { 00020 class DtFeatureVisualizer; 00021 00022 namespace DFAD 00023 { 00024 typedef unsigned int FeatureID; 00025 typedef unsigned int SurfaceMaterialCode; 00026 }; 00027 00035 class DT_DLL_VRVCORE DtFeature 00036 { 00037 public: 00038 friend class DtFeatureSet; 00039 friend class DtFaccManager; 00040 00042 virtual ~DtFeature(); 00043 00046 DtElementID elementId() const; 00047 00049 virtual std::string generateDisplayName() const = 0; 00050 00052 DFAD::FeatureID featureID() const; 00053 00055 const DtFaccCode& faccCode() const; 00056 00058 unsigned int sourceID() const; 00059 00061 DFAD::SurfaceMaterialCode soilType(); 00062 00064 DtFeatureVisualizer* findFeatureVisualizer(); 00065 00067 void setFeatureVisualizer(DtFeatureVisualizer* vis); 00068 00069 protected: 00072 DtFeature(DtElementID id, DFAD::FeatureID featureID, 00073 const DtFaccCode& feautureCode, unsigned int sourceId = 0 ); 00074 00075 protected: 00076 00077 const DtElementID myElementId; 00078 DFAD::FeatureID myFeatureID; 00079 unsigned int mySourceId; 00080 DtFaccCode myFeatureCode; 00081 DFAD::SurfaceMaterialCode mySoilType; 00082 float myWidth; 00083 float myLength; 00084 float myHeight; 00085 float myOrientation; 00086 DtFeatureVisualizer* myFeatureVisualizer; 00087 }; 00088 }