1 -- File: ShapeAlgo_AlgoContainer.cdl
2 -- Created: Mon Feb 7 12:19:51 2000
3 -- Author: data exchange team
5 ---Copyright: Matra Datavision 2000
8 class AlgoContainer from ShapeAlgo inherits TShared from MMgt
15 BSplineCurve from Geom2d,
16 BSplineCurve from Geom,
17 BSplineSurface from Geom,
19 SequenceOfCurve from TColGeom,
20 HSequenceOfBoundedCurve from TColGeom,
21 SequenceOfCurve from TColGeom2d,
22 HSequenceOfBoundedCurve from TColGeom2d,
27 ToolContainer from ShapeAlgo,
28 WireData from ShapeExtend,
29 Wire from ShapeAnalysis,
35 Create returns mutable AlgoContainer from ShapeAlgo;
36 ---Purpose: Empty constructor
38 SetToolContainer (me: mutable; TC: ToolContainer from ShapeAlgo);
40 ---Purpose: Sets ToolContainer
42 ToolContainer (me) returns ToolContainer from ShapeAlgo;
44 ---Purpose: Returns ToolContainer
49 ConnectNextWire (me; saw : Wire from ShapeAnalysis;
50 nextsewd : WireData from ShapeExtend;
53 revsewd : out Boolean;
54 revnextsewd: out Boolean)
55 returns Boolean is virtual;
56 ---Purpose: Finds the best way to connect and connects <nextsewd> to already
57 -- built <sewd> (in <saw>).
58 -- Returns False if <nextsewd> cannot be connected, otherwise - True.
59 -- <maxtol> specifies the maximum tolerance with which <nextsewd> can
61 -- <distmin> is used to receive the minimum distance between <nextsewd>
63 -- <revsewd> is True if <sewd> has been reversed before connecting.
64 -- <revnextwd> is True if <nextsewd> has been reversed before connecting.
65 -- Uses functionality of ShapeAnalysis_Wire.
67 ApproxBSplineCurve (me; bspline: BSplineCurve from Geom; seq: out SequenceOfCurve from TColGeom)
71 ApproxBSplineCurve (me; bspline: BSplineCurve from Geom2d; seq: out SequenceOfCurve from TColGeom2d)
75 C0BSplineToSequenceOfC1BSplineCurve (me; BS : BSplineCurve from Geom;
76 seqBS: out HSequenceOfBoundedCurve from TColGeom)
77 returns Boolean is virtual;
79 C0BSplineToSequenceOfC1BSplineCurve (me; BS : BSplineCurve from Geom2d;
80 seqBS: out HSequenceOfBoundedCurve from TColGeom2d)
81 returns Boolean is virtual;
82 ---Purpose: Converts C0 B-Spline curve into sequence of C1 B-Spline curves.
83 -- Calls ShapeUpgrade::C0BSplineToSequenceOfC1BSplineCurve.
85 C0ShapeToC1Shape (me; shape: Shape from TopoDS; tol: Real)
86 returns Shape from TopoDS is virtual;
87 ---Purpose: Converts a shape on C0 geometry into the shape on C1 geometry.
88 ---Remark : Uses ShapeUpgrade_ShapeDivide.
90 ConvertSurfaceToBSpline(me; surf : Surface from Geom;
92 returns BSplineSurface from Geom is virtual;
93 ---Purpose: Converts a surface to B-Spline.
94 -- Uses ShapeConstruct.
96 HomoWires (me; wireIn1 : Wire from TopoDS;
97 wireIn2 : Wire from TopoDS;
98 wireOut1: out Wire from TopoDS;
99 wireOut2: out Wire from TopoDS;
100 byParam : Boolean from Standard)
101 returns Boolean is virtual;
102 ---Purpose: Return 2 wires with the same number of edges. The both Edges
103 -- number i of these wires have got the same ratio between
104 -- theirs parameter lengths and their wire parameter lengths.
106 OuterWire (me; face: Face from TopoDS) returns Wire from TopoDS is virtual;
107 ---Purpose: Returns the outer wire on the face <Face>.
109 ConvertToPeriodic (me; surf: Surface from Geom)
110 returns Surface from Geom is virtual;
111 ---Purpose: Converts surface to periodic form.
112 -- Calls ShapeCustom_Surface.
114 GetFaceUVBounds (me; F: Face from TopoDS; Umin, Umax, Vmin, Vmax: out Real)
116 ---Purpose: Computes exact UV bounds of all wires on the face
117 ---Remark : Calls ShapeAnalysis::GetFaceUVBounds.
119 ConvertCurveToBSpline(me;C3D : Curve from Geom;
123 Continuity : Shape from GeomAbs;
124 MaxSegments: Integer;
126 returns BSplineCurve from Geom is virtual;
127 ---Purpose: Convert Geom_Curve to Geom_BSplineCurve
128 ---Remark : Calls ShapeConstruct::CurveCurveToBSplineCurve.
132 myTC : ToolContainer from ShapeAlgo;