45 #ifndef RIEGL_RDB_POINTCLOUD_POINTATTRIBUTE_HPP
46 #define RIEGL_RDB_POINTCLOUD_POINTATTRIBUTE_HPP
61 namespace pointcloud {
188 const std::string &
name =
"none",
189 const std::string &
title =
"none",
192 const uint32_t &
length = 0,
200 const double &
invalidValue = std::numeric_limits<double>::quiet_NaN(),
251 const std::string &descriptor,
283 void load(
const std::string &json);
289 std::string
save()
const;
303 operator const std::string&()
const {
return name; }
312 #endif // RIEGL_RDB_POINTCLOUD_POINTATTRIBUTE_HPP
nothing special, just use default compression algorithm
StorageClass
Data Storage Class.
DataType
Point attribute access data type.
shuffle bytes of point attribute values
static void decodeDescriptor(const std::string &descriptor, std::string &name, int32_t &index)
Get attribute name and vector index from attribute descriptor.
std::string name
unique attribute name (for queries)
double minimumValue
theoretical minimum value
calculate differences and shuffle bytes
double scaleFactor
optional scale factor applied to real numbers (i.e. resolution not equal to 1.0)
double defaultValue
default value (minimum <= default <= maximum)
std::string lodSettings
Level of detail settings.
uint8_t storageClass
storage class
std::string description
attribute description (for display)
void load(const std::string &json)
Load settings from JSON string.
uint32_t length
number of dimensions/elements (1: scalar, >1: vector, e.g. 3 for point coordinates) ...
void assign(PointAttribute &target) const
Copy assignment.
std::string save() const
Save settings to JSON string.
value can change from time to time
riegl::rdb::pointcloud::DataType dataType() const
Get buffer data type.
Point attribute description.
double invalidValue
invalid value (minimum <= invalid <= maximum, use "not-a-number" if there is no invalid value) ...
uint8_t compressionOptions
options additional to default compression
calculate differences between two consecutive values
PointAttribute(const std::string &name="none", const std::string &title="none", const std::string &description="", const std::string &unitSymbol="", const 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 uint8_t &storageClass=CONSTANT, const uint8_t &compressionOptions=DEFAULT, const double &scaleFactor=1.0, const double &invalidValue=std::numeric_limits< double >::quiet_NaN(), const std::string &lodSettings="default")
Default constructor.
value is likely to be changed often
std::string unitSymbol
physical unit symbol (e.g. "m", "rad", "K")
std::string title
attribute title (for display)
CompressionOptions
Data Compression Options.
friend class PointAttributeWrapper
Point attribute access data types.
PointAttribute & operator=(const PointAttribute &attribute)
Assignment operator.
double maximumValue
theoretical maximum value
double resolution
expected value resolution