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",
208 const std::string &description =
"",
209 const std::string &unitSymbol =
"",
210 const std::uint32_t &length = 0,
211 const double &resolution = 1.0,
212 const double &minimumValue = 0.0,
213 const double &maximumValue = 0.0,
214 const double &defaultValue = 0.0,
215 const std::uint8_t &storageClass =
CONSTANT,
216 const std::uint8_t &compressionOptions =
DEFAULT,
217 const double &scaleFactor = 1.0,
218 const double &invalidValue = std::numeric_limits<double>::quiet_NaN(),
219 const std::string &lodSettings =
"default",
220 const std::string &tags =
"",
221 const std::string &namedValues =
"" 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 std::map< long long int, std::string > NamedValuesMap
Map of VALUE=NAME pairs.
nothing special, just use default compression algorithm
StorageClass
Data Storage Class.
static void decodeDescriptor(const std::string &descriptor, std::string &name, std::int32_t &index)
Get attribute name and vector index from attribute descriptor.
DataType
Point attribute access data type.
shuffle bytes of point attribute values
std::uint8_t compressionOptions
options additional to default compression
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.
std::string description
attribute description (for display), string size limits: [0, 5000]
void load(const std::string &json)
Load settings from JSON string.
void assign(PointAttribute &target) const
Copy assignment.
RIEGL Laser Measurement Systems GmbH, Austria.
std::string tags
attribute tags (comma separated, e.g. "position, transform"), string size limits: [0...
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.
std::string namedValues
list of VALUE=NAME pairs separated by a single line feed character (LF, ASCII 0x0A), string size limits: [0, 1000000]
double invalidValue
invalid value (minimum <= invalid <= maximum, use "not-a-number" if there is no invalid value) ...
calculate differences between two consecutive values
std::uint8_t storageClass
storage class
std::uint32_t length
number of dimensions/elements (1: scalar, >1: vector, e.g. 3 for point coordinates) ...
value is likely to be changed often
std::string unitSymbol
physical unit symbol (e.g. "m", "rad", "K"), string size limits: [0, 100]
std::string title
attribute title (for display), string size limits: [1, 100]
CompressionOptions
Data Compression Options.
friend class PointAttributeWrapper
Point attribute access data types.
void setNamedValues(const NamedValuesMap &map)
Set named values string from map.
PointAttribute & operator=(const PointAttribute &attribute)
Assignment operator.
NamedValuesMap getNamedValues() const
Get map from named values string.
double maximumValue
theoretical maximum value
double resolution
expected value resolution
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.