![]() |
ACloudViewer
3.9.4
A Modern Library for 3D Data Processing
|
This serves the same purpose as LasScalarField but for extra bytes. More...
#include <LasExtraScalarField.h>

Public Types | |
| enum class | DimensionSize { One = 1 , Two = 2 , Three = 3 } |
| enum | DataType { Undocumented = 0 , u8 = 1 , i8 , u16 , i16 , u32 , i32 , u64 , i64 , f32 , f64 , Invalid } |
| Data types available LAS Extra Field. More... | |
| enum | Kind { Signed , Unsigned , Floating } |
Public Member Functions | |
| LasExtraScalarField ()=default | |
| uint8_t | typeCode () const |
| unsigned | elementSize () const |
| unsigned | numElements () const |
| unsigned | byteSize () const |
| Kind | kind () const |
| const char * | typeName () const |
| bool | noDataIsRelevant () const |
| bool | minIsRelevant () const |
| bool | maxIsRelevant () const |
| bool | scaleIsRelevant () const |
| bool | offsetIsRelevant () const |
| void | setOffsetIsRelevant (bool isRelevant) |
| void | setScaleIsRelevant (bool isRelevant) |
| void | resetScalarFieldsPointers () |
Static Public Member Functions | |
| static std::vector< LasExtraScalarField > | ParseExtraScalarFields (const laszip_header &laszipHeader) |
| static std::vector< LasExtraScalarField > | ParseExtraScalarFields (const laszip_vlr_struct &extraBytesVlr) |
| static void | InitExtraBytesVlr (laszip_vlr_struct &vlr, const std::vector< LasExtraScalarField > &extraFields) |
| static void | UpdateByteOffsets (std::vector< LasExtraScalarField > &extraFields) |
| static unsigned | TotalExtraBytesSize (const std::vector< LasExtraScalarField > &extraScalarFields) |
| static void | MatchExtraBytesToScalarFields (std::vector< LasExtraScalarField > &extraScalarFields, const ccPointCloud &pointCloud) |
| static std::tuple< DataType, DimensionSize > | DataTypeFromValue (uint8_t value) |
Public Attributes | |
| DataType | type {Undocumented} |
| DimensionSize | dimensions {DimensionSize::One} |
| uint8_t | options {0} |
| char | name [MAX_NAME_SIZE] = "" |
| char | description [MAX_DESCRIPTION_SIZE] = "" |
| uint8_t | noData [MAX_DIM_SIZE][8] = {0} |
| uint8_t | mins [MAX_DIM_SIZE][8] = {0} |
| uint8_t | maxs [MAX_DIM_SIZE][8] = {0} |
| double | scales [MAX_DIM_SIZE] = {0.0} |
| double | offsets [MAX_DIM_SIZE] = {0.0} |
| unsigned | byteOffset {0} |
| ccScalarField * | scalarFields [MAX_DIM_SIZE] = {nullptr} |
| char | ccName [MAX_NAME_SIZE+8] = {0} |
Static Public Attributes | |
| static constexpr unsigned | MAX_DIM_SIZE = 3 |
| static constexpr unsigned | MAX_NAME_SIZE = 32 |
| static constexpr unsigned | MAX_DESCRIPTION_SIZE = 32 |
This serves the same purpose as LasScalarField but for extra bytes.
Definition at line 41 of file LasExtraScalarField.h.
Data types available LAS Extra Field.
| Enumerator | |
|---|---|
| Undocumented | |
| u8 | |
| i8 | |
| u16 | |
| i16 | |
| u32 | |
| i32 | |
| u64 | |
| i64 | |
| f32 | |
| f64 | |
| Invalid | |
Definition at line 62 of file LasExtraScalarField.h.
|
strong |
| Enumerator | |
|---|---|
| One | |
| Two | |
| Three | |
Definition at line 54 of file LasExtraScalarField.h.
| Enumerator | |
|---|---|
| Signed | |
| Unsigned | |
| Floating | |
Definition at line 78 of file LasExtraScalarField.h.
|
default |
| unsigned LasExtraScalarField::byteSize | ( | ) | const |
Definition at line 167 of file LasExtraScalarField.cpp.
References elementSize(), and numElements().
Referenced by ParseExtraScalarFields().
|
static |
Definition at line 67 of file LasExtraScalarField.cpp.
| unsigned LasExtraScalarField::elementSize | ( | ) | const |
|
static |
Definition at line 302 of file LasExtraScalarField.cpp.
References copy.
Referenced by LasSaver::LasSaver().
| LasExtraScalarField::Kind LasExtraScalarField::kind | ( | ) | const |
|
static |
Definition at line 389 of file LasExtraScalarField.cpp.
References cloudViewer::PointCloudTpl< T >::getScalarField(), cloudViewer::PointCloudTpl< T >::getScalarFieldIndexByName(), name, and CVLog::Warning().
Referenced by LasIOFilter::saveToFile().
| bool LasExtraScalarField::maxIsRelevant | ( | ) | const |
Definition at line 240 of file LasExtraScalarField.cpp.
References options.
| bool LasExtraScalarField::minIsRelevant | ( | ) | const |
Definition at line 235 of file LasExtraScalarField.cpp.
References options.
| bool LasExtraScalarField::noDataIsRelevant | ( | ) | const |
Definition at line 230 of file LasExtraScalarField.cpp.
References options.
| unsigned LasExtraScalarField::numElements | ( | ) | const |
Definition at line 172 of file LasExtraScalarField.cpp.
References dimensions.
Referenced by byteSize(), LasExtraScalarFieldCard::fillField(), LasExtraScalarFieldCard::fillFrom(), and typeCode().
| bool LasExtraScalarField::offsetIsRelevant | ( | ) | const |
Definition at line 250 of file LasExtraScalarField.cpp.
References options.
Referenced by LasExtraScalarFieldCard::fillFrom().
|
static |
Definition at line 178 of file LasExtraScalarField.cpp.
References LasDetails::IsExtraBytesVlr().
Referenced by LasIOFilter::loadFile().
|
static |
Definition at line 191 of file LasExtraScalarField.cpp.
References byteOffset, byteSize(), LasDetails::IsExtraBytesVlr(), name, CVLog::Print(), type, typeName(), and CVLog::Warning().
| void LasExtraScalarField::resetScalarFieldsPointers | ( | ) |
Definition at line 371 of file LasExtraScalarField.cpp.
References MAX_DIM_SIZE, and scalarFields.
| bool LasExtraScalarField::scaleIsRelevant | ( | ) | const |
Definition at line 245 of file LasExtraScalarField.cpp.
References options.
Referenced by LasExtraScalarFieldCard::fillFrom().
| void LasExtraScalarField::setOffsetIsRelevant | ( | bool | isRelevant | ) |
Definition at line 267 of file LasExtraScalarField.cpp.
References options.
Referenced by LasExtraScalarFieldCard::fillField().
| void LasExtraScalarField::setScaleIsRelevant | ( | bool | isRelevant | ) |
Definition at line 255 of file LasExtraScalarField.cpp.
References options.
Referenced by LasExtraScalarFieldCard::fillField().
|
static |
Definition at line 362 of file LasExtraScalarField.cpp.
Referenced by LasSaver::LasSaver().
| uint8_t LasExtraScalarField::typeCode | ( | ) | const |
Definition at line 322 of file LasExtraScalarField.cpp.
References numElements(), and type.
| const char * LasExtraScalarField::typeName | ( | ) | const |
|
static |
Definition at line 379 of file LasExtraScalarField.cpp.
References byteOffset.
Referenced by LasSaver::LasSaver().
| unsigned LasExtraScalarField::byteOffset {0} |
Definition at line 140 of file LasExtraScalarField.h.
Referenced by ParseExtraScalarFields(), and UpdateByteOffsets().
| char LasExtraScalarField::ccName[MAX_NAME_SIZE+8] = {0} |
Definition at line 147 of file LasExtraScalarField.h.
Referenced by LasExtraScalarFieldCard::fillFrom().
| char LasExtraScalarField::description[MAX_DESCRIPTION_SIZE] = "" |
Definition at line 132 of file LasExtraScalarField.h.
Referenced by LasExtraScalarFieldCard::fillField(), and LasExtraScalarFieldCard::fillFrom().
| DimensionSize LasExtraScalarField::dimensions {DimensionSize::One} |
Definition at line 128 of file LasExtraScalarField.h.
Referenced by LasExtraScalarFieldCard::fillField(), and numElements().
|
staticconstexpr |
Definition at line 52 of file LasExtraScalarField.h.
Referenced by LasExtraScalarFieldCard::fillField(), and LasExtraScalarFieldCard::LasExtraScalarFieldCard().
|
staticconstexpr |
When the extra dimension in an array type, it can have at most 3 elements.
Eg: A Color extra array dimension with 3 elements, so that each points have Color[0], Color[1], Color[2] as in a single extra dimension definition.
Definition at line 50 of file LasExtraScalarField.h.
Referenced by LasScalarFieldSaver::handleExtraFields(), and resetScalarFieldsPointers().
|
staticconstexpr |
Definition at line 51 of file LasExtraScalarField.h.
Referenced by LasExtraScalarFieldCard::fillField(), LasExtraScalarFieldCard::LasExtraScalarFieldCard(), and LasIOFilter::saveToFile().
| uint8_t LasExtraScalarField::maxs[MAX_DIM_SIZE][8] = {0} |
Definition at line 135 of file LasExtraScalarField.h.
| uint8_t LasExtraScalarField::mins[MAX_DIM_SIZE][8] = {0} |
Definition at line 134 of file LasExtraScalarField.h.
| char LasExtraScalarField::name[MAX_NAME_SIZE] = "" |
Definition at line 131 of file LasExtraScalarField.h.
Referenced by LasExtraScalarFieldCard::fillField(), LasExtraScalarFieldCard::fillFrom(), MatchExtraBytesToScalarFields(), ParseExtraScalarFields(), and LasIOFilter::saveToFile().
| uint8_t LasExtraScalarField::noData[MAX_DIM_SIZE][8] = {0} |
Definition at line 133 of file LasExtraScalarField.h.
| double LasExtraScalarField::offsets[MAX_DIM_SIZE] = {0.0} |
Definition at line 137 of file LasExtraScalarField.h.
Referenced by LasExtraScalarFieldCard::fillField(), and LasExtraScalarFieldCard::fillFrom().
| uint8_t LasExtraScalarField::options {0} |
Definition at line 130 of file LasExtraScalarField.h.
Referenced by maxIsRelevant(), minIsRelevant(), noDataIsRelevant(), offsetIsRelevant(), scaleIsRelevant(), setOffsetIsRelevant(), and setScaleIsRelevant().
| ccScalarField* LasExtraScalarField::scalarFields[MAX_DIM_SIZE] = {nullptr} |
Definition at line 141 of file LasExtraScalarField.h.
Referenced by LasExtraScalarFieldCard::fillField(), LasExtraScalarFieldCard::fillFrom(), resetScalarFieldsPointers(), and LasIOFilter::saveToFile().
| double LasExtraScalarField::scales[MAX_DIM_SIZE] = {0.0} |
Definition at line 136 of file LasExtraScalarField.h.
Referenced by LasExtraScalarFieldCard::fillField(), and LasExtraScalarFieldCard::fillFrom().
| DataType LasExtraScalarField::type {Undocumented} |
Definition at line 127 of file LasExtraScalarField.h.
Referenced by elementSize(), LasExtraScalarFieldCard::fillField(), LasExtraScalarFieldCard::fillFrom(), kind(), ParseExtraScalarFields(), LasIOFilter::saveToFile(), typeCode(), and typeName().