0023024: Update headers of OCCT files
[occt.git] / src / BRepOffsetAPI / BRepOffsetAPI_MakeDraft.cxx
CommitLineData
b311480e 1// Copyright (c) 1999-2012 OPEN CASCADE SAS
2//
3// The content of this file is subject to the Open CASCADE Technology Public
4// License Version 6.5 (the "License"). You may not use the content of this file
5// except in compliance with the License. Please obtain a copy of the License
6// at http://www.opencascade.org and read it completely before using this file.
7//
8// The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
9// main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
10//
11// The Original Code and all software distributed under the License is
12// distributed on an "AS IS" basis, without warranty of any kind, and the
13// Initial Developer hereby disclaims all such warranties, including without
14// limitation, any warranties of merchantability, fitness for a particular
15// purpose or non-infringement. Please see the License for the specific terms
16// and conditions governing the rights and limitations under the License.
17
7fd59977 18#include <BRepOffsetAPI_MakeDraft.ixx>
19
20
21BRepOffsetAPI_MakeDraft::BRepOffsetAPI_MakeDraft(const TopoDS_Shape& Shape,
22 const gp_Dir& Dir,
23 const Standard_Real Angle)
24 : myDraft( Shape, Dir, Angle)
25{
26 NotDone();
27}
28
29 void BRepOffsetAPI_MakeDraft::SetOptions(const BRepBuilderAPI_TransitionMode Style,
30 const Standard_Real AngleMin,
31 const Standard_Real AngleMax)
32{
33 BRepFill_TransitionStyle style = BRepFill_Right;
34 if (Style == BRepBuilderAPI_RoundCorner) style = BRepFill_Round;
35 myDraft.SetOptions( style, AngleMin, AngleMax);
36}
37
38 void BRepOffsetAPI_MakeDraft::SetDraft(const Standard_Boolean IsInternal)
39{
40 myDraft.SetDraft(IsInternal);
41}
42
43 void BRepOffsetAPI_MakeDraft::Perform(const Standard_Real LengthMax)
44{
45 myDraft.Perform( LengthMax);
46 if (myDraft.IsDone()) {
47 Done();
48 myShape = myDraft.Shape();
49 }
50}
51
52 void BRepOffsetAPI_MakeDraft::Perform(const Handle(Geom_Surface)& Surface,
53 const Standard_Boolean KeepInsideSurface)
54{
55 myDraft.Perform(Surface, KeepInsideSurface);
56 if (myDraft.IsDone()) {
57 Done();
58 myShape = myDraft.Shape();
59 }
60}
61
62 void BRepOffsetAPI_MakeDraft::Perform(const TopoDS_Shape& StopShape,
63 const Standard_Boolean KeepOutSide)
64{
65 myDraft.Perform( StopShape, KeepOutSide);
66 if (myDraft.IsDone()) {
67 Done();
68 myShape = myDraft.Shape();
69 }
70}
71
72 TopoDS_Shell BRepOffsetAPI_MakeDraft::Shell() const
73{
74 return myDraft.Shell();
75}
76
77const TopTools_ListOfShape& BRepOffsetAPI_MakeDraft::Generated(const TopoDS_Shape& S)
78{
79 return myDraft.Generated( S );
80}
81