1 -- Created on: 1994-11-25
2 -- Created by: Frederic MAUPAS
3 -- Copyright (c) 1994-1999 Matra Datavision
4 -- Copyright (c) 1999-2012 OPEN CASCADE SAS
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.
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.
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.
24 ---Purpose: This package implements the mapping between CAS.CAD
25 -- Shape representation and AP214 Shape Representation.
26 -- The target schema is pms_c4 (a subset of AP214)
28 -- How to use this Package :
30 -- Entry point are context dependent. It can be :
31 -- MakeManifoldSolidBrep
34 -- MakeFacetedBrepAndBrepWithVoids
35 -- MakeShellBasedSurfaceModel
36 -- Each of these classes call the Builder
37 -- The class tool centralizes some common informations.
39 uses TopoDS, StdFail, TCollection, TColStd, TopTools, Transfer, MoniTool,
40 BRepTools, TopLoc, GeomAbs, Geom2d, Geom, gp,
45 -- ------------------------------------------------------
47 -- ------------------------------------------------------
49 enumeration BuilderError is
55 enumeration MakeFaceError is
63 enumeration MakeWireError is
69 enumeration MakeEdgeError is
75 enumeration MakeVertexError is
80 enumeration FacetedError is
86 -- ------------------------------------------------------
88 -- ------------------------------------------------------
90 private deferred class Root;
92 class MakeManifoldSolidBrep;
94 class MakeBrepWithVoids;
96 class MakeFacetedBrep;
98 class MakeFacetedBrepAndBrepWithVoids;
100 class MakeShellBasedSurfaceModel;
102 class MakeGeometricCurveSet;
106 class WireframeBuilder;
118 class MakeStepVertex;
120 -- private class DirectModification;
121 -- private class ConicalSurfModif;
123 -- ------------------------------------------------------
124 -- Instanciated Class
125 -- ------------------------------------------------------
127 -- class DataMapOfShape instantiates
128 -- DataMap from TCollection
129 -- (Shape from TopoDS,
130 -- TopologicalRepresentationItem from StepShape,
131 -- ShapeMapHasher from TopTools);
133 -- ------------------------------------------------------
135 -- ------------------------------------------------------
137 DecodeBuilderError(E : BuilderError from TopoDSToStep)
138 returns HAsciiString from TCollection;
140 DecodeFaceError(E : MakeFaceError from TopoDSToStep)
141 returns HAsciiString from TCollection;
143 DecodeWireError(E : MakeWireError from TopoDSToStep)
144 returns HAsciiString from TCollection;
146 DecodeEdgeError(E : MakeEdgeError from TopoDSToStep)
147 returns HAsciiString from TCollection;
149 DecodeVertexError(E : MakeVertexError from TopoDSToStep)
150 returns HAsciiString from TCollection;
152 -- DirectFaces(S : Shape from TopoDS)
153 -- returns Shape from TopoDS;
154 ---Purpose: Returns a new shape without undirect surfaces.
156 AddResult (FP: FinderProcess from Transfer;
157 Shape: Shape from TopoDS;
158 entity: Transient from Standard);
159 ---Purpose: Adds an entity into the list of results (binders) for
160 -- shape stored in FinderProcess
162 AddResult (FP: FinderProcess from Transfer;
163 Tool: Tool from TopoDSToStep);
164 ---Purpose: Adds all entities recorded in Tool into the map of results
165 -- (binders) stored in FinderProcess