liblas::Classification Class Reference

Class definition to manipulate properties of point record classification. More...

#include <lasclassification.hpp>

List of all members.

Public Types

enum  BitPosition { eClassBit = 0, eSyntheticBit = 5, eKeyPointBit = 6, eWithheldBit = 7 }
 

Values of indexes in the set of bit flags.

More...
typedef std::bitset< 8 > bitset_type
 Alias on std::bitset<8> used as collection of flags.

Public Member Functions

 Classification ()
 Default initialization constructor.
 Classification (bitset_type const &flags)
 Initializes classification flags using given set of 8 bits.
 Classification (boost::uint8_t const &flags)
 Initializes classification flags using 8 bits of integral type.
 Classification (boost::uint8_t cls, bool s, bool k, bool w)
 Initializes classification with values of given compounds.
 Classification (Classification const &other)
 Copy constructor.
Classificationoperator= (Classification const &rhs)
 Assignment operator.
 operator bitset_type () const
 Conversion operator.
std::string GetClassName () const
 Raturns name of class as defined in LAS 1.1+ Finds class name in lookup table based on class index as defined in classification object.
uint8_t GetClass () const
 Returns index of ASPRS classification as defined in the lookup table.
void SetClass (uint8_t index)
 Updates index of ASPRS classification as defined in the lookup table.
void SetSynthetic (bool flag)
 Sets if this point was created by a technique other than LIDAR collection such as digitized from a photogrammetric stereo model.
bool IsSynthetic () const
 Tests if this point was created by a technique other than LIDAR collection.
void SetKeyPoint (bool flag)
 Sets if this point is considered to be a model keypoint and thus generally should not be withheld in a thinning algorithm.
bool IsKeyPoint () const
 Tests if this point is considered to be a model keypoint.
void SetWithheld (bool flag)
 SetTests if this point should excluded from processing.
bool IsWithheld () const
 Tests if this point should excluded from processing.
bool equal (Classification const &other) const
 Compares this classification object with other one.

Static Public Attributes

static std::size_t const class_table_size
 Number of classes in lookup table as defined in ASPRS LAS 1.1+.

Detailed Description

Class definition to manipulate properties of point record classification.


Member Typedef Documentation

typedef std::bitset<8> liblas::Classification::bitset_type

Alias on std::bitset<8> used as collection of flags.


Member Enumeration Documentation

Values of indexes in the set of bit flags.

Enumerator:
eClassBit 

First bit position of 0:4 range.

eSyntheticBit 

Synthetic flag.

eKeyPointBit 

Key-point flag.

eWithheldBit 

Withheld flag.


Constructor & Destructor Documentation

liblas::Classification::Classification (  )  [inline]

Default initialization constructor.

Initializes all flags of classification as set to 0. Operation semantic is equivalent to bitset_type::reset().

liblas::Classification::Classification ( bitset_type const &  flags  )  [inline, explicit]

Initializes classification flags using given set of 8 bits.

Parameters:
flags [in] - contains 8 bits representing classification flags.
liblas::Classification::Classification ( boost::uint8_t const &  flags  )  [inline, explicit]

Initializes classification flags using 8 bits of integral type.

Parameters:
flags [in] - contains 8 bits representing classification flags.
liblas::Classification::Classification ( boost::uint8_t  cls,
bool  s,
bool  k,
bool  w 
) [inline]

Initializes classification with values of given compounds.

Parameters:
cls [in] - index of Standard ASPRS classification as defined in the lookup table, from 0 to class_table_size - 1.
s [in] - If set then this point was created by a technique other than LIDAR collection such as digitized from a photogrammetric stereo model.
k [in] - If set, this point is considered to be a model keypoint and thus generally should not be withheld in a thinning algorithm.
w [in] - If set, this point should not be included in processing.

References SetClass(), SetKeyPoint(), SetSynthetic(), and SetWithheld().

Here is the call graph for this function:

liblas::Classification::Classification ( Classification const &  other  )  [inline]

Copy constructor.


Member Function Documentation

bool liblas::Classification::equal ( Classification const &  other  )  const [inline]

Compares this classification object with other one.

Comparison is preformed against set of bit flags stored in both objects.

Referenced by liblas::operator==().

Here is the caller graph for this function:

uint8_t liblas::Classification::GetClass (  )  const

Returns index of ASPRS classification as defined in the lookup table.

std::string liblas::Classification::GetClassName (  )  const

Raturns name of class as defined in LAS 1.1+ Finds class name in lookup table based on class index as defined in classification object.

bool liblas::Classification::IsKeyPoint (  )  const [inline]

Tests if this point is considered to be a model keypoint.

References eKeyPointBit.

bool liblas::Classification::IsSynthetic (  )  const [inline]

Tests if this point was created by a technique other than LIDAR collection.

References eSyntheticBit.

bool liblas::Classification::IsWithheld (  )  const [inline]

Tests if this point should excluded from processing.

References eWithheldBit.

liblas::Classification::operator bitset_type (  )  const [inline]

Conversion operator.

Returns classification object as in form of std::bitset<8>. bitset< object

Classification& liblas::Classification::operator= ( Classification const &  rhs  )  [inline]

Assignment operator.

void liblas::Classification::SetClass ( uint8_t  index  ) 

Updates index of ASPRS classification as defined in the lookup table.

Valid index is in range from 0 to class_table_size - 1. For LAS 1.0, this static number may be invalid and extend up to 255 classes stored in variable-length records.

Note:
Currently, libLAS does not support classification based on table stored in variable-length record. Only Standard ASPRS classification table is supported.
Exceptions:
Theoretically,may throw std::out_of_range in case index value is not in range between 0 and class_table_size - 1.

Referenced by Classification().

Here is the caller graph for this function:

void liblas::Classification::SetKeyPoint ( bool  flag  )  [inline]

Sets if this point is considered to be a model keypoint and thus generally should not be withheld in a thinning algorithm.

References eKeyPointBit.

Referenced by Classification().

Here is the caller graph for this function:

void liblas::Classification::SetSynthetic ( bool  flag  )  [inline]

Sets if this point was created by a technique other than LIDAR collection such as digitized from a photogrammetric stereo model.

References eSyntheticBit.

Referenced by Classification().

Here is the caller graph for this function:

void liblas::Classification::SetWithheld ( bool  flag  )  [inline]

SetTests if this point should excluded from processing.

References eWithheldBit.

Referenced by Classification().

Here is the caller graph for this function:


Member Data Documentation

std::size_t const liblas::Classification::class_table_size [static]

Number of classes in lookup table as defined in ASPRS LAS 1.1+.

For LAS 1.0, this static number may be invalid and extend up to 255 classes stored in variable-length records.

Note:
Currently, libLAS does not support classification based on table stored in variable-length record. Only Standard ASPRS classification table is supported.

The documentation for this class was generated from the following file:

Generated on Fri Jul 30 19:30:13 2010 for libLAS API Reference by  doxygen 1.6.1