74 bool parseVectorLayerEntity( Qt3DCore::QEntity *entity,
QgsVectorLayer *layer );
77 void parseTerrain( QgsTerrainEntity *terrain,
const QString &layer );
80 void save(
const QString &sceneName,
const QString &sceneFolderPath,
int precision = 6 );
109 float scale()
const {
return mScale; }
113 QVector<Qgs3DExportObject *> processInstancedPointGeometry( Qt3DCore::QEntity *entity,
const QString &objectNamePrefix );
115 QVector<Qgs3DExportObject *> processSceneLoaderGeometries( Qt3DRender::QSceneLoader *sceneLoader,
const QString &objectNamePrefix );
117 Qgs3DExportObject *processGeometryRenderer( Qt3DRender::QGeometryRenderer *mesh,
const QString &objectNamePrefix,
const QMatrix4x4 &sceneTransform = QMatrix4x4() );
119 void processEntityMaterial( Qt3DCore::QEntity *entity,
Qgs3DExportObject *
object );
121 QVector<Qgs3DExportObject *> processLines( Qt3DCore::QEntity *entity,
const QString &objectNamePrefix );
123 Qgs3DExportObject *processPoints( Qt3DCore::QEntity *entity,
const QString &objectNamePrefix );
126 QgsTerrainTileEntity *getFlatTerrainEntity( QgsTerrainEntity *terrain, QgsChunkNode *node );
128 QgsTerrainTileEntity *getDemTerrainEntity( QgsTerrainEntity *terrain, QgsChunkNode *node );
130 QgsTerrainTileEntity *getMeshTerrainEntity( QgsTerrainEntity *terrain, QgsChunkNode *node );
133 void parseDemTile( QgsTerrainTileEntity *tileEntity,
const QString &layerName );
135 void parseFlatTile( QgsTerrainTileEntity *tileEntity,
const QString &layerName );
137 void parseMeshTile( QgsTerrainTileEntity *meshEntity,
const QString &layerName );
139 QString getObjectName(
const QString &name );
141 QMap<QString, int> usedObjectNamesCounter;
142 QVector<Qgs3DExportObject *> mObjects;
144 bool mSmoothEdges =
false;
145 int mTerrainResolution = 128;
146 bool mExportNormals =
true;
147 bool mExportTextures =
false;
148 int mTerrainTextureResolution = 512;
151 QSet<QgsFeatureId> mExportedFeatureIds;
156 friend TestQgs3DRendering;