1 // File: DrawFairCurve_Batten.cxx
2 // Created: Fri Feb 16 14:32:26 1996
3 // Author: Philippe MANGIN
5 // Copyright: Matra Datavision 1996
7 #include <DrawFairCurve_Batten.ixx>
9 #include <FairCurve_Batten.hxx>
10 #include <FairCurve_AnalysisCode.hxx>
11 #include <GeomTools_Curve2dSet.hxx>
13 DrawFairCurve_Batten::DrawFairCurve_Batten(const Standard_Address TheBatten)
14 : DrawTrSurf_BSplineCurve2d( ((FairCurve_Batten*)TheBatten)->Curve()),
22 void DrawFairCurve_Batten::Compute()
24 FairCurve_AnalysisCode Iana;
28 ((FairCurve_Batten*)MyBatten)->Compute(Iana, 50, 1.0e-2);
29 curv = ((FairCurve_Batten*)MyBatten)->Curve();
31 void DrawFairCurve_Batten::SetPoint(const Standard_Integer Side, const gp_Pnt2d& Point)
34 ((FairCurve_Batten*)MyBatten)->SetP1(Point);
37 ((FairCurve_Batten*)MyBatten)-> SetP2(Point);
42 void DrawFairCurve_Batten::SetAngle(const Standard_Integer Side, const Standard_Real Angle)
45 ((FairCurve_Batten*)MyBatten)->SetAngle1(Angle*M_PI/180);
46 if ( ((FairCurve_Batten*)MyBatten)->GetConstraintOrder1() == 0 )
48 ((FairCurve_Batten*)MyBatten)->SetConstraintOrder1(1);
52 ((FairCurve_Batten*)MyBatten)->SetAngle2(Angle*M_PI/180);
53 if ( ((FairCurve_Batten*)MyBatten)->GetConstraintOrder2() == 0 )
55 ((FairCurve_Batten*)MyBatten)->SetConstraintOrder2(1);
61 void DrawFairCurve_Batten::SetSliding(const Standard_Real Length)
63 ((FairCurve_Batten*)MyBatten)-> SetFreeSliding(Standard_False);
64 ((FairCurve_Batten*)MyBatten)->SetSlidingFactor(Length);
68 void DrawFairCurve_Batten::SetHeight(const Standard_Real Height)
70 ((FairCurve_Batten*)MyBatten)->SetHeight(Height);
74 void DrawFairCurve_Batten::SetSlope(const Standard_Real Slope)
76 ((FairCurve_Batten*)MyBatten)->SetSlope(Slope);
80 Standard_Real DrawFairCurve_Batten::GetAngle(const Standard_Integer Side) const
82 if (Side == 1) return ((FairCurve_Batten*)MyBatten)->GetAngle1();
83 else return ((FairCurve_Batten*)MyBatten)->GetAngle2();
86 Standard_Real DrawFairCurve_Batten::GetSliding() const
88 return ((FairCurve_Batten*)MyBatten)->GetSlidingFactor();
92 void DrawFairCurve_Batten::FreeSliding()
94 ((FairCurve_Batten*)MyBatten)->SetFreeSliding(Standard_True);
98 void DrawFairCurve_Batten::FreeAngle(const Standard_Integer Side)
100 if (Side == 1) ((FairCurve_Batten*)MyBatten)->SetConstraintOrder1(0);
101 else ((FairCurve_Batten*)MyBatten)->SetConstraintOrder2(0);
106 void DrawFairCurve_Batten::Dump(Standard_OStream& S)const
108 GeomTools_Curve2dSet::PrintCurve2d(curv,S);
109 ((FairCurve_Batten*)MyBatten)->Dump(S);