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