73 bool parseVectorLayerEntity( Qt3DCore::QEntity *entity,
QgsVectorLayer *layer );
76 void parseTerrain( QgsTerrainEntity *terrain,
const QString &layer );
79 void save(
const QString &sceneName,
const QString &sceneFolderPath,
int precision = 6 );
108 float scale()
const {
return mScale; }
112 QVector<Qgs3DExportObject *> processInstancedPointGeometry( Qt3DCore::QEntity *entity,
const QString &objectNamePrefix );
114 QVector<Qgs3DExportObject *> processSceneLoaderGeometries( Qt3DRender::QSceneLoader *sceneLoader,
const QString &objectNamePrefix );
116 Qgs3DExportObject *processGeometryRenderer( Qt3DRender::QGeometryRenderer *mesh,
const QString &objectNamePrefix,
float sceneScale = 1.0f, QVector3D sceneTranslation = QVector3D( 0.0f, 0.0f, 0.0f ) );
118 void processEntityMaterial( Qt3DCore::QEntity *entity,
Qgs3DExportObject *
object );
120 QVector<Qgs3DExportObject *> processLines( Qt3DCore::QEntity *entity,
const QString &objectNamePrefix );
122 Qgs3DExportObject *processPoints( Qt3DCore::QEntity *entity,
const QString &objectNamePrefix );
125 QgsTerrainTileEntity *getFlatTerrainEntity( QgsTerrainEntity *terrain, QgsChunkNode *node );
127 QgsTerrainTileEntity *getDemTerrainEntity( QgsTerrainEntity *terrain, QgsChunkNode *node );
129 QgsTerrainTileEntity *getMeshTerrainEntity( QgsTerrainEntity *terrain, QgsChunkNode *node );
132 void parseDemTile( QgsTerrainTileEntity *tileEntity,
const QString &layerName );
134 void parseFlatTile( QgsTerrainTileEntity *tileEntity,
const QString &layerName );
136 void parseMeshTile( QgsTerrainTileEntity *meshEntity,
const QString &layerName );
138 QString getObjectName(
const QString &name );
140 QMap<QString, int> usedObjectNamesCounter;
141 QVector<Qgs3DExportObject *> mObjects;
143 bool mSmoothEdges =
false;
144 int mTerrainResolution = 128;
145 bool mExportNormals =
true;
146 bool mExportTextures =
false;
147 int mTerrainTextureResolution = 512;
150 QSet<QgsFeatureId> mExportedFeatureIds;
155 friend TestQgs3DRendering;