WSF
WsfDisArticulatedPart.hpp
Go to the documentation of this file.
1// ****************************************************************************
2// CUI
3//
4// The Advanced Framework for Simulation, Integration, and Modeling (AFSIM)
5//
6// Copyright 2003-2015 The Boeing 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// ****************************************************************************
12// Updated by Infoscitex, a DCS Company.
13// ****************************************************************************
14
15#ifndef WSFDISARTICULATEDPART_HPP
16#define WSFDISARTICULATEDPART_HPP
17
18#include "wsf_export.h"
19
20#include <string>
21#include <vector>
22
23class DisEntityPart;
24class DisEntityState;
25class UtInput;
27class WsfDisPlatform;
28class WsfPlatform;
29class WsfDisInterface;
30
33{
34public:
36 {
37 public:
38 ArticulationP(const std::string& aBodyTypeName,
39 const std::string& aSystemName,
40 int aType,
41 int aParentType,
42 unsigned int aPublishBitmap);
43
44 std::string mBodyTypeName;
45 std::string mSystemName;
46 int mType;
48 unsigned int mPublishBitmap;
49 };
50
51 typedef std::vector<ArticulationP> ArticulationList;
52
53
54 WsfDisArticulatedPart(int aType, int aParentType, unsigned int aPublishBitmap, WsfArticulatedPart* aPartPtr);
55
57
58
59 int CreateArticulationRecords(DisEntityState* aEntityStatePtr, int aStartCount);
60
61 bool UpdateArticulationRecords(DisEntityState* aEntityStatePtr, double aPosDeltaThresh, double aOriDeltaThresh);
62
63 // Publication bitmask.
64 enum
65 {
78 };
79
80private:
81 int mType;
82 int mParentType;
83 unsigned int mPublishBitmap;
84 WsfArticulatedPart* mPartPtr;
85 int mChangeChecker;
86 int mIndexList[32];
87 float mLastX;
88 float mLastY;
89 float mLastZ;
90 float mLastX_Rate;
91 float mLastY_Rate;
92 float mLastZ_Rate;
93 float mLastAzimuth;
94 float mLastElevation;
95 float mLastRotation;
96 float mLastAzimuthRate;
97 float mLastElevationRate;
98 float mLastRotationRate;
99};
100
102{
103public:
105
107
108 int AddArticulatedParts(WsfPlatform* aPlatformPtr, WsfDisPlatform* aDisPlatformPtr);
109
111
112private:
113 WsfDisInterface* mInterfacePtr;
114};
115
116#endif
#define WSF_EXPORT
Definition WsfXIO_Export.hpp:35
Definition WsfArticulatedPart.hpp:36
WsfDisArticulatedPart::ArticulationP ArticulationP
Definition WsfDisArticulatedPart.hpp:104
int AddArticulatedParts(WsfPlatform *aPlatformPtr, WsfDisPlatform *aDisPlatformPtr)
Definition WsfDisArticulatedPart.cpp:403
const WsfDisArticulatedPart::ArticulationList & GetArticulationList()
Definition WsfDisArticulatedPart.cpp:421
WsfDisArticulatedPartList(WsfDisInterface *aInterfacePtr)
Definition WsfDisArticulatedPart.cpp:395
Definition WsfDisArticulatedPart.hpp:36
int mParentType
Definition WsfDisArticulatedPart.hpp:47
std::string mBodyTypeName
Definition WsfDisArticulatedPart.hpp:44
std::string mSystemName
Definition WsfDisArticulatedPart.hpp:45
ArticulationP(const std::string &aBodyTypeName, const std::string &aSystemName, int aType, int aParentType, unsigned int aPublishBitmap)
Definition WsfDisArticulatedPart.cpp:382
unsigned int mPublishBitmap
Definition WsfDisArticulatedPart.hpp:48
int mType
Definition WsfDisArticulatedPart.hpp:46
@ PublishX_Rate
Definition WsfDisArticulatedPart.hpp:67
@ PublishAzimuthRate
Definition WsfDisArticulatedPart.hpp:73
@ PublishZ_Rate
Definition WsfDisArticulatedPart.hpp:71
@ PublishY
Definition WsfDisArticulatedPart.hpp:68
@ PublishRotation
Definition WsfDisArticulatedPart.hpp:76
@ PublishRotationRate
Definition WsfDisArticulatedPart.hpp:77
@ PublishX
Definition WsfDisArticulatedPart.hpp:66
@ PublishY_Rate
Definition WsfDisArticulatedPart.hpp:69
@ PublishElevation
Definition WsfDisArticulatedPart.hpp:74
@ PublishZ
Definition WsfDisArticulatedPart.hpp:70
@ PublishElevationRate
Definition WsfDisArticulatedPart.hpp:75
@ PublishAzimuth
Definition WsfDisArticulatedPart.hpp:72
int CreateArticulationRecords(DisEntityState *aEntityStatePtr, int aStartCount)
Create the articulation parameter records for this articulated part.
Definition WsfDisArticulatedPart.cpp:56
std::vector< ArticulationP > ArticulationList
Definition WsfDisArticulatedPart.hpp:51
bool UpdateArticulationRecords(DisEntityState *aEntityStatePtr, double aPosDeltaThresh, double aOriDeltaThresh)
Update the articulation parameter records for this articulated part.
Definition WsfDisArticulatedPart.cpp:213
WsfDisArticulatedPart(int aType, int aParentType, unsigned int aPublishBitmap, WsfArticulatedPart *aPartPtr)
Definition WsfDisArticulatedPart.cpp:28
Definition WsfDisInterface.hpp:83
An internal class used by WsfDisInterface to maintain information about a platform.
Definition WsfDisPlatform.hpp:67
Platforms represent a entity within the simulation.
Definition WsfPlatform.hpp:115
Copyrights Multiple, All Rights Reserved