![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2009 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: DtElementEntry.h,v $ $Revision: 1.3 $ $State: Exp $ 00007 ******************************************************************************/ 00008 00012 00013 #pragma once 00014 00015 #include <vrvCore/vrvCore.h> 00016 #include <vrvCore/DtElementAttribute.h> 00017 #include <vrvCore/DtUniqueID.h> 00018 00019 #include <map> 00020 00021 namespace makVrv 00022 { 00026 class DT_DLL_VRVCORE DtElementEntry 00027 { 00028 public: 00029 friend class DtElementData; 00030 00031 enum ElementType 00032 { 00033 Unknown = 0, 00034 Entity = 1, 00035 Prop = 2, 00036 TerrainPatch = 3, 00037 Aggregate = 4, 00038 Observer = 5, 00039 Environmental= 6, 00040 GraphicPoint = 7, 00041 GraphicShape = 8, 00042 GraphicVertex= 9, 00043 RemoteGraphic = 10, 00044 TacticalGraphic= 11, 00045 Intervisibility=12, 00046 Feature=13, 00047 UserStart = 128, 00048 //All is not a type, it is a wild card used for searches. 00049 All = ~0 00050 }; 00051 00052 typedef unsigned int ObjectType; 00053 00055 DtElementEntry(DtElementID id, DtUniqueID parentId, ObjectType type); 00056 00058 ~DtElementEntry(); 00059 00061 DtElementID elementID() const; 00062 00064 DtElementID parentID() const; 00065 00067 ObjectType type() const; 00068 00070 const DtElementAttribute* findAttribute(short attributeId) const; 00071 00072 protected: 00073 typedef std::map<short,DtElementAttribute*> AttributeMap; 00074 DtElementID myId; 00075 DtElementID myParentId; 00076 ObjectType myType; 00077 AttributeMap myAttributes; 00078 }; 00079 } 00080