File indexing completed on 2026-10-05 09:21:12
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _Aspect_RectangularGrid_HeaderFile
0018 #define _Aspect_RectangularGrid_HeaderFile
0019
0020 #include <Standard.hxx>
0021
0022 #include <Aspect_Grid.hxx>
0023
0024 class Aspect_RectangularGrid : public Aspect_Grid
0025 {
0026 DEFINE_STANDARD_RTTIEXT(Aspect_RectangularGrid, Aspect_Grid)
0027 public:
0028
0029
0030
0031
0032 Standard_EXPORT Aspect_RectangularGrid(const double aXStep,
0033 const double aYStep,
0034 const double anXOrigin = 0,
0035 const double anYOrigin = 0,
0036 const double aFirstAngle = 0,
0037 const double aSecondAngle = 0,
0038 const double aRotationAngle = 0);
0039
0040
0041 Standard_EXPORT void SetXStep(const double aStep);
0042
0043
0044 Standard_EXPORT void SetYStep(const double aStep);
0045
0046
0047
0048
0049 Standard_EXPORT void SetAngle(const double anAngle1, const double anAngle2);
0050
0051 Standard_EXPORT void SetGridValues(const double XOrigin,
0052 const double YOrigin,
0053 const double XStep,
0054 const double YStep,
0055 const double RotationAngle);
0056
0057
0058 Standard_EXPORT void Compute(const double X,
0059 const double Y,
0060 double& gridX,
0061 double& gridY) const override;
0062
0063
0064 Standard_EXPORT double XStep() const;
0065
0066
0067 Standard_EXPORT double YStep() const;
0068
0069
0070 Standard_EXPORT double FirstAngle() const;
0071
0072
0073 Standard_EXPORT double SecondAngle() const;
0074
0075
0076
0077 Standard_EXPORT void SetSizeX(const double theSize);
0078
0079
0080 double SizeX() const { return mySizeX; }
0081
0082
0083
0084 Standard_EXPORT void SetSizeY(const double theSize);
0085
0086
0087 double SizeY() const { return mySizeY; }
0088
0089
0090
0091
0092 Standard_EXPORT void SetZOffset(const double theOffset);
0093
0094
0095 double ZOffset() const { return myZOffset; }
0096
0097 Standard_EXPORT void Init() override;
0098
0099
0100 Standard_EXPORT void DumpJson(Standard_OStream& theOStream, int theDepth = -1) const override;
0101
0102 private:
0103 Standard_EXPORT bool CheckAngle(const double alpha, const double beta) const;
0104
0105 private:
0106 double myXStep;
0107 double myYStep;
0108 double myFirstAngle;
0109 double mySecondAngle;
0110 double mySizeX;
0111 double mySizeY;
0112 double myZOffset;
0113 double a1;
0114 double b1;
0115 double c1;
0116 double a2;
0117 double b2;
0118 double c2;
0119 };
0120
0121 #endif