1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
|
-- File: TopoDSToStep.cdl
-- Created: Fri Nov 25 08:31:25 1994
-- Author: Frederic MAUPAS
-- <fma@stylox>
---Copyright: Matra Datavision 1993
package TopoDSToStep
---Purpose: This package implements the mapping between CAS.CAD
-- Shape representation and AP214 Shape Representation.
-- The target schema is pms_c4 (a subset of AP214)
--
-- How to use this Package :
--
-- Entry point are context dependent. It can be :
-- MakeManifoldSolidBrep
-- MakeBrepWithVoids
-- MakeFacetedBrep
-- MakeFacetedBrepAndBrepWithVoids
-- MakeShellBasedSurfaceModel
-- Each of these classes call the Builder
-- The class tool centralizes some common informations.
uses TopoDS, StdFail, TCollection, TColStd, TopTools, Transfer, MoniTool,
BRepTools, TopLoc, GeomAbs, Geom2d, Geom, gp,
StepGeom, StepShape
is
-- ------------------------------------------------------
-- Enumeration
-- ------------------------------------------------------
enumeration BuilderError is
BuilderDone,
NoFaceMapped,
BuilderOther
end BuilderError;
enumeration MakeFaceError is
FaceDone,
InfiniteFace,
NonManifoldFace,
NoWireMapped,
FaceOther
end MakeFaceError;
enumeration MakeWireError is
WireDone,
NonManifoldWire,
WireOther
end MakeWireError;
enumeration MakeEdgeError is
EdgeDone,
NonManifoldEdge,
EdgeOther
end MakeEdgeError;
enumeration MakeVertexError is
VertexDone,
VertexOther
end MakeVertexError;
enumeration FacetedError is
FacetedDone,
SurfaceNotPlane,
PCurveNotLinear
end FacetedError;
-- ------------------------------------------------------
-- Package Classes
-- ------------------------------------------------------
private deferred class Root;
class MakeManifoldSolidBrep;
class MakeBrepWithVoids;
class MakeFacetedBrep;
class MakeFacetedBrepAndBrepWithVoids;
class MakeShellBasedSurfaceModel;
class MakeGeometricCurveSet;
class Builder;
class WireframeBuilder;
class Tool;
class FacetedTool;
class MakeStepFace;
class MakeStepWire;
class MakeStepEdge;
class MakeStepVertex;
-- private class DirectModification;
-- private class ConicalSurfModif;
-- ------------------------------------------------------
-- Instanciated Class
-- ------------------------------------------------------
-- class DataMapOfShape instantiates
-- DataMap from TCollection
-- (Shape from TopoDS,
-- TopologicalRepresentationItem from StepShape,
-- ShapeMapHasher from TopTools);
-- ------------------------------------------------------
-- Package Method
-- ------------------------------------------------------
DecodeBuilderError(E : BuilderError from TopoDSToStep)
returns HAsciiString from TCollection;
DecodeFaceError(E : MakeFaceError from TopoDSToStep)
returns HAsciiString from TCollection;
DecodeWireError(E : MakeWireError from TopoDSToStep)
returns HAsciiString from TCollection;
DecodeEdgeError(E : MakeEdgeError from TopoDSToStep)
returns HAsciiString from TCollection;
DecodeVertexError(E : MakeVertexError from TopoDSToStep)
returns HAsciiString from TCollection;
-- DirectFaces(S : Shape from TopoDS)
-- returns Shape from TopoDS;
---Purpose: Returns a new shape without undirect surfaces.
AddResult (FP: FinderProcess from Transfer;
Shape: Shape from TopoDS;
entity: Transient from Standard);
---Purpose: Adds an entity into the list of results (binders) for
-- shape stored in FinderProcess
AddResult (FP: FinderProcess from Transfer;
Tool: Tool from TopoDSToStep);
---Purpose: Adds all entities recorded in Tool into the map of results
-- (binders) stored in FinderProcess
end TopoDSToStep;
|