16#ifndef QGSDEMTERRAINTILEGEOMETRY_P_H 
   17#define QGSDEMTERRAINTILEGEOMETRY_P_H 
   32#include <Qt3DExtras/qt3dextras_global.h> 
   33#if QT_VERSION < QT_VERSION_CHECK( 6, 0, 0 ) 
   34#include <Qt3DRender/QGeometry> 
   36#include <Qt3DCore/QGeometry> 
   42#if QT_VERSION < QT_VERSION_CHECK( 6, 0, 0 ) 
   65#if QT_VERSION < QT_VERSION_CHECK( 6, 0, 0 ) 
   66class DemTerrainTileGeometry : 
public Qt3DRender::QGeometry
 
   68class DemTerrainTileGeometry : 
public Qt3DCore::QGeometry
 
   78    explicit DemTerrainTileGeometry( 
int resolution, 
float side, 
float vertScale, 
float skirtHeight, 
const QByteArray &heightMap, QNode *parent = 
nullptr );
 
   80    bool rayIntersection( 
const QgsRayCastingUtils::Ray3D &ray, 
const QMatrix4x4 &worldTransform, QVector3D &intersectionPoint );
 
   82#if QT_VERSION < QT_VERSION_CHECK( 6, 0, 0 ) 
   83    Qt3DRender::QAttribute *positionAttribute() { 
return mPositionAttribute; }
 
   84    Qt3DRender::QAttribute *normalAttribute() { 
return mNormalAttribute; }
 
   85    Qt3DRender::QAttribute *texCoordsAttribute() { 
return mTexCoordAttribute; }
 
   86    Qt3DRender::QAttribute *indexAttribute() { 
return mIndexAttribute; }
 
   88    Qt3DCore::QAttribute *positionAttribute() { 
return mPositionAttribute; }
 
   89    Qt3DCore::QAttribute *normalAttribute() { 
return mNormalAttribute; }
 
   90    Qt3DCore::QAttribute *texCoordsAttribute() { 
return mTexCoordAttribute; }
 
   91    Qt3DCore::QAttribute *indexAttribute() { 
return mIndexAttribute; }
 
  101    QByteArray mHeightMap;
 
  102#if QT_VERSION < QT_VERSION_CHECK( 6, 0, 0 ) 
  103    Qt3DRender::QAttribute *mPositionAttribute = 
nullptr;
 
  104    Qt3DRender::QAttribute *mNormalAttribute = 
nullptr;
 
  105    Qt3DRender::QAttribute *mTexCoordAttribute = 
nullptr;
 
  106    Qt3DRender::QAttribute *mIndexAttribute = 
nullptr;
 
  107    Qt3DRender::QBuffer *mVertexBuffer = 
nullptr;
 
  108    Qt3DRender::QBuffer *mIndexBuffer = 
nullptr;
 
  110    Qt3DCore::QAttribute *mPositionAttribute = 
nullptr;
 
  111    Qt3DCore::QAttribute *mNormalAttribute = 
nullptr;
 
  112    Qt3DCore::QAttribute *mTexCoordAttribute = 
nullptr;
 
  113    Qt3DCore::QAttribute *mIndexAttribute = 
nullptr;
 
  114    Qt3DCore::QBuffer *mVertexBuffer = 
nullptr;
 
  115    Qt3DCore::QBuffer *mIndexBuffer = 
nullptr;