OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimLasPointRecord4.h
Go to the documentation of this file.
1 //----------------------------------------------------------------------------
2 //
3 // File: ossimLasPointRecord4.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 //----------------------------------------------------------------------------
12 // $Id$
13 #ifndef ossimLasPointRecord4_HEADER
14 #define ossimLasPointRecord4_HEADER 1
15 
17 
24 {
25 public:
26 
29 
30  /* @brief copy constructor */
32 
33  /* @brief assignment operator= */
34  const ossimLasPointRecord4& operator=(const ossimLasPointRecord4& copy_this);
35 
37  virtual ~ossimLasPointRecord4();
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  {
122  };
123 
125 };
126 
127 #endif /* #ifndef ossimLasPointRecord4_HEADER */
128 
char ossim_int8
Previous DLL import export section.
virtual ossim_uint8 getReturnNumber() const
virtual ossim_uint16 getIntensity() const
virtual ossim_uint16 getRed() const
ossimLasPointRecord4Data m_record
void swap()
Performs a swap if system byte order is not little endian.
virtual std::ostream & print(std::ostream &out) const
virtual ossim_uint16 getBlue() const
virtual ossim_uint8 getEdgeFlag() const
virtual ~ossimLasPointRecord4()
destructor
unsigned short ossim_uint16
double ossim_float64
virtual ossim_uint8 getNumberOfReturns() const
virtual ossim_int32 getY() const
Container class for LAS point record type 4.
virtual ossim_int32 getX() const
unsigned long long ossim_uint64
unsigned int ossim_uint32
const ossimLasPointRecord4 & operator=(const ossimLasPointRecord4 &copy_this)
const BitFlags & operator=(const BitFlags &obj)
virtual ossim_uint16 getGreen() const
std::basic_istream< char > istream
Base class for char input streams.
Definition: ossimIosFwd.h:20
const ossimLasPointRecord4Data & operator=(const ossimLasPointRecord4Data &obj)
OSSIM Interface for LAS point record types.
virtual ossim_int32 getZ() const
ossimLasPointRecord4()
default constructor
virtual void writeStream(std::ostream &out)
Writes record to stream.
unsigned char ossim_uint8
virtual void readStream(std::istream &in)
Initialize record from stream.
std::basic_ostream< char > ostream
Base class for char output streams.
Definition: ossimIosFwd.h:23
int ossim_int32