QGIS API Documentation  3.26.3-Buenos Aires (65e4edfdad)
qgspointcloudblock.cpp
Go to the documentation of this file.
1 /***************************************************************************
2  qgspointcloudblock.cpp
3  -----------------------
4  begin : October 2020
5  copyright : (C) 2020 by Peter Petrik
6  email : zilolv at gmail dot com
7  ***************************************************************************/
8 
9 /***************************************************************************
10  * *
11  * This program is free software; you can redistribute it and/or modify *
12  * it under the terms of the GNU General Public License as published by *
13  * the Free Software Foundation; either version 2 of the License, or *
14  * (at your option) any later version. *
15  * *
16  ***************************************************************************/
17 
18 #include "qgis.h"
19 #include "qgspointcloudblock.h"
20 #include "qgspointcloudattribute.h"
21 
22 
24  int count,
25  const QgsPointCloudAttributeCollection &attributes,
26  const QByteArray &data, const QgsVector3D &scale, const QgsVector3D &offset
27 )
28  : mPointCount( count )
29  , mAttributes( attributes )
30  , mRecordSize( mAttributes.pointRecordSize() )
31  , mStorage( data )
32  , mScale( scale )
33  , mOffset( offset )
34 {
35 }
36 
37 const char *QgsPointCloudBlock::data() const
38 {
39  return mStorage.data();
40 }
41 
43 {
44  return mPointCount;
45 }
46 
48 {
49  return mAttributes;
50 }
51 
53 {
54  return mScale;
55 }
56 
58 {
59  return mOffset;
60 }
61 
63 {
64  if ( size < 0 )
65  return;
66  mPointCount = size;
67  mStorage.resize( size * mAttributes.pointRecordSize() );
68 }
QgsPointCloudBlock::QgsPointCloudBlock
QgsPointCloudBlock(int count, const QgsPointCloudAttributeCollection &attributes, const QByteArray &data, const QgsVector3D &scale, const QgsVector3D &offset)
Ctor.
Definition: qgspointcloudblock.cpp:23
QgsPointCloudBlock::data
const char * data() const
Returns raw pointer to data.
Definition: qgspointcloudblock.cpp:37
QgsVector3D
Class for storage of 3D vectors similar to QVector3D, with the difference that it uses double precisi...
Definition: qgsvector3d.h:31
QgsPointCloudBlock::attributes
QgsPointCloudAttributeCollection attributes() const
Returns the attributes that are stored in the data block, along with their size.
Definition: qgspointcloudblock.cpp:47
QgsPointCloudBlock::setPointCount
void setPointCount(int size)
Changes the number of points in the block.
Definition: qgspointcloudblock.cpp:62
qgis.h
qgspointcloudattribute.h
QgsPointCloudBlock::pointCount
int pointCount() const
Returns number of points that are stored in the block.
Definition: qgspointcloudblock.cpp:42
QgsPointCloudAttributeCollection::pointRecordSize
int pointRecordSize() const
Returns total size of record.
Definition: qgspointcloudattribute.h:187
QgsPointCloudAttributeCollection
Collection of point cloud attributes.
Definition: qgspointcloudattribute.h:141
QgsPointCloudBlock::offset
QgsVector3D offset() const
Returns the custom offset of the block.
Definition: qgspointcloudblock.cpp:57
qgspointcloudblock.h
QgsPointCloudBlock::scale
QgsVector3D scale() const
Returns the custom scale of the block.
Definition: qgspointcloudblock.cpp:52