GoPxL SDK
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 
13 
14 class GoGdpMsgTests;
15 
16 namespace GoPxLSdk
17 {
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:
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 
#define GoPxLSdkClass
Definition: Def.h:35
Definition: GoGdpProfileBase.h:18
MessageType
List of enums representing types available to be serialized out through GDP This list is essentially ...
Definition: GoGdpMsgDef.h:27
Definition: Def.h:46
Definition: GoGdpMsg.h:37