 |
RDB 2
|
Go to the documentation of this file.
48 #ifndef RIEGL_RDB_POINTCLOUD_POINTATTRIBUTE_HPP
49 #define RIEGL_RDB_POINTCLOUD_POINTATTRIBUTE_HPP
66 namespace pointcloud {
206 const std::string &
name =
"none",
207 const std::string &
title =
"none",
210 const std::uint32_t &
length = 0,
218 const double &
invalidValue = std::numeric_limits<double>::quiet_NaN(),
220 const std::string &
tags =
"",
271 const std::string &descriptor,
329 void load(
const std::string &json);
335 std::string
save()
const;
349 operator const std::string&()
const {
return name; }
358 #endif // RIEGL_RDB_POINTCLOUD_POINTATTRIBUTE_HPP
calculate differences between two consecutive values
Point attribute description.
std::map< long long int, std::string > NamedValuesMap
Map of VALUE=NAME pairs.
PointAttribute(const std::string &name="none", const std::string &title="none", const std::string &description="", const std::string &unitSymbol="", const std::uint32_t &length=0, const double &resolution=1.0, const double &minimumValue=0.0, const double &maximumValue=0.0, const double &defaultValue=0.0, const std::uint8_t &storageClass=CONSTANT, const std::uint8_t &compressionOptions=DEFAULT, const double &scaleFactor=1.0, const double &invalidValue=std::numeric_limits< double >::quiet_NaN(), const std::string &lodSettings="default", const std::string &tags="", const std::string &namedValues="")
Default constructor.
nothing special, just use default compression algorithm
shuffle bytes of point attribute values
double invalidValue
invalid value (minimum <= invalid <= maximum, use "not-a-number" if there is no invalid value)
double minimumValue
theoretical minimum value
void assign(PointAttribute &target) const
Copy assignment.
double scaleFactor
optional scale factor applied to real numbers (i.e. resolution not equal to 1.0)
RIEGL Laser Measurement Systems GmbH, Austria.
double defaultValue
default value (minimum <= default <= maximum)
std::uint8_t storageClass
storage class
std::string unitSymbol
physical unit symbol (e.g. "m", "rad", "K"), string size limits: [0, 100]
std::uint8_t compressionOptions
options additional to default compression
calculate differences and shuffle bytes
static void decodeDescriptor(const std::string &descriptor, std::string &name, std::int32_t &index)
Get attribute name and vector index from attribute descriptor.
void load(const std::string &json)
Load settings from JSON string.
CompressionOptions
Data Compression Options.
std::string save() const
Save settings to JSON string.
value can change from time to time
std::string tags
attribute tags (comma separated, e.g. "position, transform"), string size limits: [0,...
Point attribute access data types.
NamedValuesMap getNamedValues() const
Get map from named values string.
double resolution
expected value resolution
std::string namedValues
list of VALUE=NAME pairs separated by a single line feed character (LF, ASCII 0x0A),...
value is likely to be changed often
std::uint32_t length
number of dimensions/elements (1: scalar, >1: vector, e.g. 3 for point coordinates)
StorageClass
Data Storage Class.
std::string title
attribute title (for display), string size limits: [1, 100]
riegl::rdb::pointcloud::DataType dataType() const
Get buffer data type.
PointAttribute & operator=(const PointAttribute &attribute)
Assignment operator.
std::string description
attribute description (for display), string size limits: [0, 5000]
double maximumValue
theoretical maximum value
std::string lodSettings
Level of detail settings.
DataType
Point attribute access data type.
void setNamedValues(const NamedValuesMap &map)
Set named values string from map.
std::string name
unique attribute name (for queries)
friend class PointAttributeWrapper