VR-Engage  2.2
Loading...
Searching...
No Matches
makVre::DtVreLasingMissileTrackController Class Reference

#include <vreLasingMissileTrackController.h>

Inheritance diagram for makVre::DtVreLasingMissileTrackController:
[legend]

Public Member Functions

 DtVreLasingMissileTrackController (const DtString &name, DtLocalObject *owner, DtSimulationServices *simManager, DtComponentDescriptor *desc=0, DtReaderWriterRegistry *parentRegistry=0)
 
virtual ~DtVreLasingMissileTrackController () override
 
virtual const char * type () const override
 
- Public Member Functions inherited from makVre::DtVreSimComponent< DtLasingMissileTrackController >
 DtVreSimComponent (const DtString &name, DtLocalObject *owner, DtSimulationServices *simManager, DtComponentDescriptor *desc=0, DtReaderWriterRegistry *parentRegistry=0)
 
virtual ~DtVreSimComponent ()
 
bool isPlayerControlled (const std::string &role="") const
 
DtString entitySystemName () const
 

Static Public Member Functions

static DtSimComponent * creator (const DtString &name, DtLocalObject *owner, DtSimulationServices *simManager, DtComponentDescriptor *desc=0, DtReaderWriterRegistry *parentRegistry=0)
 

Protected Member Functions

virtual void initializePath ()
 
virtual bool updatePath ()
 
virtual bool setupControlPoint () override
 

Protected Attributes

bool myFirstSetupControlPoint
 
double myPathTimer
 
std::vector< std::pair< DtVector, double > > myDelayedTrackingPoints
 

Private Member Functions

 DtVreLasingMissileTrackController ()
 
 DtVreLasingMissileTrackController (const DtVreLasingMissileTrackController &orig)
 
const DtVreLasingMissileTrackControlleroperator= (const DtVreLasingMissileTrackController &orig)
 

Constructor & Destructor Documentation

◆ DtVreLasingMissileTrackController() [1/3]

makVre::DtVreLasingMissileTrackController::DtVreLasingMissileTrackController ( )
private

Default constructor (not implemented)

Default constructor is private and not implemented to prevent creation of instances without proper initialization.

Referenced by DtVreLasingMissileTrackController(), and operator=().

◆ DtVreLasingMissileTrackController() [2/3]

makVre::DtVreLasingMissileTrackController::DtVreLasingMissileTrackController ( const DtVreLasingMissileTrackController & orig)
private

Copy constructor (not implemented)

Copy constructor is private and not implemented to prevent copy construction.

References DtVreLasingMissileTrackController().

◆ DtVreLasingMissileTrackController() [3/3]

makVre::DtVreLasingMissileTrackController::DtVreLasingMissileTrackController ( const DtString & name,
DtLocalObject * owner,
DtSimulationServices * simManager,
DtComponentDescriptor * desc = 0,
DtReaderWriterRegistry * parentRegistry = 0 )

Constructor.

Parameters
nameThe name of this component
ownerThe local object that owns this component
simManagerThe simulation services manager
descComponent descriptor with configuration parameters
parentRegistryOptional parent registry for reader/writer functionality

Creates a new lasing missile track controller with the specified parameters. During construction, the controller initializes its internal state to prepare for missile path tracking.

◆ ~DtVreLasingMissileTrackController()

virtual makVre::DtVreLasingMissileTrackController::~DtVreLasingMissileTrackController ( )
overridevirtual

Virtual destructor.

Cleans up resources used by the lasing missile track controller, including deleting any allocated missile path waypoints.

Member Function Documentation

◆ operator=()

const DtVreLasingMissileTrackController & makVre::DtVreLasingMissileTrackController::operator= ( const DtVreLasingMissileTrackController & orig)
private

Assignment operator (not implemented)

Returns
Reference to this object

Assignment operator is private and not implemented to prevent assignment.

References DtVreLasingMissileTrackController().

◆ type()

virtual const char * makVre::DtVreLasingMissileTrackController::type ( ) const
overridevirtual

Gets the type identifier for this component.

Returns
String identifying the component type (DtVreLasingMissileTrackControllerType)

Implements the DtSimComponent::type() method to return the type identifier for this component.

◆ creator()

static DtSimComponent * makVre::DtVreLasingMissileTrackController::creator ( const DtString & name,
DtLocalObject * owner,
DtSimulationServices * simManager,
DtComponentDescriptor * desc = 0,
DtReaderWriterRegistry * parentRegistry = 0 )
static

Factory method to create a new instance of this component.

Parameters
nameThe name for the new component
ownerThe local object that will own this component
simManagerThe simulation services manager
descOptional component descriptor
parentRegistryOptional parent registry for reader/writer functionality
Returns
Pointer to the newly created component

Static factory method used by the component creation system to instantiate new instances of this component type.

◆ initializePath()

virtual void makVre::DtVreLasingMissileTrackController::initializePath ( )
protectedvirtual

Initializes the missile's guidance path.

Parses the "missilePath" extended data to extract waypoints and timing information for the missile's pre-tracking path. This method also handles cleanup of any previously defined waypoints to ensure a fresh initialization. This is called during controller initialization before tracking begins.

◆ updatePath()

virtual bool makVre::DtVreLasingMissileTrackController::updatePath ( )
protectedvirtual

Updates the missile's position along its pre-tracking path.

Returns
True if the missile is still following its path (delaying tracking), false if it has completed the path and should begin tracking

Checks timers to determine if the missile should move on to the next waypoint in its path. When the path is complete, the missile transitions to actual laser tracking behavior. This implements the "Lock On After Launch" functionality that allows the missile to follow a predetermined path before acquiring the laser-designated target.

◆ setupControlPoint()

virtual bool makVre::DtVreLasingMissileTrackController::setupControlPoint ( )
overrideprotectedvirtual

Sets up the control point for missile guidance.

Returns
True if a valid control point was established, false otherwise

Overrides the base behavior that tracks a laser spot to incorporate the "missilePath" extended data functionality. This method is called from the base class tick() implementation and handles both initializing and updating the missile's path. Once the initial path is followed, control is handed over to the standard laser tracking behavior from the base class.

Member Data Documentation

◆ myFirstSetupControlPoint

bool makVre::DtVreLasingMissileTrackController::myFirstSetupControlPoint
protected

Flag indicating whether this is the first control point setup.

When true, indicates that setupControlPoint() has not yet been called, and the route needs to be initialized. After the first call, this is set to false to prevent re-initialization.

◆ myPathTimer

double makVre::DtVreLasingMissileTrackController::myPathTimer
protected

Timer tracking how long the missile has been following its current waypoint.

Set to simulation time when the entity started tracking the current waypoint. Used to determine when to move to the next waypoint in the path.

◆ myDelayedTrackingPoints

std::vector<std::pair<DtVector, double> > makVre::DtVreLasingMissileTrackController::myDelayedTrackingPoints
protected

Collection of waypoints for the missile's pre-tracking path.

Contains pairs of target location vectors and the amount of time (in seconds) that the missile should track each location before moving to the next waypoint. When the missile has followed all waypoints, it transitions to laser tracking.


The documentation for this class was generated from the following file: