VR-Forces 4.6 Class Documentation
 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
DtVisualSignaturePropagator Class Reference

Signature propagator used in the visual sensor domain. More...

Inheritance diagram for DtVisualSignaturePropagator:
Inheritance graph
[legend]

Public Member Functions

 DtVisualSignaturePropagator (const DtSignaturePropagatorDescriptor *desc, DtPhysicalWorld *physicalWorld)
 default constructor
virtual ~DtVisualSignaturePropagator ()
 destructor
virtual void init ()
 Assigns myVisualPropagatorDescriptor by casting the result of descriptor().
virtual double calculateApparentSignature (double absoluteSignature, const DtSignaturePropagatorArgs &args) const
 Takes the given absolute signature and applies to it the effects of the environmental visibility range as well as the terrain line of sight.
virtual double calculateSmokeReductionFactor (double apparentSignature, const DtVector &databaseStartPoint, const DtVector &databaseEndPoint) const
 Will look for any smoke intersections between sensor and object If found will reduce the apparent signature further.
- Public Member Functions inherited from DtStandardSignaturePropagator
 DtStandardSignaturePropagator (const DtSignaturePropagatorDescriptor *desc, DtPhysicalWorld *physicalWorld)
 default constructor
virtual ~DtStandardSignaturePropagator ()
 destructor
- Public Member Functions inherited from DtSignaturePropagator
 DtSignaturePropagator (const DtSignaturePropagatorDescriptor *descriptor, DtPhysicalWorld *physicalWorld)
virtual ~DtSignaturePropagator ()
 destructor
virtual const
DtSignaturePropagatorDescriptor
descriptor () const
virtual const DtPhysicalWorldphysicalWorld () const

Static Public Member Functions

static DtSignaturePropagatorcreate (const DtSignaturePropagatorDescriptor *desc, DtPhysicalWorld *physicalWorld)
 Creates a new instance of this class, calls init() on it, and returns it.

Protected Member Functions

virtual bool chordIntersectsPuff (const DtVector &geocStartPoint, const DtVector &geocEndPoint, const DtRwGaussianPuffData &puff, DtVector &intersectPoint, DtChord &intersectSegment) const
 Given a chord and a puff, determine the intersection.
- Protected Member Functions inherited from DtStandardSignaturePropagator
virtual bool getViewPoints (const DtSignaturePropagatorArgs &args, std::vector< DtVector > &points) const
 Gets the view points of the viewing object.
virtual bool getTargetPoints (const DtSignaturePropagatorArgs &args, std::vector< DtVector > &points) const
 Gets the target points of the given object.
virtual void getTargetPointsAtRange (const DtVector &viewerLoc, const DtVector &targetLoc, double range, bool clampToTerrain, double clampAlt, std::vector< DtVector > &points) const
 Fills the points vector with a collection of locations at the specified range from targetLoc.
virtual bool viewerAndTargetOverlap (const DtSignaturePropagatorArgs &args) const
 Returns true if the footprints of the viewer and target overlap.
virtual double getLinearEngineeringObjectsModifier (const DtSignaturePropagatorArgs &args) const
 Returns the signature modifier resulting from any linear engineering objects between the view point and the target point.
void clampAltitudeToTerrain (const DtVector &targetObjectPosition, double clampAlt, DtVector &location) const
 Set point clampAlt m off ground if data is available - set to clampAlt m above target object's altitude otherwise.
bool clampViewPoints (const DtVrfObject *object) const
 Returns true if viewpoints for this object should be clamped.

Protected Attributes

const
DtVisualSignaturePropagatorDescriptor
myVisualPropagatorDescriptor
- Protected Attributes inherited from DtStandardSignaturePropagator
const
DtStandardPropagatorDescriptor
myStandardPropagatorDescriptor
DtManagedObjectListConstPtr myEngineeringLineList
- Protected Attributes inherited from DtSignaturePropagator
const
DtSignaturePropagatorDescriptor
myDescriptor
DtPhysicalWorldmyPhysicalWorld

Private Member Functions

 DtVisualSignaturePropagator (const DtVisualSignaturePropagator &orig)
 copy constructor - not implemented
DtVisualSignaturePropagatoroperator= (const DtVisualSignaturePropagator &orig)
 assignment operator - not implemented

Additional Inherited Members

- Static Protected Attributes inherited from DtSignaturePropagator
static
DtSignaturePropagatorFactory
theFactory

Detailed Description

Signature propagator used in the visual 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 signature may be degraded further due to the afore mentioned environmental effects like time of day or weather. It checks the DtEnvironmentalStateManager to get the current visibility. Any object beyond this visibility range will return an apparent signature of 0. Inside the visibility range the the object's apparent signature can be reduced further by the optional reduction factor which can be used to take into account low visibility and would make things on the edge of that visibility much harder to see. This propagator also checks for intersections with smoke objects which could further degrade the apparent signature of an object This propagator requires a DtVisualSignaturePropagatorDescriptor descriptor type.

Constructor & Destructor Documentation

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

default constructor

virtual DtVisualSignaturePropagator::~DtVisualSignaturePropagator ( )
virtual

destructor

DtVisualSignaturePropagator::DtVisualSignaturePropagator ( const DtVisualSignaturePropagator orig)
private

copy constructor - not implemented

Member Function Documentation

virtual void DtVisualSignaturePropagator::init ( )
virtual

Assigns myVisualPropagatorDescriptor by casting the result of descriptor().

Reimplemented from DtStandardSignaturePropagator.

Reimplemented in MySignaturePropagator.

virtual double DtVisualSignaturePropagator::calculateApparentSignature ( double  absoluteSignature,
const DtSignaturePropagatorArgs args 
) const
virtual

Takes the given absolute signature and applies to it the effects of the environmental visibility range as well as the terrain line of sight.

If the DtPhysicalWorld::checkLineOfSightreports that there is no data available (i.e. it is still being paged in), 0 will be returned.

Reimplemented from DtStandardSignaturePropagator.

Reimplemented in MySignaturePropagator.

virtual double DtVisualSignaturePropagator::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* DtVisualSignaturePropagator::create ( const DtSignaturePropagatorDescriptor desc,
DtPhysicalWorld physicalWorld 
)
static

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

Reimplemented from DtStandardSignaturePropagator.

Reimplemented in MySignaturePropagator.

virtual bool DtVisualSignaturePropagator::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.

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

assignment operator - not implemented

Member Data Documentation

const DtVisualSignaturePropagatorDescriptor* DtVisualSignaturePropagator::myVisualPropagatorDescriptor
protected

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

Document ID: Generated on Thu Apr 12 03:15:37 EDT 2018 from SVN revision 187986
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)