16 #ifndef QGSPOINTCLOUD3DSYMBOL_H
17 #define QGSPOINTCLOUD3DSYMBOL_H
21 #include <Qt3DRender/QMaterial>
62 QString
type()
const override {
return "pointcloud"; }
79 void setPointSize(
float size );
87 float mPointSize = 2.0;
105 QString symbolType()
const override;
121 void setSingleColor( QColor color );
123 unsigned int byteStride()
override {
return 3 *
sizeof( float ); }
124 void fillMaterial( Qt3DRender::QMaterial *material )
override SIP_SKIP;
128 QColor mSingleColor = QColor( 0, 0, 255 );
147 QString symbolType()
const override;
156 QString attribute()
const;
162 void setAttribute(
const QString &attribute );
192 void setColorRampShaderMinMax(
double min,
double max );
194 unsigned int byteStride()
override {
return 4 *
sizeof( float ); }
195 void fillMaterial( Qt3DRender::QMaterial *material )
override SIP_SKIP;
198 QString mRenderingParameter;
200 double mColorRampShaderMin = 0.0;
201 double mColorRampShaderMax = 1.0;
225 QString symbolType()
const override;
231 unsigned int byteStride()
override {
return 6 *
sizeof( float ); }
232 void fillMaterial( Qt3DRender::QMaterial *material )
override SIP_SKIP;
241 QString redAttribute()
const;
250 void setRedAttribute(
const QString &attribute );
259 QString greenAttribute()
const;
268 void setGreenAttribute(
const QString &attribute );
277 QString blueAttribute()
const;
286 void setBlueAttribute(
const QString &attribute );
354 QString mRedAttribute = QStringLiteral(
"Red" );
355 QString mGreenAttribute = QStringLiteral(
"Green" );
356 QString mBlueAttribute = QStringLiteral(
"Blue" );
358 std::unique_ptr< QgsContrastEnhancement > mRedContrastEnhancement;
359 std::unique_ptr< QgsContrastEnhancement > mGreenContrastEnhancement;
360 std::unique_ptr< QgsContrastEnhancement > mBlueContrastEnhancement;
380 QString symbolType()
const override;
389 QString attribute()
const;
395 void setAttribute(
const QString &attribute );
415 unsigned int byteStride()
override {
return 4 *
sizeof( float ); }
416 void fillMaterial( Qt3DRender::QMaterial *material )
override SIP_SKIP;
419 QString mRenderingParameter;
virtual void readXml(const QDomElement &elem, const QgsReadWriteContext &context)=0
Reads symbol configuration from the given DOM element.
virtual QgsAbstract3DSymbol * clone() const =0
Returns a new instance of the symbol with the same settings.
virtual void writeXml(QDomElement &elem, const QgsReadWriteContext &context) const =0
Writes symbol configuration to the given DOM element.
QgsPointCloudCategoryList categoriesList() const
Returns the list of categories of the classification.
unsigned int byteStride() override
Returns the byte stride for the geometries used to for the vertex buffer.
double colorRampShaderMin() const
Returns the minimum value used when classifying colors in the color ramp shader.
double colorRampShaderMax() const
Returns the maximum value used when classifying colors in the color ramp shader.
unsigned int byteStride() override
Returns the byte stride for the geometries used to for the vertex buffer.
A ramp shader will color a raster pixel based on a list of values ranges in a ramp.
Manipulates raster or point cloud pixel values so that they enhanceContrast or clip into a specified ...
virtual unsigned int byteStride()=0
Returns the byte stride for the geometries used to for the vertex buffer.
virtual QString symbolType() const =0
Returns a unique string identifier of the symbol type.
virtual void fillMaterial(Qt3DRender::QMaterial *material)=0SIP_SKIP
Used to fill material object with necessary QParameters (and consequently opengl uniforms)
float pointSize() const
Returns the point size of the point cloud.
RenderingStyle
How to render the point cloud.
@ SingleColor
Render the point cloud with a single color.
@ ColorRamp
Render the point cloud with a color ramp.
QString type() const override
The class is used as a container of context for various read/write operations on other objects.
QgsRgbPointCloud3DSymbol(const QgsRgbPointCloud3DSymbol &other)=delete
QgsRgbPointCloud3DSymbol cannot be copied - use clone() instead.
QgsRgbPointCloud3DSymbol & operator=(const QgsRgbPointCloud3DSymbol &other)=delete
QgsRgbPointCloud3DSymbol cannot be copied - use clone() instead.
unsigned int byteStride() override
Returns the byte stride for the geometries used to for the vertex buffer.
QColor singleColor() const
Returns the color used by the renderer when using SingleColor rendering mode.
QList< QgsPointCloudCategory > QgsPointCloudCategoryList