WSF
WsfBMZoneRecord.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// The use, dissemination or disclosure of data in this file is subject to
7// limitation or restriction. See accompanying README and LICENSE for details.
8// ****************************************************************************
9// Classification: UNCLASSIFIED
10
11#ifndef WSF_BM_ZONE_RECORD_HPP
12#define WSF_BM_ZONE_RECORD_HPP
13
14#include <WsfBMCommon.hpp>
15#include <string>
16#include <WsfZoneDefinition.hpp>
17#include <WsfPlatform.hpp>
18#include <iadsLib/zoneRecordInterface.hpp>
20
21class WsfSimulation;
22
23class WSF_IADS_C2_LIB_EXPORT WsfBMZoneRecord : public WsfBMUnmanagedTypeWrapper<WsfZoneDefinition>, public il::zoneRecordInterface
24{
25 public:
26
27 // WsfBMZoneRecord (const il::eZoneType type_enum, const std::string &type_str, const il::tZonePriority &priority);
28 WsfBMZoneRecord(const il::eZoneType type_enum, const std::string& type_str, const il::tZonePriority& priority, WsfZoneDefinition* zone, WsfSimulation* sim_ptr);
29 // abstract implementations
30 virtual std::string getName() const;
31 virtual il::positionRecord getCenterPoint() const;
32 virtual double getDistanceToZone(const il::positionRecord& position) const;
33 virtual double getDistanceToZoneCenter(const il::positionRecord& position) const;
34 virtual bool getClosestPointInZone(const il::positionRecord& position, il::positionRecord& zonePoint) const;
35
36 virtual bool isInsideZone(const il::positionRecord& position) const;
37 virtual bool isProjectedInsideZone(const il::positionRecord& position1, const il::positionRecord& position2) const;
38 virtual bool isProjectedInsideZone(const il::positionRecord& position, const double heading_rads) const;
39
40 protected:
42};
43
44#endif
WsfBMUnmanagedTypeWrapper(const std::string &script_class_name)
Definition WsfBMGenericTypeWrapper.hpp:81
virtual double getDistanceToZoneCenter(const il::positionRecord &position) const
Definition WsfBMZoneRecord.cpp:62
virtual bool getClosestPointInZone(const il::positionRecord &position, il::positionRecord &zonePoint) const
Definition WsfBMZoneRecord.cpp:68
WsfBMZoneRecord(const il::eZoneType type_enum, const std::string &type_str, const il::tZonePriority &priority, WsfZoneDefinition *zone, WsfSimulation *sim_ptr)
Definition WsfBMZoneRecord.cpp:21
virtual double getDistanceToZone(const il::positionRecord &position) const
Definition WsfBMZoneRecord.cpp:50
virtual std::string getName() const
Definition WsfBMZoneRecord.cpp:29
virtual il::positionRecord getCenterPoint() const
Definition WsfBMZoneRecord.cpp:39
virtual bool isProjectedInsideZone(const il::positionRecord &position1, const il::positionRecord &position2) const
Definition WsfBMZoneRecord.cpp:86
virtual bool isInsideZone(const il::positionRecord &position) const
Definition WsfBMZoneRecord.cpp:80
WsfSimulation * m_sim_ptr
Definition WsfBMZoneRecord.hpp:41
The main controller for a simulation.
Definition WsfSimulation.hpp:109
A class for defining a zone.
Definition WsfZoneDefinition.hpp:32
Copyrights Multiple, All Rights Reserved