![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /********************************************************************* 00002 ** Copyright (c) 1999 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: building.h,v $ $Revision: 1.8 $ $State: Exp $ 00007 *********************************************************************/ 00008 #ifndef building_H_ 00009 #define building_H_ 00010 00011 #include "gdb/gdbDefines.h" 00012 #include "gdb/cultFeat.h" 00013 #include "geometry/point.h" 00014 00015 typedef enum 00016 { 00017 NON_COMBATANT, 00018 MEDICAL, 00019 HOSPITAL, 00020 FIELD_HOSPITAL, 00021 UTILITY, 00022 TRANSPORTATION, 00023 AIRPORT, 00024 SEAPORT, 00025 BUS_STATION, 00026 TRAIN_STATION, 00027 ENERGY_AND_WATER, 00028 GENERATOR, 00029 REFINERY, 00030 WATER_TANK, 00031 OIL_TANK, 00032 WIND_MILL, 00033 COMMUNICATION, 00034 COMMUNICCATION_TOWER, 00035 FOOD_SECTOR, 00036 BARN, 00037 SILO, 00038 FARM_HOUSE, 00039 RESIDENTIAL, 00040 HOUSE_ONE_STORY, 00041 HOUSE_TWO_STORY, 00042 APARTMENT_BUILDING, 00043 COMMERCIAL, 00044 GAS_STATION, 00045 OFFICE_TOWER, 00046 FACTORY, 00047 WAREHOUSE, 00048 SHOP, 00049 SHOPPING_COMPLEX, 00050 RELIGIOUS, 00051 CHURCH, 00052 TEMPLE, 00053 MOSQUE, 00054 OTHER_RELIGIOUS_STRUCTURE, 00055 CIVIC, 00056 SPORTS_ARENA, 00057 TOWN_HALL, 00058 GOVERNMENT_OFFICE, 00059 POST_OFFICE, 00060 LIBRARY, 00061 SCHOOL, 00062 MUSEUM, 00063 THEATRE, 00064 FIRE_STATION, 00065 POLICE_STATION, 00066 OTHER_BUILDING_TYPE, 00067 CEMETARY, 00068 COMBATANT, 00069 MILITARY_BASE, 00070 TENTS, 00071 BUNKERS, 00072 AIRCRAFT_HANGARS, 00073 COMMUNICATION_TOWER, 00074 RADAR_INSTALLATION, 00075 SUPPLY_DEPOT, 00076 POW_CAMP, 00077 GUARD_TOWER, 00078 FUEL_DEPOT, 00079 MEDICAL_UNITS, 00080 DOCKS, 00081 MILITARY_AIRPORTS, 00082 PILL_BOXES, 00083 BARRACKS 00084 } DtBuildingType; 00085 // class DtBuilding: 00086 // 00087 // Instances of DtBuilding are 00088 00089 class DT_DLL_gdb DtBuilding : public DtGdbCulturalFeature 00090 { 00091 public: 00092 00093 // default constructor 00094 DtBuilding(); 00095 00096 // destructor 00097 virtual ~DtBuilding(); 00098 private: 00099 // copy constructor - not implemented 00100 DtBuilding(const DtBuilding& orig); 00101 00102 // assignment operator - not implemented 00103 DtBuilding& operator=(const DtBuilding& orig); 00104 00105 public: 00106 // return the type of gdbNode the object is 00107 inline virtual DtGdbNode::DtGdbNodeType type() const; 00108 00109 virtual DtBuildingType buildingType() const; 00110 virtual void setBuildingType(DtBuildingType typ); 00111 00112 // prints out the contents of the object 00113 virtual void dump(int indentLevel) const; 00114 00115 protected: 00116 DtBuildingType myType; 00117 DtPoint myLocation; // in database coordinates 00118 }; 00119 00120 inline DtGdbNode::DtGdbNodeType DtBuilding::type() const 00121 { 00122 return(DtGdbNode::BUILDING); 00123 } 00124 00125 inline DtBuildingType DtBuilding::buildingType() const 00126 { 00127 return myType; 00128 } 00129 00130 inline void DtBuilding::setBuildingType(DtBuildingType newType) 00131 { 00132 myType = newType; 00133 } 00134 #endif 00135