16 #ifndef QGSPOINTCLOUD3DSYMBOL_H
17 #define QGSPOINTCLOUD3DSYMBOL_H
21 #include <Qt3DRender/QMaterial>
64 QString
type()
const override {
return "pointcloud"; }
69 virtual QString symbolType()
const = 0;
75 float pointSize()
const {
return mPointSize; }
81 void setPointSize(
float size );
84 virtual unsigned int byteStride() = 0;
86 virtual void fillMaterial( Qt3DRender::QMaterial *material ) = 0
SIP_SKIP;
93 bool renderAsTriangles()
const;
100 void setRenderAsTriangles(
bool asTriangles );
108 bool horizontalTriangleFilter()
const;
116 void setHorizontalTriangleFilter(
bool horizontalTriangleFilter );
124 float horizontalFilterThreshold()
const;
132 void setHorizontalFilterThreshold(
float horizontalFilterThreshold );
140 bool verticalTriangleFilter()
const;
148 void setVerticalTriangleFilter(
bool verticalTriangleFilter );
156 float verticalFilterThreshold()
const;
164 void setVerticalFilterThreshold(
float verticalFilterThreshold );
169 float mPointSize = 3.0;
170 bool mRenderAsTriangles =
false;
171 bool mHorizontalTriangleFilter =
false;
172 float mHorizontalFilterThreshold = 10.0;
173 bool mVerticalTriangleFilter =
false;
174 float mVerticalFilterThreshold = 10.0;
222 void setSingleColor( QColor color );
224 unsigned int byteStride()
override {
return 3 *
sizeof( float ); }
229 QColor mSingleColor = QColor( 0, 0, 255 );
257 QString attribute()
const;
263 void setAttribute(
const QString &attribute );
293 void setColorRampShaderMinMax(
double min,
double max );
295 unsigned int byteStride()
override {
return 4 *
sizeof( float ); }
299 QString mRenderingParameter;
301 double mColorRampShaderMin = 0.0;
302 double mColorRampShaderMax = 1.0;
332 unsigned int byteStride()
override {
return 6 *
sizeof( float ); }
342 QString redAttribute()
const;
351 void setRedAttribute(
const QString &attribute );
360 QString greenAttribute()
const;
369 void setGreenAttribute(
const QString &attribute );
378 QString blueAttribute()
const;
387 void setBlueAttribute(
const QString &attribute );
455 QString mRedAttribute = QStringLiteral(
"Red" );
456 QString mGreenAttribute = QStringLiteral(
"Green" );
457 QString mBlueAttribute = QStringLiteral(
"Blue" );
459 std::unique_ptr< QgsContrastEnhancement > mRedContrastEnhancement;
460 std::unique_ptr< QgsContrastEnhancement > mGreenContrastEnhancement;
461 std::unique_ptr< QgsContrastEnhancement > mBlueContrastEnhancement;
490 QString attribute()
const;
496 void setAttribute(
const QString &attribute );
516 unsigned int byteStride()
override {
return 4 *
sizeof( float ); }
520 QString mRenderingParameter;
526 #endif // QGSPOINTCLOUD3DSYMBOL_H