16#ifndef QGSMESH3DSYMBOL_H
17#define QGSMESH3DSYMBOL_H
25#include <Qt3DRender/QCullFace>
68 QString
type()
const override {
return "mesh"; }
79 bool isEnabled() const;
86 void setEnabled(
bool enabled );
100 void setCullingMode( const
Qgs3DTypes::CullingMode &mode );
103 Qgis::AltitudeClamping altitudeClamping()
const {
return mAltClamping; }
137 bool smoothedTriangles()
const;
144 void setSmoothedTriangles(
bool smoothTriangles );
151 bool wireframeEnabled()
const;
158 void setWireframeEnabled(
bool wireframeEnabled );
165 double wireframeLineWidth()
const;
172 void setWireframeLineWidth(
double wireframeLineWidth );
179 QColor wireframeLineColor()
const;
186 void setWireframeLineColor(
const QColor &wireframeLineColor );
193 double verticalScale()
const;
200 void setVerticalScale(
double verticalScale );
221 QColor singleMeshColor()
const;
228 void setSingleMeshColor(
const QColor &singleMeshColor );
249 int verticalDatasetGroupIndex()
const;
256 void setVerticalDatasetGroupIndex(
int verticalDatasetGroupIndex );
263 bool isVerticalMagnitudeRelative()
const;
270 void setIsVerticalMagnitudeRelative(
bool isVerticalMagnitudeRelative );
277 bool arrowsEnabled()
const;
284 void setArrowsEnabled(
bool arrowsEnabled );
291 double arrowsSpacing()
const;
298 void setArrowsSpacing(
double arrowsSpacing );
307 int maximumTextureSize()
const;
316 void setMaximumTextureSize(
int maximumTextureSize );
323 bool arrowsFixedSize()
const;
330 void setArrowsFixedSize(
bool arrowsFixedSize );
338 int levelOfDetailIndex()
const;
346 void setLevelOfDetailIndex(
int lod );
358 float mHeight = 0.0f;
359 std::unique_ptr<QgsAbstractMaterialSettings> mMaterialSettings;
360 bool mAddBackFaces =
false;
362 bool mEnabled =
true;
367 bool mSmoothedTriangles =
false;
368 bool mWireframeEnabled =
false;
369 double mWireframeLineWidth = 1.0;
370 QColor mWireframeLineColor = Qt::darkGray;
371 int mLevelOfDetailIndex = 0;
374 double mVerticalScale = 1.0;
375 int mVerticalDatasetGroupIndex = -1;
376 bool mIsVerticalMagnitudeRelative =
false;
381 QColor mSingleColor = Qt::darkGreen;
384 bool mArrowsEnabled =
false;
385 double mArrowsSpacing = 25;
386 bool mArrowsFixedSize =
false;
387 QColor mArrowsColor = Qt::yellow;
388 int mMaximumTextureSize = 1024;
Provides global constants and enumerations for use throughout the application.
AltitudeClamping
Altitude clamping.
@ Absolute
Elevation is taken directly from feature and is independent of terrain height (final elevation = feat...
Defines enumerations and other auxiliary types for QGIS 3D.
CullingMode
Triangle culling mode.
@ NoCulling
Will render both front and back faces of triangles.
Abstract base class for 3D symbols that are used by VectorLayer3DRenderer objects.
virtual QgsAbstract3DSymbol * clone() const =0
Returns a new instance of the symbol with the same settings.
Abstract base class for material settings.
A ramp shader will color a raster pixel based on a list of values ranges in a ramp.
3D symbol that draws mesh geometry as planar triangles.
void setAddBackFaces(bool add)
Sets whether also triangles facing the other side will be created.
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.
void setAltitudeClamping(Qgis::AltitudeClamping altClamping)
Sets method that determines altitude (whether to clamp to feature to terrain)
float height() const
Returns height (altitude) of the symbol (in map units)
ZValueType
How to render the Z value of the mesh.
RenderingStyle
How to render the color of the mesh.
@ SingleColor
Render the mesh with a single color.
~QgsMesh3DSymbol() override
A container for the context for various read/write operations on objects.
bool operator==(const QgsFeatureIterator &fi1, const QgsFeatureIterator &fi2)
bool operator!=(const QgsFeatureIterator &fi1, const QgsFeatureIterator &fi2)