GoPxL SDK

- Home
- Files
- Namespace

GoGdpProfileBase.h
Go to the documentation of this file.
1
9 #ifndef GO_PXL_SDK_GOGDPPROFILEBASE_H
10 #define GO_PXL_SDK_GOGDPPROFILEBASE_H
11
12 #include <GoPxLSdk/GoGdpMsg/GoGdpMsg.h>
13
14 class GoGdpMsgTests;
15
16 namespace GoPxLSdk
17 {
18 class GoPxLSdkClass GoGdpProfileBase : public GoGdpMsg
19 {
20 public:
28 const k32u Width() const;
29
37 const k32u IntensityWidth() const;
38
46 const kPoint3d64f Resolution() const;
47
55 const kPoint3d64f Offset() const;
56
64 const k32f Exposure() const;
65
66 protected:
74 GoGdpProfileBase(MessageType type);
75 ~GoGdpProfileBase() = default;
76
85 void Deserialize(kSerializer serializer) override;
86
87 private:
88 const k64f OffsetScaled = 1000.0;
89 const k64f ResolutionScaled = 1000000.0;
90
91 k32u width = 0;
92 k32u intensityWidth = 0;
93
94 // The actual resolution/offset is a 2-d value.
95 // However, the Firesync 2-d structure kPoint64f only has X and Y members.
96 // The customer documentation refers to the resolution/scale and offset as Z scale and Z offset.
97 // To be consistent with the documentation, use a 3-d structure kPoint3d64f that has a member called "Z",
98 // instead of using the 2-d kPoint64f structure which does not have a "Z" member.
99 // The Y-member in the kPoint3d64f used for resolution and offset are set to 0.
100 kPoint3d64f resolution = { 0.0 };
101 kPoint3d64f offset = { 0.0 };
102
103 k32f exposure = 0.0;
104
105 friend class ::GoGdpMsgTests;
106 };
107 }
108
109 #endif
110
111
GoPxLSdkClass
#define GoPxLSdkClass
Definition: Def.h:35
GoPxLSdk::GoGdpProfileBase
Definition: GoGdpProfileBase.h:18
GoPxLSdk::MessageType
MessageType
List of enums representing types available to be serialized out through GDP This list is essentially ...
Definition: GoGdpMsgDef.h:27
GoGdpMsg.h
GoPxLSdk
Definition: Def.h:46
GoPxLSdk::GoGdpMsg
Definition: GoGdpMsg.h:37