OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimLasHdr.h
Go to the documentation of this file.
1 //----------------------------------------------------------------------------
2 //
3 // File: ossimLasHdr.h
4 //
5 // License: MIT
6 //
7 // See LICENSE.txt file in the top level directory for more details.
8 //
9 // Author: David Burken
10 //
11 // Description: Container class for LAS LIDAR format public header block.
12 //
13 //----------------------------------------------------------------------------
14 // $Id$
15 #ifndef ossimLasHdr_HEADER
16 #define ossimLasHdr_HEADER 1
17 
19 
20 #include <iosfwd>
21 #include <string>
22 class ossimKeywordlist;
23 
25 {
26 public:
27 
28  /* @brief default constructor */
29  ossimLasHdr();
30 
31  /* @brief copy constructor */
32  ossimLasHdr(const ossimLasHdr& hdr);
33 
34  /* @brief assignment operator= */
35  const ossimLasHdr& operator=(const ossimLasHdr& hdr);
36 
37  /* destructor */
38  ~ossimLasHdr();
39 
44  bool checkSignature(std::istream& in) const;
45 
53  void readStream(std::istream& in);
54 
56  void writeStream(std::ostream& out);
57 
62  std::ostream& print(std::ostream& out) const;
63 
65  friend OSSIM_DLL std::ostream& operator<<(std::ostream& out, const ossimLasHdr& hdr);
66 
67  void getKeywordlist(ossimKeywordlist& kwl) const;
68 
70  bool getGpsTimeTypeBit() const;
71 
73  bool getWaveforDataPacketsInternalBit() const;
74 
76  bool getWaveforDataPacketsExternalBit() const;
77 
79  bool getReturnsSyntheticallyGeneratedBit() const;
80 
82  bool getWktBit() const;
83 
87  std::string getProjectIdGuid() const;
88 
90  std::string getVersion() const;
91 
93  std::string getSystemIndentifier() const;
94 
96  std::string getGeneratingSoftware() const;
97 
99  ossim_uint16 getHeaderSize() const;
100 
102  ossim_uint32 getOffsetToPointData() const;
103 
105  ossim_uint32 getNumberOfVlrs() const;
106 
108  ossim_uint8 getPointDataFormatId() const;
109 
111  ossim_uint64 getNumberOfPoints() const;
112 
117  ossim_uint64 getNumberOfPoints(ossim_uint32 entry) const;
118 
119  const ossim_float64& getScaleFactorX() const;
120  const ossim_float64& getScaleFactorY() const;
121  const ossim_float64& getScaleFactorZ() const;
122  const ossim_float64& getOffsetX() const;
123  const ossim_float64& getOffsetY() const;
124  const ossim_float64& getOffsetZ() const;
125  const ossim_float64& getMinX() const;
126  const ossim_float64& getMinY() const;
127  const ossim_float64& getMinZ() const;
128  const ossim_float64& getMaxX() const;
129  const ossim_float64& getMaxY() const;
130  const ossim_float64& getMaxZ() const;
131 
132 
133 private:
134 
136  void swap();
137 
145  bool versionGreaterThan( ossim_uint8 major, ossim_uint8 minor ) const;
146 
147  char m_fileSignature[5];
153  ossim_uint8 m_projectIdGuidData4[8];
156  char m_systemIndentifier[32];
157  char m_generatingSoftware[32];
166  ossim_uint32 m_legacyNumberOfPointsByReturn[5]; // deprecated 1_4
183  ossim_uint64 m_numberOfPointsByReturn[15]; // Added 1_4
184 
185 };
186 
187 #endif /* End of "#ifndef ossimLasHdr_HEADER" */
ossim_float64 m_yOffset
Definition: ossimLasHdr.h:171
ossim_float64 m_minY
Definition: ossimLasHdr.h:176
ossim_uint16 m_globalEncoding
Definition: ossimLasHdr.h:149
ossim_uint8 m_versionMajor
Definition: ossimLasHdr.h:154
Represents serializable keyword/value map.
ossim_uint64 m_numberOfPointRecords
Definition: ossimLasHdr.h:182
ossim_float64 m_xOffset
Definition: ossimLasHdr.h:170
ossim_float64 m_minX
Definition: ossimLasHdr.h:174
ossim_uint32 m_numberOfExtendedVariableLengthRecords
Definition: ossimLasHdr.h:181
ossim_uint16 m_fileCreationDay
Definition: ossimLasHdr.h:158
std::ostream & print(H5::H5File *file, std::ostream &out)
Print method.
Definition: ossimH5Util.cpp:41
unsigned short ossim_uint16
ossim_uint16 m_projectIdGuidData3
Definition: ossimLasHdr.h:152
ossim_uint64 m_startOfWaveformDataPacket
Definition: ossimLasHdr.h:179
double ossim_float64
bool checkSignature(std::istream &in)
Check signature method.
ostream & operator<<(ostream &out, const ossimAxes &axes)
Definition: ossimAxes.h:88
ossim_uint8 m_versionMinor
Definition: ossimLasHdr.h:155
ossim_float64 m_maxX
Definition: ossimLasHdr.h:173
ossim_uint32 m_projectIdGuidData1
Definition: ossimLasHdr.h:150
ossim_uint32 m_legacyNumberOfPointRecords
Definition: ossimLasHdr.h:165
unsigned long long ossim_uint64
unsigned int ossim_uint32
ossim_float64 m_zOffset
Definition: ossimLasHdr.h:172
ossim_uint16 m_fileCreateionYear
Definition: ossimLasHdr.h:159
ossim_uint64 m_startOfExtendedVariableLengthRecords
Definition: ossimLasHdr.h:180
ossim_float64 m_minZ
Definition: ossimLasHdr.h:178
ossim_uint32 m_numberOfVariableLengthRecords
Definition: ossimLasHdr.h:162
std::basic_istream< char > istream
Base class for char input streams.
Definition: ossimIosFwd.h:20
ossim_float64 m_maxZ
Definition: ossimLasHdr.h:177
#define OSSIM_DLL
ossim_uint16 m_fileSourceId
Definition: ossimLasHdr.h:148
ossim_float64 m_yScaleFactor
Definition: ossimLasHdr.h:168
ossim_float64 m_zScaleFactor
Definition: ossimLasHdr.h:169
ossim_uint16 m_pointDataRecordLength
Definition: ossimLasHdr.h:164
ossim_uint32 m_offsetToPointData
Definition: ossimLasHdr.h:161
ossim_uint16 m_headerSize
Definition: ossimLasHdr.h:160
ossim_float64 m_maxY
Definition: ossimLasHdr.h:175
ossim_uint8 m_pointDataFormatId
Definition: ossimLasHdr.h:163
unsigned char ossim_uint8
ossim_uint16 m_projectIdGuidData2
Definition: ossimLasHdr.h:151
std::basic_ostream< char > ostream
Base class for char output streams.
Definition: ossimIosFwd.h:23
ossim_float64 m_xScaleFactor
Definition: ossimLasHdr.h:167