VR-Forces Development_Version Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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 
12 
13 #include <vlutil/vlMachineTypes.h>
15 #include <vl/exerciseConn.h>
17 
18 
19 
21 
24 typedef void (*RectangularPyramidCb)(DtRectangularPyramidPdu* pdu, void* usr);
25 
30 {
31 public:
33  DtRectangularPyramidPdu(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
34  DtRectangularPyramidPdu(const DtNetPacket* initial,
35  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER,
36  DtPduFactory* pduFactory = 0);
37 
40 
42  virtual ~DtRectangularPyramidPdu();
43 
46 
47 public:
48 
49 
51  virtual void setXHalfAngle(DtFloat64 val);
52 
54  DtFloat64 xHalfAngle() const;
55 
57  virtual void setYHalfAngle(DtFloat64 val);
58 
60  DtFloat64 yHalfAngle() const;
61 
62 
63  // Returns an entity identifier for this PDU class which
64  // can be used by reflected objects and reflected object lists.
65  DtEntityIdentifier pduEntityIdentifier() const;
66 
67  // Returns a unique Key for this PDU class to be used with
68  // reflected objects and reflected lists. Because the Entity ID
69  // may not be unique, this should be a combination of the minimal
70  // number of attributes required for uniqueness.
71  DtString uniqueKey() const;
72 
73 public:
74 
77  static DtPdu* create(const DtNetPacket *initial,
78  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER,
79  DtPduFactory* pduFactory = 0);
80 
83  static void addCallback(DtExerciseConn* conn,
84  RectangularPyramidCb cb, void* usr);
85  static void removeCallback(DtExerciseConn* conn,
86  RectangularPyramidCb cb, void* usr);
87 
88 protected:
89 
90  // Returns the number of bytes in the fixed length portion of this PDU
91  // This is the initial size of the PDU before any variable datums are added
92  virtual unsigned int fixedBytesSize() const;
93 
94  // A pointer to the first byte of variable datums. If there are no variable
95  // datums this points to the first byte out-of-bounds. This address should
96  // only be used if you know the PDU has been resized correctly.
97  virtual char *firstVarDatumStart() const;
98 
99  static DtPduKind internalGetPduKindImpl() {return (DtPduKind) 154;}
100  DtPduKind internalGetPduKind() const {return internalGetPduKindImpl();}
101 
102 protected:
103 
104  // Cached DtStrings to ensure proper buffering
105 
106 
107 };
108 
109 
110 
111 #endif

Document ID: Generated on Tue Mar 8 22:13:38 EST 2016 from SVN revision 162938
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)