WSF
WsfChaffCloudInterface.hpp
Go to the documentation of this file.
1// ****************************************************************************
2// CUI//REL TO USA ONLY
3//
4// The Advanced Framework for Simulation, Integration, and Modeling (AFSIM)
5//
6// Copyright 2018 Infoscitex, a DCS Company. All rights reserved.
7//
8// The use, dissemination or disclosure of data in this file is subject to
9// limitation or restriction. See accompanying README and LICENSE for details.
10// ****************************************************************************
11#ifndef WSFCHAFFCLOUDINTERFACE_HPP
12#define WSFCHAFFCLOUDINTERFACE_HPP
13
14#include <cstddef> // for size_t
15
17
18// An abstract base class that serves as the interface to a chaff cloud for parcels and chaff weapons.
19// This interface removes the circular dependency between chaff clouds and parcels.
21{
22public:
23 virtual ~WsfChaffCloudInterface() = default;
24
25 // Returns bistatic presented area of cloud for computing signal return of each parcel
26 // aXmtrLocationWCS [input] : Transmitter location in WCS coordinates
27 // aRcvrLocationWCS [input] : Receiver location in WCS coordinates
28 // aNumberParcels [output]: Number of parcels in the cloud
29 virtual double GetBistaticPresentedArea(const double aXmtrLocationWCS[3],
30 const double aRcvrLocationWCS[3],
31 size_t& aNumberParcels) const = 0;
32
33 // Add a chaff parcel to the cloud
34 // aParcelPtr : A pointer to the parcel. The cloud does not assume ownership of the parcel.
35 virtual void AddParcel(WsfChaffParcelInterface* aParcelPtr) = 0;
36};
37#endif
Definition WsfChaffCloudInterface.hpp:21
virtual ~WsfChaffCloudInterface()=default
virtual void AddParcel(WsfChaffParcelInterface *aParcelPtr)=0
virtual double GetBistaticPresentedArea(const double aXmtrLocationWCS[3], const double aRcvrLocationWCS[3], size_t &aNumberParcels) const =0
Definition WsfChaffParcelInterface.hpp:19
Copyrights Multiple, All Rights Reserved