![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2004 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: tankParametersBuilder.h,v $ $Revision: 1.5 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00009 #ifndef DtTankParametersBuilder_H_ 00010 #define DtTankParametersBuilder_H_ 00011 00012 #include "objectParametersBuilder.h" 00013 00014 class DtVrfObjectParameters; 00015 class DtGroundVehicleParameters; 00016 class DtComponentDescriptorList; 00017 class DtSignatureObjectSensorDescriptor; 00018 00019 //class DtTankParametersBuilder: 00020 // 00021 //Instances of DtTankParametersBuilder are used to create and configure a 00022 //DtVrfObjectParameters object for a tank. The parameters object returned 00023 //should fully specify the necessary parameters to create a tank entity. 00024 00025 class DtTankParametersBuilder : public DtObjectParametersBuilder 00026 { 00027 public: 00028 00029 //default constructor 00030 DtTankParametersBuilder(); 00031 00032 //destructor 00033 virtual ~DtTankParametersBuilder(); 00034 00035 //Creates and configures parameters for a tank. 00036 virtual DtVrfObjectParameters* buildObjectParameters(); 00037 00038 protected: 00039 00040 //Set up the bounding volume for the parameters entry. Configures a 00041 //rectangular bounding volume, with an appropriate size for a tank. 00042 virtual void configureBoundingVolume(DtVrfObjectParameters& parameters); 00043 00044 //Create and configure resources for the entity. Configures entity 00045 //with ammo and fuel. 00046 virtual void createAndConfigureResources(DtVrfObjectParameters& parameters); 00047 00048 //Set up the parameter's soil factors with values appropriate for a tank. 00049 virtual void configureSoilFactors(DtGroundVehicleParameters& parameters); 00050 00051 //Create and configure sensors, controllers, and actuators for the given 00052 //movingObjectParameters object. Connects appropriate components to one another. 00053 //Creates just a basic subset of all possible components a tank could be 00054 //configured with. 00055 virtual void createAndConfigureComponents(DtVrfObjectParameters& parameters); 00056 00057 //Creates and configures all of the sensor components and places them 00058 //on the given descriptor list. 00059 virtual void initializeSensorDescriptors( 00060 DtComponentDescriptorList& sensorDescriptors); 00061 00062 //Creates and configures all of the controller components and places them 00063 //on the given descriptor list. 00064 virtual void initializeControllerDescriptors( 00065 DtComponentDescriptorList& controllerDescriptors); 00066 00067 //Creates and configures all of the actuator components and places them 00068 //on the given descriptor list. 00069 virtual void initializeActuatorDescriptors( 00070 DtComponentDescriptorList& actuatorDescriptors); 00071 00072 //Configures a DtTargetDetectionSensorDescriptor component. 00073 virtual void initializeSignatureSensorDescriptor( 00074 DtSignatureObjectSensorDescriptor& targetDetectSensor); 00075 00076 //Configure local and remote subcomponent types for the given parameters object. 00077 //Specifies the kinds of state repository, network interface, radio, etc. to 00078 //create when an object is created using this the parameters object. 00079 virtual void configureSubComponentTypes(DtVrfObjectParameters& parameters); 00080 00081 //copy constructor - not implemented 00082 DtTankParametersBuilder(const DtTankParametersBuilder& orig); 00083 00084 //assignment operator - not implemented 00085 DtTankParametersBuilder& operator=(const DtTankParametersBuilder& orig); 00086 }; 00087 00088 #endif