VR-Link API Documentation for DIS
Home
Namespaces
Classes
Files
Examples
Libraries
File List
File Members
include
vl
packets
directedEnergyFireP.h
Go to the documentation of this file.
1
/*********************************************************************
2
** Copyright (c) 2013 VT MAK
3
** All rights reserved.
4
*********************************************************************/
5
#pragma once
6
10
11
#include <
vlpi/netStructs.h
>
12
#include <
vl/packets/transmitterP.h
>
13
#include <
vl/packets/standardVariableRecordP.h
>
14
#include <
vl/eventId.h
>
15
#include "
pduHeader.h
"
16
17
typedef
struct
DtNetDirectedEnergyFirePdu
18
{
19
DtNetPduHeader
myHeader
;
20
DtNetEntityIdentifier
myFiringEntityId
;
21
DtNetEventId
myEventId
;
22
DtNetEntityType
myMunitionType
;
23
DtNetClockTime
myShotStartTime
;
24
DtNetFloat32
myCumulativeShotTime
;
25
DtNetEntityCoordinates
myApertureEmitterLocationInFiringEntityCoordinates
;
26
DtNetFloat32
myApertureDiameter
;
27
DtNetFloat32
myWaveLength
;
28
DtNetU32
padding_32
;
29
DtNetFloat32
myPulseRepetitionFrequency
;
30
DtNetFloat32
myPulseWidth
;
31
DtNetU16
myFlags
;
32
DtNetU8
myPulseShape
;
33
DtNetU8
myPadding8
;
34
DtNetU32
myPadding32
;
35
DtNetU16
myPadding16
;
36
DtNetU16
myNumberOfDeRecords
;
37
// DtNetDEPrecisionAimpointRecord | DtNetDEAreaAimpointRecord deRecords[]
38
}
DtNetDirectedEnergyFirePdu
;
39
40
/********************* Directed Energy Records *********************/
41
42
// DE Target Energy Deposition record
43
typedef
struct
DtNetDETargetEnergyDepositionRecord
44
{
45
bool
operator==
(
const
DtNetDETargetEnergyDepositionRecord
& rhs)
const
46
{
47
return
(
myTargetEntityId
== rhs.
myTargetEntityId
)
48
&& (
myPeakIrradiance
== rhs.
myPeakIrradiance
);
49
}
50
bool
operator!=
(
const
DtNetDETargetEnergyDepositionRecord
& rhs)
const
51
{
52
return
!
operator==
(rhs);
53
}
54
55
DtNetEntityIdentifier
myTargetEntityId
;
56
DtNetU16
padding_16
;
57
DtNetFloat32
myPeakIrradiance
;
58
}
DtNetDETargetEnergyDepositionRecord
;
59
60
// DE Area Aimpoint record
61
typedef
struct
DtNetDEAreaAimpointRecord
:
public
DtNetStandardVariableRecord
62
{
63
bool
operator==
(
const
DtNetDEAreaAimpointRecord
& rhs)
const
64
{
65
return
(
myRecordType
== rhs.
myRecordType
)
66
&& (
myRecordLength
== rhs.
myRecordLength
)
67
&& (
myBeamAntennaPatternRecordCount
== rhs.
myBeamAntennaPatternRecordCount
)
68
&& (
myDeTargetEnergyDepositionRecordCount
== rhs.
myDeTargetEnergyDepositionRecordCount
);
69
}
70
bool
operator!=
(
const
DtNetDEAreaAimpointRecord
& rhs)
const
71
{
72
return
!
operator==
(rhs);
73
}
74
75
DtNetU16
myPadding_16
;
76
DtNetU16
myBeamAntennaPatternRecordCount
;
77
DtNetU16
myDeTargetEnergyDepositionRecordCount
;
78
// Beam Antenna Pattern records
79
// DE Target Energy Deposition records
80
// Padding To 64-bit boundary
81
}
DtNetDEAreaAimpointRecord
;
82
83
// DE Precision Aimpoint record
84
typedef
struct
DtNetDEPrecisionAimpointRecord
:
public
DtNetStandardVariableRecord
85
{
86
bool
operator==
(
const
DtNetDEPrecisionAimpointRecord
& rhs)
const
87
{
88
return
(
myRecordType
== rhs.
myRecordType
)
89
&& (
myRecordLength
== rhs.
myRecordLength
)
90
&& (
myTargetSpotWorldLocation
== rhs.
myTargetSpotWorldLocation
)
91
&& (
myTargetSpotEntityLocation
== rhs.
myTargetSpotEntityLocation
)
92
&& (
myTargetSpotVelocity
== rhs.
myTargetSpotVelocity
)
93
&& (
myTargetSpotAcceleration
== rhs.
myTargetSpotAcceleration
)
94
&& (
myTargetEntityId
== rhs.
myTargetEntityId
)
95
&& (
myTargetComponentIdentifier
== rhs.
myTargetComponentIdentifier
)
96
&& (
myBeamSpotType
== rhs.
myBeamSpotType
)
97
&& (
myBeamSpotCrossSectionSemiMajorAxis
== rhs.
myBeamSpotCrossSectionSemiMajorAxis
)
98
&& (
myBeamSpotCrossSectionSemiMinorAxis
== rhs.
myBeamSpotCrossSectionSemiMinorAxis
)
99
&& (
myBeamSpotCrossSectionOrientationAngle
== rhs.
myBeamSpotCrossSectionOrientationAngle
)
100
&& (
myPeakIrradiance
== rhs.
myPeakIrradiance
);
101
}
102
bool
operator!=
(
const
DtNetDEPrecisionAimpointRecord
& rhs)
const
103
{
104
return
!
operator==
(rhs);
105
}
106
107
DtNetU16
padding_16
;
108
DtNetWorldCoordinates
myTargetSpotWorldLocation
;
109
DtNetEntityCoordinates
myTargetSpotEntityLocation
;
110
DtNetLinearVelocity
myTargetSpotVelocity
;
111
DtNetLinearAcceleration
myTargetSpotAcceleration
;
112
DtNetEntityIdentifier
myTargetEntityId
;
113
DtNetU8
myTargetComponentIdentifier
;
114
DtNetU8
myBeamSpotType
;
115
DtNetFloat32
myBeamSpotCrossSectionSemiMajorAxis
;
116
DtNetFloat32
myBeamSpotCrossSectionSemiMinorAxis
;
117
DtNetFloat32
myBeamSpotCrossSectionOrientationAngle
;
118
DtNetFloat32
myPeakIrradiance
;
119
DtNetU32
padding_32
;
120
}
DtNetDEPrecisionAimpointRecord
;
Document ID: Generated on Wed Oct 23 22:25:48 EDT 2013 from SVN revision 132765
Copyright © 2005-2013 VT MÄK. All Rights Reserved (
www.mak.com
)