VR-Forces 4.0.4 Class Documentation
include/gdb/building.h
Go to the documentation of this file.
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 

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)