53 virtual const char*
type()
const;
68 virtual bool createTargetPointPort();
73 virtual bool createMuzzleSpeedPort();
78 virtual bool createAngleOfFirePort();
83 virtual bool createAlignedDirectlyPort();
88 virtual bool createMuzzleOffsetPort();
120 virtual bool haveAmmo(
const DtString & ammoName)
const;
124 virtual const DtString & findDefaultAmmo()
const;
128 virtual void getMunitionFromResourceName(
const DtString & resourceName,
136 virtual void setMyFuzeToUse(DtDetonatorFuze fuzeToUse);
138 virtual DtDetonatorFuze fuzeToUse()
const;
141 virtual void setCurrentMuzzleSpeed(DtReal speed);
144 virtual DtReal currentMuzzleSpeed()
const;
146 virtual void addRangeItems();
152 virtual bool initializeController(
const DtString& ammoType,
153 DtReal heightAboveTerrain,
154 const DtUUID & targetName,
bool& waitingForTerrain);
180 virtual bool calculateTrajectory(
const DtVector& shooterLoc,
const DtVector& detonationLoc,
181 const double maxRange);
186 virtual void calculateTrajectoryWithHeight(
double horizontalDist,
double verticalDist,
187 double maxHeight,
double& muzzleSpeed,
double& launchAngle,
double& flightTime);
192 virtual bool calculateElevationAngle(
double lateralDist,
double verticalDist,
double muzzleSpeed,
193 double&
angle,
double& flightTime,
double& maxHeight)
const;
199 virtual bool checkMuzzleSpeedAndAngle(
double lateralDist,
double verticalDist,
200 double speed,
double angle,
double& flightTime,
double& maxHeight)
const;
204 virtual void getMunitionResources(std::list<DtString>& resourceList);
207 virtual void updateResourceList();
212 static void setResourceCallback(
DtSimMessage * msg,
void * usrData);
219 static void setRestoreCallback(
DtSimMessage * msg,
void * usrData);
225 static void setPreferredAltitudeCallback(
DtSimMessage * msg,
void * usrData);
226 virtual void processSetPreferredAltitude(
DtSimMessage * msg);
236 virtual const DtVector& muzzleLocalPosition();
244 virtual double preferredAltitude()
const;
UUID is a unique ID wrapper class.
Definition: rwUUID.h:222
#define DT_DLL_vrfmodel
This file is used to determine how to build.
Definition: vrfmodelDefines.h:24
DtMountingController; models rotation of a launcher.
Definition: mountingController.h:23
DtVrfObject is used to represent any type of simulated object (entities, aggregate, control objects) in a VR-Forces application.
Definition: vrfObject.h:215
static DtSimComponent * creator(const DtString &name, DtVrfObject *owner, DtSimManager *simManager, DtComponentDescriptor *desc=0, DtReaderWriterRegistry *parentRegistry=0)
virtual void tick()
Sets the current dT on the base mounting controller and ticks it.
DtBaseWeaponController is a controller that creates the ports needed to choose ammo for...
Definition: baseWeaponController.h:33
bool myIsDirectFire
If weapon is capable of directly firing on a target like a naval gun then check if the target is with...
Definition: indirectFireWeaponController.h:333
DtIndirectWeaponComponentInterface * myWeaponComponentInterface
Interface between this weapon controller and the entity's DtIndirectFireController.
Definition: indirectFireWeaponController.h:263
DtIndirectFireControllerDescriptor; descriptor for the DtIndirectFireController compenent.
Definition: indirectFireControllerDescriptor.h:30
Instances of DtBooleanOutputPort are output ports through which data producers can send boolean data...
Definition: boolIOPort.h:45
virtual void preFirstTickInit()
This function can be overridden to initialize a component before it is ticked for the first time...
Definition: readerWriter.h:85
A readable, writable type whose name is the name of a component and that has a list of component name...
Definition: componentDescriptor.h:42
Definition: readerWriterRegistry.h:39
This file contains the class declaration for the.
virtual bool createPorts()
Overridden to create input & output ports.
const DtBaseWeaponController & operator=(const DtBaseWeaponController &orig)
assignment operator; not implemented
DtVectorInputPort * myMuzzleOffsetPort
Input Port Name: muzzle-offset-port Input Port Description: The entity's muzzle offset location...
Definition: indirectFireWeaponController.h:325
DtReal myCurrentElevationAngle
The elevation angle selected for the next shot.
Definition: indirectFireWeaponController.h:275
DtReal myCurrentMunitionFlightTime
The expected flight time for the next shot.
Definition: indirectFireWeaponController.h:272
Instances of DtAnalogOutputPort are input ports through which data producers can send real numbers...
Definition: analogIOPort.h:45
virtual void lookupAndCacheProcessSR()
This function looks up a process state repository in the process state repository manager by name...
Instances of DtVectorOutputPort are output ports through which data producers can send a DtVector...
Definition: vectorIOPort.h:52
virtual void enable()
Is this component enabled or not.
DT_DLL_vrfutil double angle(double vec1[3], double vec2[3])
File: simMsg.h.
Definition: simMessage.h:35
DtIndirectFireWeaponController is a controller that models firing an indirect fire weapon (e...
Definition: indirectFireWeaponController.h:35
virtual bool createMountingController()
Creates myBaseMountingController.
*array controller(no time code)*/template< class Instance
//!//!//!//!//!//!//!//!//!//!//!//
virtual bool init()
Overridden to initialize values obtained from the descriptor.
virtual const char * type() const
Returns a string identifies the class type of component.
DtBooleanOutputPort * myAlignedDirectlyPort
Output Port Name: aligned-directly-port Output Port Description: If the target is close enough for th...
Definition: indirectFireWeaponController.h:318
The DtSimComponent class is the base class for the entire simulation model component hierarchy...
Definition: simComponent.h:67
DtDetonatorFuze myFuzeToUse
Set based on height above terrain value.
Definition: indirectFireWeaponController.h:266
Represents the interface between the DtIndirectFireController and an indirect fire weapon system...
Definition: indirectWeaponComponentInterface.h:24
DtIndirectFireControllerDescriptor * myIndFireDescriptor
Definition: indirectFireWeaponController.h:285
bool myWeaponIsAimed
Whether the weapon is fully aimed at the target, or if adjustments still need to be made...
Definition: indirectFireWeaponController.h:279
virtual void registerAttributeFunctions()
Called to register functions that provide system attribute values.
Definition: simComponent.h:151
The simulation engine is controlled by a single,top-level class called the Simulation Manager...
Definition: simManager.h:103
DtAnalogOutputPort * myAngleOfFirePort
Output Port Name: angle-of-fire-port Output Port Description: The elevation angle of fire...
Definition: indirectFireWeaponController.h:309
DtVectorOutputPort * myTargetPointPort
Output Port Name: target-point-port Output Port Description: Local position to fire at...
Definition: indirectFireWeaponController.h:295
File: indirectFirePSR.h.
Definition: vrfIndirectFirePSR.h:28
DtSimMunition myMunitionToUse
This could just be a stack variable in tick, but since these are expensive to construct, we create on and reuse it.
Definition: indirectFireWeaponController.h:283
DtAnalogOutputPort * myMuzzleSpeedPort
Output Port Name: muzzle-speed-port Output Port Description: Muzzle speed in m/s. ...
Definition: indirectFireWeaponController.h:302
DtSimMunition class.
Definition: simMunition.h:34
DtMountingController * myMountingController
Definition: indirectFireWeaponController.h:327
DtReal myCurrentMuzzleSpeed
The muzzle speed selected for the next shot.
Definition: indirectFireWeaponController.h:269
Contains the DtMunitionResource class declaration.
Definition: munitionResource.h:24