1 -- Created on: 2000-02-07
2 -- Created by: data exchange team
3 -- Copyright (c) 2000-2014 OPEN CASCADE SAS
5 -- This file is part of Open CASCADE Technology software library.
7 -- This library is free software; you can redistribute it and / or modify it
8 -- under the terms of the GNU Lesser General Public 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.
13 -- Alternatively, this file may be used under the terms of Open CASCADE
14 -- commercial license or contractual agreement.
16 class AlgoContainer from ShapeAlgo inherits TShared from MMgt
23 BSplineCurve from Geom2d,
24 BSplineCurve from Geom,
25 BSplineSurface from Geom,
27 SequenceOfCurve from TColGeom,
28 HSequenceOfBoundedCurve from TColGeom,
29 SequenceOfCurve from TColGeom2d,
30 HSequenceOfBoundedCurve from TColGeom2d,
35 ToolContainer from ShapeAlgo,
36 WireData from ShapeExtend,
37 Wire from ShapeAnalysis,
43 Create returns mutable AlgoContainer from ShapeAlgo;
44 ---Purpose: Empty constructor
46 SetToolContainer (me: mutable; TC: ToolContainer from ShapeAlgo);
48 ---Purpose: Sets ToolContainer
50 ToolContainer (me) returns ToolContainer from ShapeAlgo;
52 ---Purpose: Returns ToolContainer
57 ConnectNextWire (me; saw : Wire from ShapeAnalysis;
58 nextsewd : WireData from ShapeExtend;
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
69 -- <distmin> is used to receive the minimum distance between <nextsewd>
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.
75 ApproxBSplineCurve (me; bspline: BSplineCurve from Geom; seq: out SequenceOfCurve from TColGeom)
79 ApproxBSplineCurve (me; bspline: BSplineCurve from Geom2d; seq: out SequenceOfCurve from TColGeom2d)
83 C0BSplineToSequenceOfC1BSplineCurve (me; BS : BSplineCurve from Geom;
84 seqBS: out HSequenceOfBoundedCurve from TColGeom)
85 returns Boolean is virtual;
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.
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.
98 ConvertSurfaceToBSpline(me; surf : Surface from Geom;
100 returns BSplineSurface from Geom is virtual;
101 ---Purpose: Converts a surface to B-Spline.
102 -- Uses ShapeConstruct.
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.
114 OuterWire (me; face: Face from TopoDS) returns Wire from TopoDS is virtual;
115 ---Purpose: Returns the outer wire on the face <Face>.
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.
122 GetFaceUVBounds (me; F: Face from TopoDS; Umin, Umax, Vmin, Vmax: out Real)
124 ---Purpose: Computes exact UV bounds of all wires on the face
125 ---Remark : Calls ShapeAnalysis::GetFaceUVBounds.
127 ConvertCurveToBSpline(me;C3D : Curve from Geom;
131 Continuity : Shape from GeomAbs;
132 MaxSegments: Integer;
134 returns BSplineCurve from Geom is virtual;
135 ---Purpose: Convert Geom_Curve to Geom_BSplineCurve
136 ---Remark : Calls ShapeConstruct::CurveCurveToBSplineCurve.
140 myTC : ToolContainer from ShapeAlgo;