VR-Forces 4.5 Class Documentation
Home
Modules
Namespaces
Classes
Files
Examples
Behavior Models
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
include
vrfExtObjects
rectangularPyramidPduDIS.h
Go to the documentation of this file.
1
/*******************************************************************************
2
** Copyright (c) 2015 MAK Technologies, Inc.
3
** All rights reserved.
4
*******************************************************************************/
5
#pragma once
6
7
8
9
#if DtDIS
10
11
#include "
netRectangularPyramidPduDIS.h
"
12
13
#include <vlutil/vlMachineTypes.h>
14
#include "
sensorFieldOfViewPduDIS.h
"
15
#include <vl/exerciseConn.h>
16
#include <
vrfExtObjects/vrfExtObjectsDefines.h
>
17
#include <
vrfExtProtocol/disEnumsExtensions.h
>
18
19
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
:
34
DtRectangularPyramidPdu
(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
35
DtRectangularPyramidPdu
(
const
DtNetPacket* initial,
36
DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER,
37
DtPduFactory* pduFactory = 0);
38
40
DtRectangularPyramidPdu
(
const
DtRectangularPyramidPdu
& orig);
41
43
virtual
~
DtRectangularPyramidPdu
();
44
46
DtRectangularPyramidPdu
&
operator=
(
const
DtRectangularPyramidPdu
& orig);
47
48
public
:
49
50
52
virtual
void
setXHalfAngle(
DtFloat64
val);
53
55
DtFloat64
xHalfAngle()
const
;
56
58
virtual
void
setYHalfAngle(
DtFloat64
val);
59
61
DtFloat64
yHalfAngle()
const
;
62
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
protected
:
104
105
// Cached DtStrings to ensure proper buffering
106
107
108
};
109
110
111
112
#endif
Document ID: Generated on Thu Mar 23 18:54:12 EDT 2017 from SVN revision 174804
Copyright © 2005-2017 VT MÄK. All Rights Reserved (
www.mak.com
)