#include <OpenGl_FrameStats.hxx>
#include <OpenGl_Text.hxx>
+class Graphic3d_ArrayOfTriangles;
class Graphic3d_TransformPers;
+class OpenGl_IndexBuffer;
+class OpenGl_VertexBuffer;
//! Element rendering frame statistics.
-class OpenGl_FrameStatsPrs : public OpenGl_Text
+class OpenGl_FrameStatsPrs : public OpenGl_Element
{
public:
protected:
- OpenGl_AspectText myTextAspect; //!< text aspect
- Handle(Graphic3d_TransformPers) myTrsfPers; //!< transformation persistence
- Handle(OpenGl_FrameStats) myStatsPrev; //!< currently displayed stats
+ //! Update chart presentation.
+ Standard_EXPORT void updateChart (const Handle(OpenGl_Workspace)& theWorkspace);
+
+protected:
+
+ Handle(OpenGl_FrameStats) myStatsPrev; //!< currently displayed stats
+ Handle(Graphic3d_TransformPers) myCountersTrsfPers; //!< transformation persistence for counters presentation
+ OpenGl_Text myCountersText; //!< counters presentation
+ OpenGl_Aspects myTextAspect; //!< text aspect
+ Handle(Graphic3d_TransformPers) myChartTrsfPers; //!< transformation persistence for chart presentation
+ Handle(Graphic3d_ArrayOfTriangles) myChartArray; //!< array of chart triangles
+ Handle(OpenGl_VertexBuffer) myChartVertices; //!< VBO with chart triangles
+ Handle(OpenGl_IndexBuffer) myChartIndices; //!< VBO with chart triangle indexes
+ Handle(OpenGl_VertexBuffer) myChartLines; //!< array of chart lines
+ OpenGl_Text myChartLabels[3]; //!< chart labels
};