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