File indexing completed on 2026-09-15 09:14:51
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _Aspect_CircularGrid_HeaderFile
0018 #define _Aspect_CircularGrid_HeaderFile
0019
0020 #include <Standard_Integer.hxx>
0021 #include <Aspect_Grid.hxx>
0022
0023 class Aspect_CircularGrid : public Aspect_Grid
0024 {
0025 DEFINE_STANDARD_RTTIEXT(Aspect_CircularGrid, Aspect_Grid)
0026 public:
0027
0028
0029 Standard_EXPORT Aspect_CircularGrid(const double aRadiusStep,
0030 const int aDivisionNumber,
0031 const double XOrigin = 0,
0032 const double anYOrigin = 0,
0033 const double aRotationAngle = 0);
0034
0035
0036 Standard_EXPORT void SetRadiusStep(const double aStep);
0037
0038
0039 Standard_EXPORT void SetDivisionNumber(const int aNumber);
0040
0041 Standard_EXPORT void SetGridValues(const double XOrigin,
0042 const double YOrigin,
0043 const double RadiusStep,
0044 const int DivisionNumber,
0045 const double RotationAngle);
0046
0047
0048 Standard_EXPORT void Compute(const double X,
0049 const double Y,
0050 double& gridX,
0051 double& gridY) const override;
0052
0053
0054 Standard_EXPORT double RadiusStep() const;
0055
0056
0057 Standard_EXPORT int DivisionNumber() const;
0058
0059
0060
0061 Standard_EXPORT void SetRadius(const double theRadius);
0062
0063
0064 double Radius() const { return myRadius; }
0065
0066
0067
0068
0069 Standard_EXPORT void SetZOffset(const double theOffset);
0070
0071
0072 double ZOffset() const { return myZOffset; }
0073
0074
0075
0076
0077
0078 Standard_EXPORT void SetArcRange(const double theStart, const double theEnd);
0079
0080
0081 double AngleStart() const { return myAngleStart; }
0082
0083
0084 double AngleEnd() const { return myAngleEnd; }
0085
0086
0087 bool IsArc() const { return myAngleStart != myAngleEnd; }
0088
0089 Standard_EXPORT void Init() override;
0090
0091
0092 Standard_EXPORT void DumpJson(Standard_OStream& theOStream, int theDepth = -1) const override;
0093
0094 private:
0095 double myRadiusStep;
0096 int myDivisionNumber;
0097 double myAlpha;
0098 double myA1;
0099 double myB1;
0100 double myRadius;
0101 double myZOffset;
0102 double myAngleStart;
0103 double myAngleEnd;
0104 };
0105
0106 #endif