VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
standardSignaturePropagator.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2010 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
9 #pragma once
10 
13 #include <matrix/vlVector.h>
14 
16 class DtSimObject;
17 
32 {
33 public:
36  DtPhysicalWorld* physicalWorld);
37 
39  virtual ~DtStandardSignaturePropagator() override;
40 
42  virtual void init() override;
43 
44  virtual double calculateApparentSignature(double absoluteSignature,
45  const DtSignaturePropagatorArgs& args, bool* dataAvailable = nullptr) const override;
46 
48  static DtSignaturePropagator* create(const DtSignaturePropagatorDescriptor* desc,
49  DtPhysicalWorld* physicalWorld);
50 
51 protected:
52 
56  virtual bool getViewPoints(const DtSignaturePropagatorArgs& args, std::vector<DtVector>& points) const;
57 
61  virtual bool getTargetPoints(const DtSignaturePropagatorArgs& args, std::vector<DtVector>& points) const;
62 
75  virtual void getTargetPointsAtRange(const DtVector& viewerLoc,
76  const DtVector& targetLoc, double range, bool clampToTerrain,
77  double clampAlt, std::vector<DtVector>& points) const;
78 
80  virtual bool viewerAndTargetOverlap(const DtSignaturePropagatorArgs& args) const;
81 
84  virtual double getLinearEngineeringObjectsModifier(
85  const DtSignaturePropagatorArgs& args) const;
86 
89  void clampAltitudeToTerrain(const DtVector& targetObjectPosition,
90  double clampAlt, DtVector& location) const;
91 
94  bool clampViewPoints(const DtSimObject* object) const;
95 
96 private:
101 
102 protected:
104 
106 };
107 
Signature propagator useful in any standard sensor domain. This propagator returns an apparent signat...
Definition: standardSignaturePropagator.h:31
Contains the DtSignaturePropagatorArgs class declaration.
Definition: signaturePropagatorArgs.h:23
Instances of DtSignaturePropagatorDescriptor are used to specify the parameters for a DtSignatureProp...
Definition: signaturePropagatorDescriptor.h:30
std::shared_ptr< const DtManagedObjectList > DtManagedObjectListConstPtr
Typedef for a shared pointer to a const DtOrgViewManagedObjectList. These lists are used within VR-Fo...
Definition: managedObjectList.h:35
DtStandardPropagatorDescriptor; descriptor for the DtStandardSignaturePropagator component.
Definition: standardPropagatorDescriptor.h:21
DtManagedObjectListConstPtr myEngineeringLineList
Definition: standardSignaturePropagator.h:105
The DtPhysicalWorld is the primary interface to and manager of all of the &quot;physical&quot; aspects of the s...
Definition: physicalWorld.h:112
#define DT_DLL_vrfobjcore
This file is used to determine how to build.
Definition: vrfobjcoreDefines.h:24
virtual void init()
Virtual init called immediately after creation.
Base class for all sensor signal propagators. Signal propagators model the propagation of an absolute...
Definition: signaturePropagator.h:35
const DtStandardPropagatorDescriptor * myStandardPropagatorDescriptor
Definition: standardSignaturePropagator.h:103
Represents a single simulation object in the exercise. Object may be VRF simulation, or non-VRF simulated, and may be simulated by the local sim engine, or by a remote sim engine. Only public (external) state of the object is available. All data is read-only. All access to data of the object is thread safe within the simulation frame.
Definition: simObject.h:80
DtSignaturePropagator & operator=(const DtSignaturePropagator &orig)
assignment operator - not implemented
virtual double calculateApparentSignature(double absoluteSignature, const DtSignaturePropagatorArgs &args, bool *dataAvailable=nullptr) const =0
Calculates the apparent signature from the provided absolute signature. Deriving classes must overrid...

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)