1 // Copyright (c) 1996-1999 Matra Datavision
2 // Copyright (c) 1999-2014 OPEN CASCADE SAS
4 // This file is part of Open CASCADE Technology software library.
6 // This library is free software; you can redistribute it and/or modify it under
7 // the terms of the GNU Lesser General Public License version 2.1 as published
8 // by the Free Software Foundation, with special exception defined in the file
9 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
10 // distribution for complete text of the license and disclaimer of any warranty.
12 // Alternatively, this file may be used under the terms of Open CASCADE
13 // commercial license or contractual agreement.
16 #include <Draw_ColorKind.hxx>
17 #include <DrawFairCurve_MinimalVariation.hxx>
18 #include <FairCurve_MinimalVariation.hxx>
19 #include <Standard_Type.hxx>
21 IMPLEMENT_STANDARD_RTTIEXT(DrawFairCurve_MinimalVariation,DrawFairCurve_Batten)
23 DrawFairCurve_MinimalVariation::DrawFairCurve_MinimalVariation(const Standard_Address TheMVC)
24 : DrawFairCurve_Batten(TheMVC)
30 void DrawFairCurve_MinimalVariation::SetCurvature(const Standard_Integer Side,
31 const Standard_Real Rho)
34 ((FairCurve_MinimalVariation*)MyBatten)->SetCurvature1(Rho);
35 ((FairCurve_MinimalVariation*)MyBatten)->SetConstraintOrder1(2);
38 ((FairCurve_MinimalVariation*)MyBatten)->SetCurvature2(Rho);
39 ((FairCurve_MinimalVariation*)MyBatten)->SetConstraintOrder2(2);
44 void DrawFairCurve_MinimalVariation::FreeCurvature(const Standard_Integer Side)
47 if ( ((FairCurve_MinimalVariation*)MyBatten)->GetConstraintOrder1()>1)
49 ((FairCurve_MinimalVariation*)MyBatten)->SetConstraintOrder1(1);
53 if ( ((FairCurve_MinimalVariation*)MyBatten)->GetConstraintOrder2()>1)
55 ((FairCurve_MinimalVariation*)MyBatten)->SetConstraintOrder2(1);
62 void DrawFairCurve_MinimalVariation::SetPhysicalRatio( const Standard_Real Ratio)
64 ((FairCurve_MinimalVariation*)MyBatten)->SetPhysicalRatio(Ratio);
68 Standard_Real DrawFairCurve_MinimalVariation::GetCurvature(const Standard_Integer Side) const
70 if (Side == 1) {return ((FairCurve_MinimalVariation*)MyBatten)->GetCurvature1();}
71 else {return ((FairCurve_MinimalVariation*)MyBatten)->GetCurvature2();}
74 Standard_Real DrawFairCurve_MinimalVariation::GetPhysicalRatio() const
76 return ((FairCurve_MinimalVariation*)MyBatten)->GetPhysicalRatio();