75 bool parseVectorLayerEntity( Qt3DCore::QEntity *entity,
QgsVectorLayer *layer );
78 void parseTerrain( QgsTerrainEntity *terrain,
const QString &layer );
84 bool save(
const QString &sceneName,
const QString &sceneFolderPath,
int precision = 6 )
const;
113 float scale()
const {
return mScale; }
117 QVector<Qgs3DExportObject *> processInstancedPointGeometry( Qt3DCore::QEntity *entity,
const QString &objectNamePrefix );
119 QVector<Qgs3DExportObject *> processSceneLoaderGeometries( Qt3DRender::QSceneLoader *sceneLoader,
const QString &objectNamePrefix );
121 Qgs3DExportObject *processGeometryRenderer( Qt3DRender::QGeometryRenderer *mesh,
const QString &objectNamePrefix,
const QMatrix4x4 &sceneTransform = QMatrix4x4() );
123 void processEntityMaterial( Qt3DCore::QEntity *entity,
Qgs3DExportObject *
object )
const;
125 QVector<Qgs3DExportObject *> processLines( Qt3DCore::QEntity *entity,
const QString &objectNamePrefix );
127 Qgs3DExportObject *processPoints( Qt3DCore::QEntity *entity,
const QString &objectNamePrefix );
130 QgsTerrainTileEntity *getFlatTerrainEntity( QgsTerrainEntity *terrain, QgsChunkNode *node,
const QgsVector3D &mapOrigin );
132 QgsTerrainTileEntity *getDemTerrainEntity( QgsTerrainEntity *terrain, QgsChunkNode *node,
const QgsVector3D &mapOrigin );
134 QgsTerrainTileEntity *getMeshTerrainEntity( QgsTerrainEntity *terrain, QgsChunkNode *node,
const QgsVector3D &mapOrigin );
137 void parseDemTile( QgsTerrainTileEntity *tileEntity,
const QString &layerName );
139 void parseFlatTile( QgsTerrainTileEntity *tileEntity,
const QString &layerName );
141 void parseMeshTile( QgsTerrainTileEntity *meshEntity,
const QString &layerName );
143 QString getObjectName(
const QString &name );
146 QMap<QString, int> mUsedObjectNamesCounter;
147 QVector<Qgs3DExportObject *> mObjects;
149 bool mSmoothEdges =
false;
150 int mTerrainResolution = 128;
151 bool mExportNormals =
true;
152 bool mExportTextures =
false;
153 int mTerrainTextureResolution = 512;
156 QSet<QgsFeatureId> mExportedFeatureIds;
161 friend TestQgs3DExporter;