1 // Created by: CKY / Contract Toubro-Larsen
2 // Copyright (c) 1993-1999 Matra Datavision
3 // Copyright (c) 1999-2014 OPEN CASCADE SAS
4 //
5 // This file is part of Open CASCADE Technology software library.
6 //
7 // This library is free software; you can redistribute it and/or modify it under
8 // the terms of the GNU Lesser General Public License version 2.1 as published
9 // by the Free Software Foundation, with special exception defined in the file
10 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
11 // distribution for complete text of the license and disclaimer of any warranty.
12 //
13 // Alternatively, this file may be used under the terms of Open CASCADE
14 // commercial license or contractual agreement.
15 
16 //--------------------------------------------------------------------
17 //--------------------------------------------------------------------
18 
19 #include <IGESData_IGESEntity.hxx>
20 #include <IGESGeom_RuledSurface.hxx>
21 #include <Standard_Type.hxx>
22 
IMPLEMENT_STANDARD_RTTIEXT(IGESGeom_RuledSurface,IGESData_IGESEntity)23 IMPLEMENT_STANDARD_RTTIEXT(IGESGeom_RuledSurface,IGESData_IGESEntity)
24 
25 IGESGeom_RuledSurface::IGESGeom_RuledSurface ()    {  }
26 
27 
Init(const Handle (IGESData_IGESEntity)& aCurve,const Handle (IGESData_IGESEntity)& anotherCurve,const Standard_Integer aDirFlag,const Standard_Integer aDevFlag)28     void IGESGeom_RuledSurface::Init
29   (const Handle(IGESData_IGESEntity)& aCurve,
30    const Handle(IGESData_IGESEntity)& anotherCurve,
31    const Standard_Integer             aDirFlag,
32    const Standard_Integer             aDevFlag)
33 {
34   theCurve1  = aCurve;
35   theCurve2  = anotherCurve;
36   theDirFlag = aDirFlag;
37   theDevFlag = aDevFlag;
38   InitTypeAndForm(118,FormNumber());
39 //    FormNumber 0-1 : Ruling spec.  0/Arc Length  1/Parameter
40 }
41 
SetRuledByParameter(const Standard_Boolean F)42     void  IGESGeom_RuledSurface::SetRuledByParameter (const Standard_Boolean F)
43 {
44   InitTypeAndForm(118, (F ? 1 : 0));
45 }
46 
Handle(IGESData_IGESEntity)47     Handle(IGESData_IGESEntity) IGESGeom_RuledSurface::FirstCurve () const
48 {
49   return theCurve1;
50 }
51 
Handle(IGESData_IGESEntity)52     Handle(IGESData_IGESEntity) IGESGeom_RuledSurface::SecondCurve () const
53 {
54   return theCurve2;
55 }
56 
DirectionFlag() const57     Standard_Integer IGESGeom_RuledSurface::DirectionFlag () const
58 {
59   return theDirFlag;
60 }
61 
IsDevelopable() const62     Standard_Boolean IGESGeom_RuledSurface::IsDevelopable () const
63 {
64   return (theDevFlag == 1);
65 }
66 
IsRuledByParameter() const67     Standard_Boolean  IGESGeom_RuledSurface::IsRuledByParameter () const
68 {
69   return (FormNumber() != 0);
70 }
71