File indexing completed on 2025-01-18 10:04:34
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016 #ifndef OpenGl_LineAttributes_HeaderFile
0017 #define OpenGl_LineAttributes_HeaderFile
0018
0019 #include <OpenGl_Resource.hxx>
0020
0021 #include <Graphic3d_HatchStyle.hxx>
0022 #include <NCollection_DataMap.hxx>
0023
0024 typedef NCollection_DataMap<Handle(Graphic3d_HatchStyle), unsigned int> OpenGl_MapOfHatchStylesAndIds;
0025
0026 class OpenGl_Context;
0027
0028 DEFINE_STANDARD_HANDLE(OpenGl_LineAttributes, OpenGl_Resource)
0029
0030
0031
0032 class OpenGl_LineAttributes : public OpenGl_Resource
0033 {
0034 DEFINE_STANDARD_RTTIEXT(OpenGl_LineAttributes, OpenGl_Resource)
0035 public:
0036
0037
0038 Standard_EXPORT OpenGl_LineAttributes();
0039
0040
0041 Standard_EXPORT virtual ~OpenGl_LineAttributes();
0042
0043
0044 Standard_EXPORT virtual void Release (OpenGl_Context* theGlCtx) Standard_OVERRIDE;
0045
0046
0047 virtual Standard_Size EstimatedDataSize() const Standard_OVERRIDE { return 0; }
0048
0049
0050 Standard_EXPORT bool SetTypeOfHatch (const OpenGl_Context* theGlCtx,
0051 const Handle(Graphic3d_HatchStyle)& theStyle);
0052
0053 private:
0054
0055 unsigned int init (const OpenGl_Context* theGlCtx,
0056 const Handle(Graphic3d_HatchStyle)& theStyle);
0057
0058 protected:
0059
0060 OpenGl_MapOfHatchStylesAndIds myStyles;
0061
0062 };
0063
0064 #endif