b311480e |
1 | -- Created on: 2000-02-07 |
2 | -- Created by: data exchange team |
973c2be1 |
3 | -- Copyright (c) 2000-2014 OPEN CASCADE SAS |
b311480e |
4 | -- |
973c2be1 |
5 | -- This file is part of Open CASCADE Technology software library. |
b311480e |
6 | -- |
d5f74e42 |
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 |
973c2be1 |
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. |
b311480e |
12 | -- |
973c2be1 |
13 | -- Alternatively, this file may be used under the terms of Open CASCADE |
14 | -- commercial license or contractual agreement. |
7fd59977 |
15 | |
16 | class AlgoContainer from ShapeAlgo inherits TShared from MMgt |
17 | |
18 | ---Purpose: |
19 | |
20 | uses |
21 | |
22 | Curve from Geom2d, |
23 | BSplineCurve from Geom2d, |
24 | BSplineCurve from Geom, |
25 | BSplineSurface from Geom, |
26 | Surface from Geom, |
27 | SequenceOfCurve from TColGeom, |
28 | HSequenceOfBoundedCurve from TColGeom, |
29 | SequenceOfCurve from TColGeom2d, |
30 | HSequenceOfBoundedCurve from TColGeom2d, |
31 | Shape from TopoDS, |
32 | Edge from TopoDS, |
33 | Wire from TopoDS, |
34 | Face from TopoDS, |
35 | ToolContainer from ShapeAlgo, |
36 | WireData from ShapeExtend, |
37 | Wire from ShapeAnalysis, |
38 | Curve from Geom, |
39 | Shape from GeomAbs |
40 | |
41 | is |
42 | |
43 | Create returns mutable AlgoContainer from ShapeAlgo; |
44 | ---Purpose: Empty constructor |
45 | |
46 | SetToolContainer (me: mutable; TC: ToolContainer from ShapeAlgo); |
47 | ---C++ : inline |
48 | ---Purpose: Sets ToolContainer |
49 | |
50 | ToolContainer (me) returns ToolContainer from ShapeAlgo; |
51 | ---C++ : inline |
52 | ---Purpose: Returns ToolContainer |
53 | |
54 | |
55 | --- Algorithms |
56 | |
57 | ConnectNextWire (me; saw : Wire from ShapeAnalysis; |
58 | nextsewd : WireData from ShapeExtend; |
59 | maxtol : Real; |
60 | distmin : out Real; |
61 | revsewd : out Boolean; |
62 | revnextsewd: out Boolean) |
63 | returns Boolean is virtual; |
64 | ---Purpose: Finds the best way to connect and connects <nextsewd> to already |
65 | -- built <sewd> (in <saw>). |
66 | -- Returns False if <nextsewd> cannot be connected, otherwise - True. |
67 | -- <maxtol> specifies the maximum tolerance with which <nextsewd> can |
68 | -- be added. |
69 | -- <distmin> is used to receive the minimum distance between <nextsewd> |
70 | -- and <sewd>. |
71 | -- <revsewd> is True if <sewd> has been reversed before connecting. |
72 | -- <revnextwd> is True if <nextsewd> has been reversed before connecting. |
73 | -- Uses functionality of ShapeAnalysis_Wire. |
74 | |
75 | ApproxBSplineCurve (me; bspline: BSplineCurve from Geom; seq: out SequenceOfCurve from TColGeom) |
76 | is virtual; |
77 | ---Purpose: |
78 | |
79 | ApproxBSplineCurve (me; bspline: BSplineCurve from Geom2d; seq: out SequenceOfCurve from TColGeom2d) |
80 | is virtual; |
81 | ---Purpose: |
82 | |
83 | C0BSplineToSequenceOfC1BSplineCurve (me; BS : BSplineCurve from Geom; |
84 | seqBS: out HSequenceOfBoundedCurve from TColGeom) |
85 | returns Boolean is virtual; |
86 | |
87 | C0BSplineToSequenceOfC1BSplineCurve (me; BS : BSplineCurve from Geom2d; |
88 | seqBS: out HSequenceOfBoundedCurve from TColGeom2d) |
89 | returns Boolean is virtual; |
90 | ---Purpose: Converts C0 B-Spline curve into sequence of C1 B-Spline curves. |
91 | -- Calls ShapeUpgrade::C0BSplineToSequenceOfC1BSplineCurve. |
92 | |
93 | C0ShapeToC1Shape (me; shape: Shape from TopoDS; tol: Real) |
94 | returns Shape from TopoDS is virtual; |
95 | ---Purpose: Converts a shape on C0 geometry into the shape on C1 geometry. |
96 | ---Remark : Uses ShapeUpgrade_ShapeDivide. |
97 | |
98 | ConvertSurfaceToBSpline(me; surf : Surface from Geom; |
99 | UF,UL,VF,VL: Real) |
100 | returns BSplineSurface from Geom is virtual; |
101 | ---Purpose: Converts a surface to B-Spline. |
102 | -- Uses ShapeConstruct. |
103 | |
104 | HomoWires (me; wireIn1 : Wire from TopoDS; |
105 | wireIn2 : Wire from TopoDS; |
106 | wireOut1: out Wire from TopoDS; |
107 | wireOut2: out Wire from TopoDS; |
108 | byParam : Boolean from Standard) |
109 | returns Boolean is virtual; |
110 | ---Purpose: Return 2 wires with the same number of edges. The both Edges |
111 | -- number i of these wires have got the same ratio between |
112 | -- theirs parameter lengths and their wire parameter lengths. |
113 | |
114 | OuterWire (me; face: Face from TopoDS) returns Wire from TopoDS is virtual; |
115 | ---Purpose: Returns the outer wire on the face <Face>. |
116 | |
117 | ConvertToPeriodic (me; surf: Surface from Geom) |
118 | returns Surface from Geom is virtual; |
119 | ---Purpose: Converts surface to periodic form. |
120 | -- Calls ShapeCustom_Surface. |
121 | |
122 | GetFaceUVBounds (me; F: Face from TopoDS; Umin, Umax, Vmin, Vmax: out Real) |
123 | is virtual; |
124 | ---Purpose: Computes exact UV bounds of all wires on the face |
125 | ---Remark : Calls ShapeAnalysis::GetFaceUVBounds. |
126 | |
127 | ConvertCurveToBSpline(me;C3D : Curve from Geom; |
128 | First : Real; |
129 | Last : Real; |
130 | Tol3d : Real; |
131 | Continuity : Shape from GeomAbs; |
132 | MaxSegments: Integer; |
133 | MaxDegree : Integer) |
134 | returns BSplineCurve from Geom is virtual; |
135 | ---Purpose: Convert Geom_Curve to Geom_BSplineCurve |
136 | ---Remark : Calls ShapeConstruct::CurveCurveToBSplineCurve. |
137 | |
138 | fields |
139 | |
140 | myTC : ToolContainer from ShapeAlgo; |
141 | |
142 | end AlgoContainer; |