16 #ifndef QGSMESH3DSYMBOL_H
17 #define QGSMESH3DSYMBOL_H
26 #include <Qt3DRender/QCullFace>
79 QString
type()
const override {
return "mesh"; }
90 bool isEnabled() const;
97 void setEnabled(
bool enabled );
100 Qgs3DTypes::AltitudeClamping altitudeClamping()
const {
return mAltClamping; }
134 bool smoothedTriangles()
const;
141 void setSmoothedTriangles(
bool smoothTriangles );
148 bool wireframeEnabled()
const;
155 void setWireframeEnabled(
bool wireframeEnabled );
162 double wireframeLineWidth()
const;
169 void setWireframeLineWidth(
double wireframeLineWidth );
176 QColor wireframeLineColor()
const;
183 void setWireframeLineColor(
const QColor &wireframeLineColor );
190 double verticalScale()
const;
197 void setVerticalScale(
double verticalScale );
218 QColor singleMeshColor()
const;
225 void setSingleMeshColor(
const QColor &singleMeshColor );
246 int verticalDatasetGroupIndex()
const;
253 void setVerticalDatasetGroupIndex(
int verticalDatasetGroupIndex );
260 bool isVerticalMagnitudeRelative()
const;
267 void setIsVerticalMagnitudeRelative(
bool isVerticalMagnitudeRelative );
274 bool arrowsEnabled()
const;
281 void setArrowsEnabled(
bool arrowsEnabled );
288 double arrowsSpacing()
const;
295 void setArrowsSpacing(
double arrowsSpacing );
304 int maximumTextureSize()
const;
313 void setMaximumTextureSize(
int maximumTextureSize );
320 bool arrowsFixedSize()
const;
327 void setArrowsFixedSize(
bool arrowsFixedSize );
335 int levelOfDetailIndex()
const;
343 void setLevelOfDetailIndex(
int lod );
349 float mHeight = 0.0f;
350 std::unique_ptr< QgsAbstractMaterialSettings > mMaterial;
351 bool mAddBackFaces =
false;
353 bool mEnabled =
true;
356 bool mSmoothedTriangles =
false;
357 bool mWireframeEnabled =
false;
358 double mWireframeLineWidth = 1.0;
359 QColor mWireframeLineColor = Qt::darkGray;
360 int mLevelOfDetailIndex = 0;
363 double mVerticalScale = 1.0;
364 int mVerticalDatasetGroupIndex = -1;
365 bool mIsVerticalMagnitudeRelative =
false;
370 QColor mSingleColor = Qt::darkGreen;
373 bool mArrowsEnabled =
false;
374 double mArrowsSpacing = 25;
375 bool mArrowsFixedSize =
false;
376 QColor mArrowsColor = Qt::yellow;
377 int mMaximumTextureSize = 1024;
AltitudeClamping
how to handle altitude of vector features
@ AltClampRelative
Z_final = z_terrain + z_geometry.
virtual QgsAbstract3DSymbol * clone() const =0
Returns a new instance of the symbol with the same settings.
A ramp shader will color a raster pixel based on a list of values ranges in a ramp.
ZValueType
How to render the Z value of the mesh.
void setAddBackFaces(bool add)
Sets whether also triangles facing the other side will be created.
void setAltitudeClamping(Qgs3DTypes::AltitudeClamping altClamping)
Sets method that determines altitude (whether to clamp to feature to terrain)
QString type() const override
Returns identifier of symbol type. Each 3D symbol implementation should return a different type.
void setHeight(float height)
Sets height (altitude) of the symbol (in map units)
bool addBackFaces() const
Returns whether also triangles facing the other side will be created.
float height() const
Returns height (altitude) of the symbol (in map units)
~QgsMesh3DSymbol() override
RenderingStyle
How to render the color of the mesh.
@ ColorRamp
Render the mesh with a color ramp.
@ SingleColor
Render the mesh with a single color.
The class is used as a container of context for various read/write operations on other objects.