-
Notifications
You must be signed in to change notification settings - Fork 23
/
Copy pathGeom2d_Arc.hxx
142 lines (117 loc) · 2.95 KB
/
Geom2d_Arc.hxx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
/**
* \file Geom2d_Arc.hxx
* \brief Header file for the class Geom2d_Arc
* \author <a href="mailto:[email protected]?subject=Geom2d_Arc.hxx">Sergei Maslov</a>
*/
#ifndef _Geom2d_Arc_HeaderFile
#define _Geom2d_Arc_HeaderFile
#include <Standard_DefineHandle.hxx>
#include <gp_Pnt2d.hxx>
#include <gp_Ax2d.hxx>
#include <gp_Circ2d.hxx>
#include <Geom2d_Circle.hxx>
#include <ElCLib.hxx>
DEFINE_STANDARD_HANDLE(Geom2d_Arc,Geom2d_Circle)
//Class describing 2d arc geometry
class Geom2d_Arc : public Geom2d_Circle
{
public:
// Type management
DEFINE_STANDARD_RTTIEXT(Geom2d_Arc, Geom2d_Circle)
/**
* \fn Geom2d_Arc(const gp_Circ2d& C)
* \brief Constructs a Geom2d_Arc
* \param C const gp_Circ2d&
*/
Standard_EXPORT Geom2d_Arc(const gp_Circ2d& C);
/**
* \fn Geom2d_Arc(const gp_Ax2d& Ax2d,const Standard_Real R)
* \brief Constructs a Geom2d_Arc
* \param Ax2d const gp_Ax2d&
* \param R const Standard_Real
*/
Standard_EXPORT Geom2d_Arc(const gp_Ax2d& Ax2d,const Standard_Real R);
/**
* \fn ~Geom2d_Arc()
* \brief destructor
*/
Standard_EXPORT ~Geom2d_Arc();
/**
* \fn SetParam(const gp_Pnt2d& start,const gp_Pnt2d& mid,const gp_Pnt2d& end)
* \brief set parameters
* \param start const gp_Pnt2d&
* \param mid const gp_Pnt2d&
* \param end const gp_Pnt2d&
*/
Standard_EXPORT void SetParam(const gp_Pnt2d& start,const gp_Pnt2d& mid,const gp_Pnt2d& end);
/**
* \fn SetFirstParam(const Standard_Real u1)
* \brief set first parameter
* \return void
* \param u1 const Standard_Real
*/
Standard_EXPORT void SetFirstParam(const Standard_Real u1);
/**
* \fn SetFirstParam(const gp_Pnt2d& p1)
* \brief set first parameter
* \return void
* \param p1 const gp_Pnt2d&
*/
Standard_EXPORT void SetFirstParam(const gp_Pnt2d& p1);
/**
* \fn SetLastParam(const Standard_Real u2)
* \brief set last parameter
* \return void
* \param u2 const Standard_Real
*/
Standard_EXPORT void SetLastParam(const Standard_Real u2);
/**
* \fn SetLastParam(const gp_Pnt2d& p2)
* \brief set last parameter
* \return void
* \param p2 const gp_Pnt2d&
*/
Standard_EXPORT void SetLastParam(const gp_Pnt2d& p2);
/**
* \fn FirstParameter()
* \brief get first parameter
* \return Standard_Real const
*/
Standard_EXPORT Standard_Real FirstParameter() const;
/**
* \fn LastParameter()
* \brief get last parameter
* \return Standard_Real const
*/
Standard_EXPORT Standard_Real LastParameter() const;
/**
* \fn FirstPnt()
* \brief get first 2d point
* \return gp_Pnt2d const
*/
Standard_EXPORT gp_Pnt2d FirstPnt() const;
/**
* \fn LastPnt()
* \brief get last 2d point
* \return gp_Pnt2d const
*/
Standard_EXPORT gp_Pnt2d LastPnt() const;
/**
* \fn MiddlePnt()
* \brief get middle 2d point
* \return gp_Pnt2d const
*/
Standard_EXPORT gp_Pnt2d MiddlePnt() const;
private:
//methods
/**
* \fn CheckParam()
* \brief set correct parameters
* \return void
*/
Standard_EXPORT void CheckParam();
//members
Standard_Real myFirstParam;
Standard_Real myLastParam;
};
#endif