OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimLasPointRecord2.h
Go to the documentation of this file.
1 //----------------------------------------------------------------------------
2 //
3 // File: ossimLasPointRecord2.h
4 //
5 // License: MIT
6 //
7 // See LICENSE.txt file in the top level directory for more details.
8 //
9 // Author: Garrett Potts
10 //
11 //----------------------------------------------------------------------------
12 // $Id$
13 #ifndef ossimLasPointRecord2_HEADER
14 #define ossimLasPointRecord2_HEADER 1
15 
17 
24 {
25 public:
26 
29 
30  /* @brief copy constructor */
32 
33  /* @brief assignment operator= */
34  const ossimLasPointRecord2& operator=(const ossimLasPointRecord2& copy_this);
35 
37  virtual ~ossimLasPointRecord2();
38 
40  virtual void readStream(std::istream& in);
41 
43  virtual void writeStream(std::ostream& out);
44 
46  virtual ossim_int32 getX() const;
47 
49  virtual ossim_int32 getY() const;
50 
52  virtual ossim_int32 getZ() const;
53 
55  virtual ossim_uint16 getRed() const;
56 
58  virtual ossim_uint16 getGreen() const;
59 
61  virtual ossim_uint16 getBlue() const;
62 
64  virtual ossim_uint16 getIntensity() const;
65 
67  virtual ossim_uint8 getReturnNumber() const;
68 
69  virtual ossim_uint8 getNumberOfReturns() const;
70 
71  virtual ossim_uint8 getEdgeFlag() const;
72 
73  virtual std::ostream& print(std::ostream& out) const;
74 
75 private:
76 
78  void swap();
79 
80  union BitFlags
81  {
82  BitFlags(const BitFlags& obj):m_bits(obj.m_bits){}
84  const BitFlags& operator =(const BitFlags& obj){m_bits = obj.m_bits;return *this;}
85  struct
86  {
91  };
93  };
94 
95  //---
96  // Private structure so we can do a single read/write in the readStream
97  // and writeStream methods. This sped the code up 5X when doing an ossim-icp
98  // from a LAS file to a tif.
99  //---
101  {
117  };
118 
120 };
121 
122 #endif /* #ifndef ossimLasPointRecord2_HEADER */
123 
virtual ~ossimLasPointRecord2()
destructor
virtual ossim_uint8 getNumberOfReturns() const
char ossim_int8
Previous DLL import export section.
ossimLasPointRecord2Data m_record
virtual std::ostream & print(std::ostream &out) const
const ossimLasPointRecord2Data & operator=(const ossimLasPointRecord2Data &obj)
virtual void readStream(std::istream &in)
Initialize record from stream.
unsigned short ossim_uint16
virtual ossim_uint16 getRed() const
const BitFlags & operator=(const BitFlags &obj)
virtual ossim_int32 getX() const
virtual ossim_uint8 getEdgeFlag() const
virtual void writeStream(std::ostream &out)
Writes record to stream.
virtual ossim_uint16 getBlue() const
virtual ossim_uint8 getReturnNumber() const
virtual ossim_int32 getZ() const
virtual ossim_uint16 getGreen() const
std::basic_istream< char > istream
Base class for char input streams.
Definition: ossimIosFwd.h:20
virtual ossim_int32 getY() const
void swap()
Performs a swap if system byte order is not little endian.
const ossimLasPointRecord2 & operator=(const ossimLasPointRecord2 &copy_this)
virtual ossim_uint16 getIntensity() const
OSSIM Interface for LAS point record types.
Container class for LAS point record type 2.
ossimLasPointRecord2()
default constructor
unsigned char ossim_uint8
std::basic_ostream< char > ostream
Base class for char output streams.
Definition: ossimIosFwd.h:23
int ossim_int32