16#ifndef QGSPOINTCLOUD3DSYMBOL_H 
   17#define QGSPOINTCLOUD3DSYMBOL_H 
   61    QString 
type()
 const override { 
return "pointcloud"; }
 
   78    void setPointSize( 
float size );
 
   90    bool renderAsTriangles() 
const;
 
   97    void setRenderAsTriangles( 
bool asTriangles );
 
  105    bool horizontalTriangleFilter() 
const;
 
  113    void setHorizontalTriangleFilter( 
bool horizontalTriangleFilter );
 
  121    float horizontalFilterThreshold() 
const;
 
  129    void setHorizontalFilterThreshold( 
float horizontalFilterThreshold );
 
  137    bool verticalTriangleFilter() 
const;
 
  145    void setVerticalTriangleFilter( 
bool verticalTriangleFilter );
 
  153    float verticalFilterThreshold() 
const;
 
  161    void setVerticalFilterThreshold( 
float verticalFilterThreshold );
 
  166    float mPointSize = 3.0;
 
  167    bool mRenderAsTriangles = 
false;
 
  168    bool mHorizontalTriangleFilter = 
false;
 
  169    float mHorizontalFilterThreshold = 10.0;
 
  170    bool mVerticalTriangleFilter = 
false;
 
  171    float mVerticalFilterThreshold = 10.0;
 
 
  202    QString symbolType() 
const override;
 
  218    void setSingleColor( QColor color );
 
  220    unsigned int byteStride()
 override { 
return 3 * 
sizeof( float ); }
 
  225    QColor mSingleColor = QColor( 0, 0, 255 );
 
 
  243    QString symbolType() 
const override;
 
  252    QString attribute() 
const;
 
  258    void setAttribute( 
const QString &attribute );
 
  289    void setColorRampShaderMinMax( 
double min, 
double max );
 
  291    unsigned int byteStride()
 override { 
return 4 * 
sizeof( float ); }
 
  295    QString mRenderingParameter;
 
  297    double mColorRampShaderMin = 0.0;
 
  298    double mColorRampShaderMax = 1.0;
 
 
  321    QString symbolType() 
const override;
 
  327    unsigned int byteStride()
 override { 
return 6 * 
sizeof( float ); }
 
  337    QString redAttribute() 
const;
 
  346    void setRedAttribute( 
const QString &attribute );
 
  355    QString greenAttribute() 
const;
 
  364    void setGreenAttribute( 
const QString &attribute );
 
  373    QString blueAttribute() 
const;
 
  382    void setBlueAttribute( 
const QString &attribute );
 
  449    QString mRedAttribute = QStringLiteral( 
"Red" );
 
  450    QString mGreenAttribute = QStringLiteral( 
"Green" );
 
  451    QString mBlueAttribute = QStringLiteral( 
"Blue" );
 
  453    std::unique_ptr<QgsContrastEnhancement> mRedContrastEnhancement;
 
  454    std::unique_ptr<QgsContrastEnhancement> mGreenContrastEnhancement;
 
  455    std::unique_ptr<QgsContrastEnhancement> mBlueContrastEnhancement;
 
 
  473    QString symbolType() 
const override;
 
  482    QString attribute() 
const;
 
  488    void setAttribute( 
const QString &attribute );
 
  509    unsigned int byteStride()
 override { 
return 5 * 
sizeof( float ); }
 
  513    QString mRenderingParameter;
 
 
Abstract base class for 3D symbols that are used by VectorLayer3DRenderer objects.
 
virtual void copyBaseSettings(QgsAbstract3DSymbol *destination) const
Copies base class settings from this object to a destination object.
 
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.
 
3D symbol that draws point cloud geometries as 3D objects using classification of the dataset.
 
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.
 
3D symbol that draws point cloud geometries as 3D objects using color ramp shader.
 
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.
 
Handles contrast enhancement and clipping.
 
Base class for all materials used within QGIS 3D views.
 
3D symbol that draws point cloud geometries as 3D objects.
 
virtual void fillMaterial(QgsMaterial *material)=0SIP_SKIP
Used to fill material object with necessary QParameters (and consequently opengl uniforms)
 
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.
 
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.
 
@ RgbRendering
Render the RGB colors of the point cloud.
 
QString type() const override
 
A container for the context for various read/write operations on objects.
 
3D symbol that draws point cloud geometries as 3D objects using RGB colors in the dataset.
 
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.
 
3D symbol that draws point cloud geometries as 3D objects using one color.
 
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