2 -- Created: Wed Jun 3 12:07:35 1998
3 -- Author: data exchange team
4 -- <det@nnov.matra-dtv.fr>
5 ---Copyright: Matra Datavision 1998
9 ---Purpose: This package provides algorithms for fixing
10 -- problematic (violating Open CASCADE requirements) shapes.
11 -- Tools from package ShapeAnalysis are used for detecting the problems. The
12 -- detecting and fixing is done taking in account various
13 -- criteria implemented in BRepCheck package.
14 -- Each class of package ShapeFix deals with one
15 -- certain type of shapes or with some family of problems.
46 ---Purpose: Fixing different problems on edge
49 ---Purpose: Fixing different problems with wires
52 ---Purpose: Fixing problems with face (orientation of wires and wrong wires)
55 ---Purpose: Fixing face with small size
58 ---Purpose: Fixing disconnected edges in the wire
61 ---Purpose: Provides methods to fix wireframe of shape
64 ---Purpose: Fixing free bounds of the shape (connecting open wires)
67 ---Purpose: Rebuilds connectivity between faces in shell
70 ---Purpose: Fixing orientation of faces in shell
73 ---Purpose: Creating solid from shell and orienting it to have finite volume
76 ---Purpose: Modifying shape tolerances
79 ---Purpose: Fixing problem of shape.
82 ---Purpose: Rebuilds edges to connect with new vertices, was moved from ShapeBuild
85 ---Purpose: Splits a (pseudo)face onto grid of faces (shell)
87 class SplitCommonVertex;
88 ---Purpose: Splits vertex which is common for two wires
89 -- (for writing into STEP)
92 ---Purpose: Auxiliary class (data storage) for ComposeShell
94 class IntersectionTool;
95 ---Purpose: Tool for fixing selfintersecting wire
96 -- and intersecting wires
99 ---Purpose: Tool for splitting and cutting edges; incudes methods
100 -- used in OverlappingTool and IntersectionTool
102 class SequenceOfWireSegment instantiates Sequence from TCollection
103 (WireSegment from ShapeFix);
105 class DataMapOfShapeBox2d instantiates DataMap from TCollection
106 (Shape from TopoDS, Box2d from Bnd, ShapeMapHasher from TopTools);
109 SameParameter (shape : Shape from TopoDS;
112 theProgress : ProgressIndicator from Message = 0)
114 ---Purpose : Runs SameParameter from BRepLib with these adaptations :
115 -- <enforce> forces computations, else they are made only on
116 -- Edges with flag SameParameter false
117 -- <preci>, if not precised, is taken for each EDge as its own
119 -- Returns True when done, False if an exception has been raised
120 -- In case of exception anyway, as many edges as possible have
121 -- been processed. The passed progress indicator allows user
122 -- to consult the current progress stage and abort algorithm
125 EncodeRegularity (shape: Shape from TopoDS; tolang: Real = 1.0e-10);
126 ---Purpose : Runs EncodeRegularity from BRepLib taking into account
127 -- shared components of assemblies, so that each component
128 -- is processed only once
130 RemoveSmallEdges (shape: in out Shape from TopoDS; Tolerance: Real; context: in out ReShape from ShapeBuild)
131 returns Shape from TopoDS;
132 ---Purpose: Removes edges which are less than given tolerance from shape
133 -- with help of ShapeFix_Wire::FixSmall()
135 FixVertexPosition(theshape: in out Shape from TopoDS;
137 thecontext: ReShape from ShapeBuild) returns Boolean;
138 ---Purpose: Fix position of the vertices having tolerance more tnan specified one.;
140 LeastEdgeSize(theshape: in out Shape from TopoDS) returns Real;
141 ---Purpose: Calculate size of least edge;