Files
OCCT/src/ShapeFix/ShapeFix.cdl
bugmaster b311480ed5 0023024: Update headers of OCCT files
Added appropriate copyright and license information in source files
2012-03-21 19:43:04 +04:00

160 lines
5.5 KiB
Plaintext
Executable File

-- Created on: 1998-06-03
-- Created by: data exchange team
-- Copyright (c) 1998-1999 Matra Datavision
-- Copyright (c) 1999-2012 OPEN CASCADE SAS
--
-- The content of this file is subject to the Open CASCADE Technology Public
-- License Version 6.5 (the "License"). You may not use the content of this file
-- except in compliance with the License. Please obtain a copy of the License
-- at http://www.opencascade.org and read it completely before using this file.
--
-- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
-- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
--
-- The Original Code and all software distributed under the License is
-- distributed on an "AS IS" basis, without warranty of any kind, and the
-- Initial Developer hereby disclaims all such warranties, including without
-- limitation, any warranties of merchantability, fitness for a particular
-- purpose or non-infringement. Please see the License for the specific terms
-- and conditions governing the rights and limitations under the License.
package ShapeFix
---Purpose: This package provides algorithms for fixing
-- problematic (violating Open CASCADE requirements) shapes.
-- Tools from package ShapeAnalysis are used for detecting the problems. The
-- detecting and fixing is done taking in account various
-- criteria implemented in BRepCheck package.
-- Each class of package ShapeFix deals with one
-- certain type of shapes or with some family of problems.
uses
gp,
Geom,
Geom2d,
Geom2dAPI,
GeomAbs,
Adaptor3d,
TCollection,
TColStd,
TopAbs,
TopLoc,
TopoDS,
TopTools,
Message,
ShapeExtend,
ShapeAnalysis,
ShapeConstruct,
ShapeBuild,
Bnd
is
-- classes
class Root;
class EdgeProjAux;
class Edge;
---Purpose: Fixing different problems on edge
class Wire;
---Purpose: Fixing different problems with wires
class Face;
---Purpose: Fixing problems with face (orientation of wires and wrong wires)
class FixSmallFace;
---Purpose: Fixing face with small size
class WireVertex;
---Purpose: Fixing disconnected edges in the wire
class Wireframe;
---Purpose: Provides methods to fix wireframe of shape
class FreeBounds;
---Purpose: Fixing free bounds of the shape (connecting open wires)
class FaceConnect;
---Purpose: Rebuilds connectivity between faces in shell
class Shell;
---Purpose: Fixing orientation of faces in shell
class Solid;
---Purpose: Creating solid from shell and orienting it to have finite volume
class ShapeTolerance;
---Purpose: Modifying shape tolerances
class Shape;
---Purpose: Fixing problem of shape.
class EdgeConnect;
---Purpose: Rebuilds edges to connect with new vertices, was moved from ShapeBuild
class ComposeShell;
---Purpose: Splits a (pseudo)face onto grid of faces (shell)
class SplitCommonVertex;
---Purpose: Splits vertex which is common for two wires
-- (for writing into STEP)
class WireSegment;
---Purpose: Auxiliary class (data storage) for ComposeShell
class IntersectionTool;
---Purpose: Tool for fixing selfintersecting wire
-- and intersecting wires
class SplitTool;
---Purpose: Tool for splitting and cutting edges; incudes methods
-- used in OverlappingTool and IntersectionTool
class SequenceOfWireSegment instantiates Sequence from TCollection
(WireSegment from ShapeFix);
class DataMapOfShapeBox2d instantiates DataMap from TCollection
(Shape from TopoDS, Box2d from Bnd, ShapeMapHasher from TopTools);
SameParameter (shape : Shape from TopoDS;
enforce : Boolean;
preci : Real = 0.0;
theProgress : ProgressIndicator from Message = 0)
returns Boolean;
---Purpose : Runs SameParameter from BRepLib with these adaptations :
-- <enforce> forces computations, else they are made only on
-- Edges with flag SameParameter false
-- <preci>, if not precised, is taken for each EDge as its own
-- Tolerance
-- Returns True when done, False if an exception has been raised
-- In case of exception anyway, as many edges as possible have
-- been processed. The passed progress indicator allows user
-- to consult the current progress stage and abort algorithm
-- if needed.
EncodeRegularity (shape: Shape from TopoDS; tolang: Real = 1.0e-10);
---Purpose : Runs EncodeRegularity from BRepLib taking into account
-- shared components of assemblies, so that each component
-- is processed only once
RemoveSmallEdges (shape: in out Shape from TopoDS; Tolerance: Real; context: in out ReShape from ShapeBuild)
returns Shape from TopoDS;
---Purpose: Removes edges which are less than given tolerance from shape
-- with help of ShapeFix_Wire::FixSmall()
FixVertexPosition(theshape: in out Shape from TopoDS;
theTolerance: Real;
thecontext: ReShape from ShapeBuild) returns Boolean;
---Purpose: Fix position of the vertices having tolerance more tnan specified one.;
LeastEdgeSize(theshape: in out Shape from TopoDS) returns Real;
---Purpose: Calculate size of least edge;
end ShapeFix;