42 #ifndef LIBLAS_LASPOINT_HPP_INCLUDED 43 #define LIBLAS_LASPOINT_HPP_INCLUDED 48 #include <liblas/detail/pointrecord.hpp> 49 #include <liblas/detail/fwd.hpp> 50 #include <liblas/detail/private_utility.hpp> 51 #include <liblas/external/property_tree/ptree.hpp> 55 #include <boost/array.hpp> 56 #include <boost/shared_ptr.hpp> 57 #include <boost/any.hpp> 103 eScanAngleRankMin = -90,
104 eScanAngleRankMax = 90
117 int32_t GetRawX()
const;
118 int32_t GetRawY()
const;
119 int32_t GetRawZ()
const;
121 void SetCoordinates(
double const& x,
double const& y,
double const& z);
123 void SetX(
double const& value);
124 void SetY(
double const& value);
125 void SetZ(
double const& value);
127 void SetRawX(int32_t
const& value);
128 void SetRawY(int32_t
const& value);
129 void SetRawZ(int32_t
const& value);
131 uint16_t GetIntensity()
const;
132 void SetIntensity(uint16_t
const& intensity);
140 uint8_t GetScanFlags()
const;
144 void SetScanFlags(uint8_t
const& flags);
146 uint16_t GetReturnNumber()
const;
147 void SetReturnNumber(uint16_t
const& num);
149 uint16_t GetNumberOfReturns()
const;
150 void SetNumberOfReturns(uint16_t
const& num);
152 uint16_t GetScanDirection()
const;
153 void SetScanDirection(uint16_t
const& dir);
155 uint16_t GetFlightLineEdge()
const;
156 void SetFlightLineEdge(uint16_t
const& edge);
162 void SetClassification(uint8_t
const& flags);
164 int8_t GetScanAngleRank()
const;
165 void SetScanAngleRank(int8_t
const& rank);
168 uint8_t GetUserData()
const;
171 void SetUserData(uint8_t
const& data);
174 uint16_t GetPointSourceID()
const;
177 void SetPointSourceID(uint16_t
const&
id);
180 Color GetColor()
const;
183 void SetColor(
Color const& value);
185 double GetTime()
const;
186 void SetTime(
double const& time);
191 double operator[](std::size_t
const&
index)
const;
194 bool equal(
Point const& other)
const;
196 bool Validate()
const;
197 bool IsValid()
const;
200 std::vector<uint8_t>
const&
GetData()
const {
return m_data; }
201 std::vector<uint8_t> &
GetData() {
return m_data; }
202 void SetData(std::vector<uint8_t>
const& v) { m_data = v;}
204 void SetHeader(
Header const* header);
205 Header const* GetHeader()
const;
206 property_tree::ptree GetPTree()
const;
207 boost::any GetValue(
Dimension const& d)
const;
211 std::vector<uint8_t> m_data;
213 std::vector<uint8_t>::size_type GetDimensionBytePosition(std::size_t dim_pos)
const;
215 Header const& m_default_header;
222 return lhs.
equal(rhs);
228 return (!(lhs == rhs));
241 throw std::out_of_range(
"coordinate subscript out of range");
251 #endif // LIBLAS_LASPOINT_HPP_INCLUDED
ScanAngleRankRange
Definition: point.hpp:101
bool operator!=(Classification const &lhs, Classification const &rhs)
Not-equal-to operator implemented in terms of Classification::equal.
Definition: classification.hpp:232
Class definition to manipulate properties of point record classification.
Definition: classification.hpp:66
#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
double operator[](std::size_t const &index) const
Const version of index operator providing access to XYZ coordinates of point record.
Definition: point.hpp:231
std::vector< uint8_t > & GetData()
Definition: point.hpp:201
bool equal(Point const &other) const
std::vector< uint8_t > const & GetData() const
Definition: point.hpp:200
void SetData(std::vector< uint8_t > const &v)
Definition: point.hpp:202
std::bitset< 8 > bitset_type
Alias on std::bitset<8> used as collection of flags.
Definition: classification.hpp:71
bool operator==(Classification const &lhs, Classification const &rhs)
Equal-to operator implemented in terms of Classification::equal.
Definition: classification.hpp:226
ClassificationType
Definition: point.hpp:83
Namespace grouping all elements of libLAS public interface.
Definition: bounds.hpp:60
~Point()
Definition: point.hpp:108
Point data record composed with X, Y, Z coordinates and attributes.
Definition: point.hpp:68
DataMemberFlag
Definition: point.hpp:72
Definition: schema.hpp:80
RGB color container.
Definition: color.hpp:55
Dimension definition.
Definition: dimension.hpp:73