b311480e |
1 | -- Created on: 1998-06-03 |
2 | -- Created by: data exchange team |
3 | -- Copyright (c) 1998-1999 Matra Datavision |
4 | -- Copyright (c) 1999-2012 OPEN CASCADE SAS |
5 | -- |
6 | -- The content of this file is subject to the Open CASCADE Technology Public |
7 | -- License Version 6.5 (the "License"). You may not use the content of this file |
8 | -- except in compliance with the License. Please obtain a copy of the License |
9 | -- at http://www.opencascade.org and read it completely before using this file. |
10 | -- |
11 | -- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its |
12 | -- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France. |
13 | -- |
14 | -- The Original Code and all software distributed under the License is |
15 | -- distributed on an "AS IS" basis, without warranty of any kind, and the |
16 | -- Initial Developer hereby disclaims all such warranties, including without |
17 | -- limitation, any warranties of merchantability, fitness for a particular |
18 | -- purpose or non-infringement. Please see the License for the specific terms |
19 | -- and conditions governing the rights and limitations under the License. |
20 | |
7fd59977 |
21 | |
22 | |
23 | package ShapeUpgrade |
24 | |
25 | ---Purpose: This package provides tools |
26 | -- for splitting and converting shapes by some criteria. It |
27 | -- provides modifications of the kind when one topological |
28 | -- object can be converted or splitted to several ones. In |
29 | -- particular this package contains high level API classes which perform: |
30 | -- converting geometry of shapes up to given continuity, |
31 | -- splitting revolutions by U to segments less than given value, |
32 | -- converting to beziers, |
33 | -- splitting closed faces. |
34 | |
35 | uses |
36 | gp, |
37 | Geom, |
38 | Geom2d, |
39 | GeomAbs, |
40 | Adaptor3d, |
41 | GeomAdaptor, |
42 | Geom2dAPI, |
43 | TopLoc, |
44 | TColStd, |
45 | TColGeom, |
46 | TColGeom2d, |
47 | TCollection, |
48 | TopoDS, |
49 | TopTools, |
50 | TopAbs, |
51 | ShapeExtend, |
52 | ShapeBuild, |
53 | ShapeAnalysis, |
54 | BRepBuilderAPI |
55 | |
56 | is |
57 | |
58 | --- Instanciation of generic classes (tools) |
59 | |
60 | private class Tool; |
61 | |
62 | class EdgeDivide; |
63 | |
64 | class ClosedEdgeDivide; |
65 | |
66 | class WireDivide; |
67 | |
68 | class FaceDivide; |
69 | |
70 | class ClosedFaceDivide; |
71 | class FaceDivideArea; |
72 | |
73 | class ShapeDivide; |
74 | class ShapeDivideArea; |
75 | |
76 | class ShapeDivideContinuity; |
77 | ---Purpose: API Tool for converting shapes with C0 geometry into C1 ones |
78 | |
79 | class ShapeDivideAngle; |
80 | ---Purpose: API Class for splitting revolutions to segments less than 90 |
81 | |
82 | class ShapeConvertToBezier; |
83 | ---Purpose: API Class for convering curves to beziers. |
84 | |
85 | class ShapeDivideClosed; |
86 | ---Purpose: |
87 | |
88 | class ShapeDivideClosedEdges; |
89 | ---Purpose: |
90 | |
91 | class SplitCurve; |
92 | class SplitCurve2d; |
93 | class SplitCurve2dContinuity; |
94 | class ConvertCurve2dToBezier; |
95 | class SplitCurve3d; |
96 | class SplitCurve3dContinuity; |
97 | class ConvertCurve3dToBezier; |
98 | |
99 | class SplitSurface; |
100 | class SplitSurfaceContinuity; |
101 | class SplitSurfaceAngle; |
102 | class ConvertSurfaceToBezierBasis; |
103 | class SplitSurfaceArea; |
104 | |
105 | class ShellSewing; |
106 | ---Purpose: Provides access to a sewing algorithms from BRepOffsetAPI |
107 | class FixSmallCurves; |
108 | ---Purpose: |
109 | class FixSmallBezierCurves; |
110 | ---Purpose: |
111 | |
112 | class RemoveLocations; |
113 | ---Purpose: Removes all locations sub-shapes of specified shape |
114 | |
115 | class RemoveInternalWires; |
116 | ---Purpose: Removes all internal wires having area less than specified min area |
117 | |
2277323d |
118 | class UnifySameDomain; |
119 | ---Purpose: Unifies same domain faces and edges of specified shape |
120 | |
7fd59977 |
121 | C0BSplineToSequenceOfC1BSplineCurve (BS : BSplineCurve from Geom; |
122 | seqBS: out HSequenceOfBoundedCurve from TColGeom) |
123 | returns Boolean; |
124 | |
125 | C0BSplineToSequenceOfC1BSplineCurve (BS : BSplineCurve from Geom2d; |
126 | seqBS: out HSequenceOfBoundedCurve from TColGeom2d) |
127 | returns Boolean; |
128 | --- Purpose: Converts C0 B-Spline curve into sequence of C1 B-Spline curves. |
129 | -- This method splits B-Spline at the knots with multiplicities |
130 | -- equal to degree, i.e. unlike method |
131 | -- GeomConvert::C0BSplineToArrayOfC1BSplineCurve this one does not |
132 | -- use any tolerance and therefore does not change the geometry of |
133 | -- B-Spline. |
134 | -- Returns True if C0 B-Spline was successfully splitted, else |
135 | -- returns False (if BS is C1 B-Spline). |
136 | |
137 | end ShapeUpgrade; |