File indexing completed on 2026-07-15 08:26:37
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _V3d_CircularGrid_HeaderFile
0018 #define _V3d_CircularGrid_HeaderFile
0019
0020 #include <Standard.hxx>
0021
0022 #include <gp_Ax3.hxx>
0023 #include <V3d_ViewerPointer.hxx>
0024 #include <Standard_Boolean.hxx>
0025 #include <Standard_Real.hxx>
0026 #include <Standard_Integer.hxx>
0027 #include <Aspect_CircularGrid.hxx>
0028 class Graphic3d_Structure;
0029 class Graphic3d_Group;
0030
0031 class V3d_CircularGrid : public Aspect_CircularGrid
0032 {
0033 DEFINE_STANDARD_RTTIEXT(V3d_CircularGrid, Aspect_CircularGrid)
0034 public:
0035 Standard_EXPORT V3d_CircularGrid(const V3d_ViewerPointer& aViewer,
0036 const Quantity_Color& aColor,
0037 const Quantity_Color& aTenthColor);
0038
0039 Standard_EXPORT virtual ~V3d_CircularGrid();
0040
0041 Standard_EXPORT void SetColors(const Quantity_Color& aColor,
0042 const Quantity_Color& aTenthColor) Standard_OVERRIDE;
0043
0044 Standard_EXPORT void Display() Standard_OVERRIDE;
0045
0046 Standard_EXPORT void Erase() const Standard_OVERRIDE;
0047
0048 Standard_EXPORT Standard_Boolean IsDisplayed() const Standard_OVERRIDE;
0049
0050 Standard_EXPORT void GraphicValues(Standard_Real& Radius, Standard_Real& OffSet) const;
0051
0052 Standard_EXPORT void SetGraphicValues(const Standard_Real Radius, const Standard_Real OffSet);
0053
0054
0055 Standard_EXPORT virtual void DumpJson(Standard_OStream& theOStream,
0056 Standard_Integer theDepth = -1) const Standard_OVERRIDE;
0057
0058 protected:
0059 Standard_EXPORT void UpdateDisplay() Standard_OVERRIDE;
0060
0061 private:
0062 Standard_EXPORT void DefineLines();
0063
0064 Standard_EXPORT void DefinePoints();
0065
0066 private:
0067
0068 class CircularGridStructure;
0069
0070 private:
0071 Handle(Graphic3d_Structure) myStructure;
0072 Handle(Graphic3d_Group) myGroup;
0073 gp_Ax3 myCurViewPlane;
0074 V3d_ViewerPointer myViewer;
0075 Standard_Boolean myCurAreDefined;
0076 Standard_Boolean myToComputePrs;
0077 Aspect_GridDrawMode myCurDrawMode;
0078 Standard_Real myCurXo;
0079 Standard_Real myCurYo;
0080 Standard_Real myCurAngle;
0081 Standard_Real myCurStep;
0082 Standard_Integer myCurDivi;
0083 Standard_Real myRadius;
0084 Standard_Real myOffSet;
0085 };
0086
0087 DEFINE_STANDARD_HANDLE(V3d_CircularGrid, Aspect_CircularGrid)
0088
0089 #endif