![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2002 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: c7bAbstractFeature.h,v $ $Revision: 1.11 $ $State: Exp $ 00007 *******************************************************************************/ 00008 #ifndef c7bAbstractFeature_H_ 00009 #define c7bAbstractFeature_H_ 00010 00011 #include "ctdb/ctdbDefines.h" 00012 #include <stdio.h> 00013 #include "ctdb/c7NetTypes.h" 00014 00015 class DtC7bReader; 00016 00017 00018 // Class: DtC7bAbstractFeature 00019 // 00020 // The class is public because should not be used but anyone else than 00021 // DtC7b. 00022 // 00023 00024 class DT_DLL_ctdb DtC7bAbstractFeatureTemplate_Little 00025 { 00026 public: 00027 DtC7NetU16 myNumVertices; 00028 DtNetU8 myNumAbstracts; 00029 DtNetU8 myType; 00030 }; 00031 00032 class DT_DLL_ctdb DtC7bAbstractFeatureTemplate_Big 00033 { 00034 public: 00035 DtNetU8 myType; 00036 DtNetU8 myNumAbstracts; 00037 DtC7NetU16 myNumVertices; 00038 }; 00039 00040 class DT_DLL_ctdb DtC7bAbstractFeature 00041 { 00042 public: 00043 00044 enum 00045 { 00046 CTDB_ABSTRACT_CANOPY = 1, 00047 CTDB_ABSTRACT_SOIL_DEFRAG, 00048 CTDB_ABSTRACT_STEEP_SLOPE, 00049 CTDB_ABSTRACT_RAILROAD, 00050 CTDB_ABSTRACT_PIPELINE, 00051 CTDB_ABSTRACT_POLITICAL_BOUNDARY, 00052 CTDB_ABSTRACT_POWERLINE, 00053 CTDB_ABSTRACT_LABEL, 00054 CTDB_ABSTRACT_TACTICAL_SIGN, 00055 CTDB_ABSTRACT_OFFROAD_SEGMENT, 00056 CTDB_ABSTRACT_MAX 00057 00058 } DtC7bAbstractFeatureType; 00059 00060 DtC7bAbstractFeature(); 00061 DtC7bAbstractFeature(const DtC7NetU32* data); 00062 ~DtC7bAbstractFeature(); 00063 00064 bool read(FILE *f); 00065 bool processFeature(DtC7bReader *db); 00066 00067 bool impenetrable(int abstData); 00068 int soilIndex(int abstData); 00069 int level(int abstData); 00070 int soilmapIndex(int abstData); 00071 int slopeDegrees(int abstData); 00072 char *label(); 00073 unsigned edgeNumber(int abstData); 00074 00075 const DtNetU8& numAbstracts() const; 00076 const DtNetU8& type() const; 00077 int abstractData(int abstData) const; 00078 DtC7NetU16 numVertices(bool swap = false) const; 00079 double vertex(int) const; 00080 00081 DtC7bAbstractFeatureTemplate_Little *myLittle; 00082 DtC7bAbstractFeatureTemplate_Big *myBig; 00083 DtC7NetFloat32 *myVertices; 00084 DtC7NetU32 *myAbstractData; 00085 }; 00086 00087 #endif 00088