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.