18#ifndef QGSPOINTCLOUDATTRIBUTE_H
19#define QGSPOINTCLOUDATTRIBUTE_H
30using namespace Qt::StringLiterals;
65 QString
name()
const {
return mName; }
68 int size()
const {
return mSize; }
82 QMetaType::Type variantType()
const;
91 QString displayType()
const;
99 double convertValueToDouble(
const char *ptr )
const SIP_SKIP;
104 static bool isNumeric( DataType type );
107 SIP_PYOBJECT __repr__();
109 QString str = u
"<QgsPointCloudAttribute: %1 (%2)>"_s.arg( sipCpp->name() ).arg( sipCpp->displayType() );
110 sipRes = PyUnicode_FromString( str.toUtf8().constData() );
132 DataType mType = DataType::Char;
161 QVector<QgsPointCloudAttribute>
attributes()
const;
166 int count()
const {
return mAttributes.size(); }
185 int indexOf(
const QString &name )
const;
197 QVector<QgsPointCloudAttribute> mAttributes;
199 struct CachedAttributeData
203 CachedAttributeData(
int index,
int offset )
209 QMap< QString, CachedAttributeData > mCachedAttributes;
Container of fields for a vector layer.
A collection of point cloud attributes.
void push_back(const QgsPointCloudAttribute &attribute)
Adds extra attribute.
int pointRecordSize() const
Returns total size of record.
QgsPointCloudAttributeCollection()
const QgsPointCloudAttribute & at(int index) const
Returns the attribute at the specified index.
int count() const
Returns the number of attributes present in the collection.
void extend(const QgsPointCloudAttributeCollection &otherCollection, const QSet< QString > &matchingNames)
Adds specific missing attributes from another QgsPointCloudAttributeCollection.
QVector< QgsPointCloudAttribute > attributes() const
Returns all attributes.
Attribute for point cloud data pair of name and size in bytes.
DataType
Systems of unit measurement.
@ UShort
Unsigned short int 2 bytes.
@ Short
Short int 2 bytes.
@ UChar
Unsigned char 1 byte.
@ UInt32
Unsigned int32 4 bytes.
@ UInt64
Unsigned int64 8 bytes.
int size() const
Returns size of the attribute in bytes.
QString name() const
Returns name of the attribute.
DataType type() const
Returns the data type.
A 3D vector (similar to QVector3D) with the difference that it uses double precision instead of singl...