File indexing completed on 2025-01-18 10:04:21
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014 #ifndef _OpenGl_FrameStatsPrs_HeaderFile
0015 #define _OpenGl_FrameStatsPrs_HeaderFile
0016
0017 #include <OpenGl_Aspects.hxx>
0018 #include <OpenGl_FrameStats.hxx>
0019 #include <OpenGl_Text.hxx>
0020
0021 class Graphic3d_ArrayOfTriangles;
0022 class Graphic3d_TransformPers;
0023 class OpenGl_IndexBuffer;
0024 class OpenGl_VertexBuffer;
0025
0026
0027 class OpenGl_FrameStatsPrs : public OpenGl_Element
0028 {
0029 public:
0030
0031
0032 Standard_EXPORT OpenGl_FrameStatsPrs();
0033
0034
0035 Standard_EXPORT virtual ~OpenGl_FrameStatsPrs();
0036
0037
0038 Standard_EXPORT virtual void Render (const Handle(OpenGl_Workspace)& theWorkspace) const Standard_OVERRIDE;
0039
0040
0041 Standard_EXPORT virtual void Release (OpenGl_Context* theCtx) Standard_OVERRIDE;
0042
0043
0044 Standard_EXPORT void Update (const Handle(OpenGl_Workspace)& theWorkspace);
0045
0046
0047 void SetTextAspect (const Handle(Graphic3d_AspectText3d)& theAspect) { myTextAspect.SetAspect (theAspect); }
0048
0049
0050 Standard_EXPORT virtual void DumpJson (Standard_OStream& theOStream, Standard_Integer theDepth = -1) const Standard_OVERRIDE;
0051
0052 protected:
0053
0054
0055 Standard_EXPORT void updateChart (const Handle(OpenGl_Workspace)& theWorkspace);
0056
0057 protected:
0058
0059 Handle(OpenGl_FrameStats) myStatsPrev;
0060 Handle(Graphic3d_TransformPers) myCountersTrsfPers;
0061 OpenGl_Text myCountersText;
0062 OpenGl_Aspects myTextAspect;
0063 Handle(Graphic3d_TransformPers) myChartTrsfPers;
0064 Handle(Graphic3d_ArrayOfTriangles) myChartArray;
0065 Handle(OpenGl_VertexBuffer) myChartVertices;
0066 Handle(OpenGl_IndexBuffer) myChartIndices;
0067 Handle(OpenGl_VertexBuffer) myChartLines;
0068 OpenGl_Text myChartLabels[3];
0069
0070 };
0071
0072 #endif