43 #ifndef LIBLAS_LASHEADER_HPP_INCLUDED 44 #define LIBLAS_LASHEADER_HPP_INCLUDED 46 #include <boost/uuid/uuid.hpp> 52 #include <liblas/external/property_tree/ptree.hpp> 54 #include <liblas/detail/singleton.hpp> 56 #include <boost/foreach.hpp> 57 #include <boost/uuid/uuid.hpp> 58 #include <boost/uuid/uuid_generators.hpp> 59 #include <boost/uuid/uuid_io.hpp> 112 std::string GetFileSignature()
const;
120 void SetFileSignature(std::string
const& v);
124 uint16_t GetFileSourceId()
const;
131 void SetFileSourceId(uint16_t v);
137 uint16_t GetReserved()
const;
142 void SetReserved(uint16_t v);
146 boost::uuids::uuid GetProjectId()
const;
149 void SetProjectId(boost::uuids::uuid
const& v);
153 uint8_t GetVersionMajor()
const;
158 void SetVersionMajor(uint8_t v);
162 uint8_t GetVersionMinor()
const;
167 void SetVersionMinor(uint8_t v);
175 std::string GetSystemId(
bool pad =
false)
const;
180 void SetSystemId(std::string
const& v);
187 std::string GetSoftwareId(
bool pad =
false)
const;
192 void SetSoftwareId(std::string
const& v);
196 uint16_t GetCreationDOY()
const;
201 void SetCreationDOY(uint16_t v);
205 uint16_t GetCreationYear()
const;
210 void SetCreationYear(uint16_t v);
214 uint16_t GetHeaderSize()
const;
218 void SetHeaderSize(uint16_t v);
221 uint32_t GetDataOffset()
const;
226 void SetDataOffset(uint32_t v);
229 uint32_t GetHeaderPadding()
const;
235 void SetHeaderPadding(uint32_t v);
238 uint32_t GetRecordsCount()
const;
241 void SetRecordsCount(uint32_t v);
256 uint16_t GetDataRecordLength()
const;
259 uint32_t GetPointRecordsCount()
const;
262 void SetPointRecordsCount(uint32_t v);
265 RecordsByReturnArray
const& GetPointRecordsByReturnCount()
const;
271 void SetPointRecordsByReturnCount(std::size_t
index, uint32_t v);
274 double GetScaleX()
const;
277 double GetScaleY()
const;
280 double GetScaleZ()
const;
283 void SetScale(
double x,
double y,
double z);
286 double GetOffsetX()
const;
289 double GetOffsetY()
const;
292 double GetOffsetZ()
const;
295 void SetOffset(
double x,
double y,
double z);
298 double GetMaxX()
const;
301 double GetMinX()
const;
304 double GetMaxY()
const;
307 double GetMinY()
const;
310 double GetMaxZ()
const;
313 double GetMinZ()
const;
316 void SetMax(
double x,
double y,
double z);
319 void SetMin(
double x,
double y,
double z);
328 const std::vector<VariableRecord>& GetVLRs()
const;
331 void DeleteVLR(uint32_t
index);
332 void DeleteVLRs(std::string
const&
name, uint16_t
id);
335 void SetGeoreference();
344 Schema const& GetSchema()
const;
347 void SetSchema(
const Schema& format);
362 liblas::property_tree::ptree GetPTree()
const;
366 bool Compressed()
const;
369 void SetCompressed(
bool b);
371 uint32_t GetVLRBlockSize()
const;
373 void to_rst(std::ostream& os)
const;
374 void to_xml(std::ostream& os)
const;
375 void to_json(std::ostream& os)
const;
379 typedef detail::Point<double> PointScales;
380 typedef detail::Point<double> PointOffsets;
384 eDataSignatureSize = 2,
385 eFileSignatureSize = 4,
386 ePointsByReturnSize = 7,
389 eSoftwareIdSize = 32,
391 eFileSourceIdMax = 65535
405 char m_signature[eFileSignatureSize];
406 boost::uint16_t m_sourceId;
407 boost::uint16_t m_reserved;
408 boost::uuids::uuid m_projectGuid;
413 boost::uint8_t m_versionMajor;
414 boost::uint8_t m_versionMinor;
416 char m_systemId[eSystemIdSize];
417 char m_softwareId[eSoftwareIdSize];
418 uint16_t m_createDOY;
419 uint16_t m_createYear;
420 uint16_t m_headerSize;
421 uint32_t m_dataOffset;
422 uint32_t m_recordsCount;
423 uint32_t m_pointRecordsCount;
424 RecordsByReturnArray m_pointRecordsByReturn;
425 PointScales m_scales;
426 PointOffsets m_offsets;
428 std::vector<VariableRecord> m_vlrs;
432 uint32_t m_headerPadding;
457 #endif // LIBLAS_LASHEADER_HPP_INCLUDED
Representation of variable-length record data.
Definition: variablerecord.hpp:59
#define LAS_DLL
Definition: export.hpp:58
std::ostream & operator<<(std::ostream &os, Classification const &cls)
The output stream operator is based on std::bitset<N>::operator<<.
Definition: classification.hpp:247
bool operator==(Classification const &lhs, Classification const &rhs)
Equal-to operator implemented in terms of Classification::equal.
Definition: classification.hpp:226
Spatial Reference System container for libLAS.
Definition: spatialreference.hpp:69
Namespace grouping all elements of libLAS public interface.
Definition: bounds.hpp:60
PointFormatName
Versions of point record format.
Definition: version.hpp:89
Definition: schema.hpp:78
Definition: schema.hpp:80
Schema definition.
Definition: schema.hpp:102