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