VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions
DtInfraredSignaturePropagator Class Reference

Signature propagator used in the infrared sensor domain. This propagator returns an apparent signature based on the absolute signature * 1000 / distance in meters plus any enviromental effects. This means that an apparent signature of 1.0 is observed when the distance from the target in km equals the target's absolute signature. This propagator checks for intersections with smoke objects which could further degrade the apparent signature of an object. This propagator requires a DtInfraredSignaturePropagatorDescriptor descriptor type.

Inheritance diagram for DtInfraredSignaturePropagator:
Inheritance graph
[legend]

Public Member Functions

 DtInfraredSignaturePropagator (const DtSignaturePropagatorDescriptor *desc, DtPhysicalWorld *physicalWorld)
 
virtual ~DtInfraredSignaturePropagator () override
 
virtual void init () override
 
virtual double calculateApparentSignature (double absoluteSignature, const DtSignaturePropagatorArgs &args, bool *dataAvailable=nullptr) const override
 
virtual double calculateSmokeReductionFactor (double apparentSignature, const DtVector &databaseStartPoint, const DtVector &databaseEndPoint) const
 
- Public Member Functions inherited from DtStandardSignaturePropagator
 DtStandardSignaturePropagator (const DtSignaturePropagatorDescriptor *desc, DtPhysicalWorld *physicalWorld)
 
virtual ~DtStandardSignaturePropagator () override
 
- Public Member Functions inherited from DtSignaturePropagator
 DtSignaturePropagator (const DtSignaturePropagatorDescriptor *descriptor, DtPhysicalWorld *physicalWorld)
 
virtual ~DtSignaturePropagator ()
 
virtual const
DtSignaturePropagatorDescriptor
descriptor () const
 
virtual const DtPhysicalWorldphysicalWorld () const
 

Static Public Member Functions

static DtSignaturePropagatorcreate (const DtSignaturePropagatorDescriptor *desc, DtPhysicalWorld *physicalWorld)
 
- Static Public Member Functions inherited from DtStandardSignaturePropagator
static DtSignaturePropagatorcreate (const DtSignaturePropagatorDescriptor *desc, DtPhysicalWorld *physicalWorld)
 
- Static Public Member Functions inherited from DtSignaturePropagator
static void setFactory (DtSignaturePropagatorFactory *factory)
 
static DtSignaturePropagatorcreateSignaturePropagator (const DtString &type, const DtSignaturePropagatorDescriptor *desc, DtPhysicalWorld *physicalWorld)
 

Protected Member Functions

virtual bool chordIntersectsPuff (const DtVector &geocStartPoint, const DtVector &geocEndPoint, const DtRwGaussianPuffData &puff, DtVector &intersectPoint, DtChord &intersectSegment) const
 
- Protected Member Functions inherited from DtStandardSignaturePropagator
virtual bool getViewPoints (const DtSignaturePropagatorArgs &args, std::vector< DtVector > &points) const
 
virtual bool getTargetPoints (const DtSignaturePropagatorArgs &args, std::vector< DtVector > &points) const
 
virtual void getTargetPointsAtRange (const DtVector &viewerLoc, const DtVector &targetLoc, double range, bool clampToTerrain, double clampAlt, std::vector< DtVector > &points) const
 
virtual bool viewerAndTargetOverlap (const DtSignaturePropagatorArgs &args) const
 
virtual double getLinearEngineeringObjectsModifier (const DtSignaturePropagatorArgs &args) const
 
void clampAltitudeToTerrain (const DtVector &targetObjectPosition, double clampAlt, DtVector &location) const
 
bool clampViewPoints (const DtSimObject *object) const
 

Protected Attributes

const
DtInfraredSignaturePropagatorDescriptor
myInfraredPropagatorDescriptor
 
- Protected Attributes inherited from DtStandardSignaturePropagator
const
DtStandardPropagatorDescriptor
myStandardPropagatorDescriptor
 
DtManagedObjectListConstPtr myEngineeringLineList
 
- Protected Attributes inherited from DtSignaturePropagator
const
DtSignaturePropagatorDescriptor
myDescriptor
 
DtPhysicalWorldmyPhysicalWorld
 

Private Member Functions

 DtInfraredSignaturePropagator (const DtInfraredSignaturePropagator &orig)
 
DtInfraredSignaturePropagatoroperator= (const DtInfraredSignaturePropagator &orig)
 

Additional Inherited Members

- Static Protected Attributes inherited from DtSignaturePropagator
static
DtSignaturePropagatorFactory
theFactory
 

Constructor & Destructor Documentation

DtInfraredSignaturePropagator::DtInfraredSignaturePropagator ( const DtSignaturePropagatorDescriptor desc,
DtPhysicalWorld physicalWorld 
)

default constructor

virtual DtInfraredSignaturePropagator::~DtInfraredSignaturePropagator ( )
overridevirtual

destructor

DtInfraredSignaturePropagator::DtInfraredSignaturePropagator ( const DtInfraredSignaturePropagator orig)
private

copy constructor - not implemented

Member Function Documentation

virtual void DtInfraredSignaturePropagator::init ( )
overridevirtual

Assigns myInfraredPropagatorDescriptor by casting the result of descriptor().

Reimplemented from DtStandardSignaturePropagator.

virtual double DtInfraredSignaturePropagator::calculateApparentSignature ( double  absoluteSignature,
const DtSignaturePropagatorArgs args,
bool dataAvailable = nullptr 
) const
overridevirtual

Takes the given absolute signature and applies to it the effects of the environment.Will check for smoke objects that could degrade the signature or block line of sight altogether. If the DtPhysicalWorld::checkLineOfSight reports that there is no data available (i.e. it is still being paged in), 0 will be returned.

Reimplemented from DtStandardSignaturePropagator.

virtual double DtInfraredSignaturePropagator::calculateSmokeReductionFactor ( double  apparentSignature,
const DtVector &  databaseStartPoint,
const DtVector &  databaseEndPoint 
) const
virtual

Will look for any smoke intersections between sensor and object If found will reduce the apparent signature further.

static DtSignaturePropagator* DtInfraredSignaturePropagator::create ( const DtSignaturePropagatorDescriptor desc,
DtPhysicalWorld physicalWorld 
)
static

Creates a new instance of this class, calls init() on it, and returns it.

virtual bool DtInfraredSignaturePropagator::chordIntersectsPuff ( const DtVector &  geocStartPoint,
const DtVector &  geocEndPoint,
const DtRwGaussianPuffData puff,
DtVector &  intersectPoint,
DtChord intersectSegment 
) const
protectedvirtual

Given a chord and a puff, determine the intersection.

DtInfraredSignaturePropagator& DtInfraredSignaturePropagator::operator= ( const DtInfraredSignaturePropagator orig)
private

assignment operator - not implemented

Member Data Documentation

const DtInfraredSignaturePropagatorDescriptor* DtInfraredSignaturePropagator::myInfraredPropagatorDescriptor
protected

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

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)