summaryrefslogtreecommitdiffstats
path: root/src/render/backend/trianglesvisitor_p.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/render/backend/trianglesvisitor_p.h')
-rw-r--r--src/render/backend/trianglesvisitor_p.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/render/backend/trianglesvisitor_p.h b/src/render/backend/trianglesvisitor_p.h
index 5f7cff9c0..9428857ac 100644
--- a/src/render/backend/trianglesvisitor_p.h
+++ b/src/render/backend/trianglesvisitor_p.h
@@ -52,6 +52,10 @@
//
#include <Qt3DCore/qnodeid.h>
+#include <Qt3DRender/QAttribute>
+#include <Qt3DRender/private/bufferutils_p.h>
+
+#include <private/qt3drender_global_p.h>
QT_BEGIN_NAMESPACE
@@ -65,6 +69,8 @@ namespace Render {
class GeometryRenderer;
class NodeManagers;
+class Attribute;
+class Buffer;
class Q_AUTOTEST_EXPORT TrianglesVisitor
{
@@ -84,6 +90,27 @@ protected:
Qt3DCore::QNodeId m_nodeId;
};
+class QT3DRENDERSHARED_PRIVATE_EXPORT CoordinateReader
+{
+public:
+ explicit CoordinateReader(NodeManagers *manager)
+ : m_manager(manager)
+ , m_attribute(nullptr)
+ , m_buffer(nullptr)
+ {
+ }
+
+ bool setGeometry(const GeometryRenderer *renderer, const QString &attributeName);
+
+ QVector4D getCoordinate(uint vertexIndex);
+
+protected:
+ NodeManagers *m_manager;
+ Attribute *m_attribute;
+ Buffer *m_buffer;
+ BufferInfo m_bufferInfo;
+};
+
} // namespace Render
} // namespace Qt3DRender