VR-Forces 4.7 Class Documentation
Home
Modules
Namespaces
Classes
Files
Examples
Behavior Models
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
include
vrfExtObjects
rectangularPyramidPduDIS.h
Go to the documentation of this file.
1
/****************************************************************************
2
* Copyright (c) 2017 VT MAK
3
* All rights reserved.
4
****************************************************************************/
5
9
10
#pragma once
11
12
#if DtDIS
13
14
#include <
vrfExtObjects/dllExport.h
>
15
#include <
vrfExtObjects/netRectangularPyramidPduDIS.h
>
16
#include <
vrfExtObjects/sensorFieldOfViewPduDIS.h
>
17
#include <
vrfExtProtocol/disEnumsExtensions.h
>
18
#include <vlutil/vlMachineTypes.h>
19
#include <vl/exerciseConn.h>
20
21
class
DtRectangularPyramidPdu
;
22
25
typedef
void (*
RectangularPyramidCb
)(
DtRectangularPyramidPdu
* pdu,
void
* usr);
26
30
class
DT_DLL_vrfExtObjects
DtRectangularPyramidPdu
:
public
DtSensorFieldOfViewPdu
31
{
32
public
:
33
35
DtRectangularPyramidPdu
(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
36
DtRectangularPyramidPdu
(
const
DtNetPacket* initial,
37
DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER,
38
DtPduFactory* pduFactory = 0);
39
41
DtRectangularPyramidPdu
(
const
DtRectangularPyramidPdu
& orig);
42
44
virtual
~
DtRectangularPyramidPdu
();
45
47
DtRectangularPyramidPdu
&
operator=
(
const
DtRectangularPyramidPdu
& orig);
48
49
public
:
50
51
53
virtual
void
setXHalfAngle(
DtFloat64
val);
54
56
DtFloat64
xHalfAngle()
const
;
57
59
virtual
void
setYHalfAngle(
DtFloat64
val);
60
62
DtFloat64
yHalfAngle()
const
;
63
64
// Returns an entity identifier for this PDU class which
65
// can be used by reflected objects and reflected object lists.
66
DtEntityIdentifier
pduEntityIdentifier
()
const
;
67
68
// Returns a unique Key for this PDU class to be used with
69
// reflected objects and reflected lists. Because the Entity ID
70
// may not be unique, this should be a combination of the minimal
71
// number of attributes required for uniqueness.
72
DtString
uniqueKey
()
const
;
73
74
public
:
75
78
static
DtPdu*
create
(
const
DtNetPacket *initial,
79
DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER,
80
DtPduFactory* pduFactory = 0);
81
84
static
void
addCallback
(DtExerciseConn* conn,
85
RectangularPyramidCb
cb,
void
* usr);
86
static
void
removeCallback
(DtExerciseConn* conn,
87
RectangularPyramidCb
cb,
void
* usr);
88
89
protected
:
90
91
// Returns the number of bytes in the fixed length portion of this PDU
92
// This is the initial size of the PDU before any variable datums are added
93
virtual
unsigned
int
fixedBytesSize
()
const
;
94
95
// A pointer to the first byte of variable datums. If there are no variable
96
// datums this points to the first byte out-of-bounds. This address should
97
// only be used if you know the PDU has been resized correctly.
98
virtual
char
*
firstVarDatumStart
()
const
;
99
100
static
DtPduKind
internalGetPduKindImpl
() {
return
DtSensorFieldOfViewRectangularPyramidPduKind
;}
101
DtPduKind
internalGetPduKind
()
const
{
return
internalGetPduKindImpl
();}
102
103
};
104
105
#endif // DtDIS
Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (
www.mak.com
)