74 bool parseVectorLayerEntity( Qt3DCore::QEntity *entity,
QgsVectorLayer *layer );
77 void parseTerrain( QgsTerrainEntity *terrain,
const QString &layer );
83 bool save(
const QString &sceneName,
const QString &sceneFolderPath,
int precision = 6 );
112 float scale()
const {
return mScale; }
116 QVector<Qgs3DExportObject *> processInstancedPointGeometry( Qt3DCore::QEntity *entity,
const QString &objectNamePrefix );
118 QVector<Qgs3DExportObject *> processSceneLoaderGeometries( Qt3DRender::QSceneLoader *sceneLoader,
const QString &objectNamePrefix );
120 Qgs3DExportObject *processGeometryRenderer( Qt3DRender::QGeometryRenderer *mesh,
const QString &objectNamePrefix,
const QMatrix4x4 &sceneTransform = QMatrix4x4() );
122 void processEntityMaterial( Qt3DCore::QEntity *entity,
Qgs3DExportObject *
object );
124 QVector<Qgs3DExportObject *> processLines( Qt3DCore::QEntity *entity,
const QString &objectNamePrefix );
126 Qgs3DExportObject *processPoints( Qt3DCore::QEntity *entity,
const QString &objectNamePrefix );
129 QgsTerrainTileEntity *getFlatTerrainEntity( QgsTerrainEntity *terrain, QgsChunkNode *node );
131 QgsTerrainTileEntity *getDemTerrainEntity( QgsTerrainEntity *terrain, QgsChunkNode *node );
133 QgsTerrainTileEntity *getMeshTerrainEntity( QgsTerrainEntity *terrain, QgsChunkNode *node );
136 void parseDemTile( QgsTerrainTileEntity *tileEntity,
const QString &layerName );
138 void parseFlatTile( QgsTerrainTileEntity *tileEntity,
const QString &layerName );
140 void parseMeshTile( QgsTerrainTileEntity *meshEntity,
const QString &layerName );
142 QString getObjectName(
const QString &name );
145 QMap<QString, int> usedObjectNamesCounter;
146 QVector<Qgs3DExportObject *> mObjects;
148 bool mSmoothEdges =
false;
149 int mTerrainResolution = 128;
150 bool mExportNormals =
true;
151 bool mExportTextures =
false;
152 int mTerrainTextureResolution = 512;
155 QSet<QgsFeatureId> mExportedFeatureIds;
160 friend TestQgs3DRendering;