Test for 0022778: Bug in BRepMesh
[occt.git] / src / STEPControl / STEPControl_ActorWrite.cdl
1 -- Created on: 1995-01-31
2 -- Created by: Dieter THIEMANN
3 -- Copyright (c) 1995-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
21
22
23 class ActorWrite from STEPControl
24     inherits ActorOfFinderProcess  from Transfer
25     
26     ---Purpose : This class performs the transfer of a Shape from TopoDS
27     --           to AP203 or AP214 (CD2 or DIS)
28
29
30 uses FinderProcess, TransientProcess, Binder, Finder, StepModel from StepData,
31      Shape from TopoDS,
32      StepModelType from STEPControl,
33      Axis2Placement3d from StepGeom,
34      ShapeRepresentation from StepShape,
35      ShapeDefinitionRepresentation from StepShape,
36      HAsciiString from TCollection,
37      ContextTool from STEPConstruct,
38      Part from STEPConstruct,
39      HSequenceOfShape from TopTools, -- For non-manifold topology processing (ssv; 13.11.2010)
40      NonManifoldSurfaceShapeRepresentation from StepShape -- For non-manifold topology processing (ssv; 13.11.2010)
41
42 is
43
44     Create  returns mutable ActorWrite from STEPControl;
45
46     Recognize (me : mutable; start : Finder) returns Boolean  is redefined;
47
48     Transfer (me : mutable; start : Finder; FP : mutable FinderProcess)
49         returns mutable Binder is redefined;
50     -- enchains : TransferShape , MakeProductData , and manages mode
51     --   "simple" or in Assembly
52
53     TransferSubShape (me : mutable; start : Finder;
54                      SDR : ShapeDefinitionRepresentation from StepShape;
55                      AX1 : out Axis2Placement3d from StepGeom;
56                       FP : mutable FinderProcess;
57               shapeGroup : HSequenceOfShape from TopTools = NULL;
58               isManifold : Boolean = Standard_True)
59         returns mutable Binder;
60
61     TransferShape (me : mutable; start : Finder;
62                   SDR : ShapeDefinitionRepresentation from StepShape;
63                        FP : mutable FinderProcess;
64                        shapeGroup : HSequenceOfShape from TopTools = NULL;
65                        isManifold : Boolean = Standard_True)                  
66         returns mutable Binder;
67
68     TransferCompound (me : mutable; start : Finder;
69                       SDR : ShapeDefinitionRepresentation from StepShape;
70                       FP : mutable FinderProcess)
71         returns mutable Binder;
72
73 --    InitProductData  (me: mutable) returns Part from STEPConstruct;
74
75 --    MakeProductData  (me : mutable;
76 --        SR      : ShapeRepresentation from StepShape;
77 --      SDRTool : Part from STEPConstruct;
78 --      model   : StepModel from StepData;
79 --        addPRPC : Boolean)
80 --          returns mutable Binder;
81
82
83     SetMode (me : mutable; M : StepModelType from STEPControl); 
84
85     Mode (me) returns StepModelType from STEPControl;
86
87     SetGroupMode (me : mutable; mode : Integer);
88     -- Default is 0 (no group item)
89     -- 1 for REPRESENTATION_RELATIONSHIP with ITEM_DEFINED_TRANSFORMATION
90     -- other positive values if needed (not implemented)
91
92     GroupMode (me) returns Integer;
93
94     SetTolerance (me : mutable; Tol : Real);
95     --  Tol <= 0 means Unset
96
97     IsAssembly (me; S: in out Shape from TopoDS) returns Boolean is virtual;
98         ---Purpose: Customizable method to check whether shape S should
99         --          be written as assembly or not
100         --          Default implementation uses flag GroupMode and analyses
101         --          the shape itself
102         --          NOTE: this method can modify shape
103         
104     getNMSSRForGroup (me; 
105                       shapeGroup : HSequenceOfShape from TopTools;
106                       FP : mutable FinderProcess;
107                       isNMSSRCreated : in out Boolean)
108     returns NonManifoldSurfaceShapeRepresentation from StepShape
109     is private;
110     ---Purpose: Non-manifold shapes are stored in NMSSR group
111     --          (NON_MANIFOLD_SURFACE_SHAPE_REPRESENTATION).
112     --          Use this method to get the corresponding NMSSR (or
113     --          to create a new one if doesn't exist yet)
114     --          (ssv; 13.11.2010)
115
116 fields
117
118     mygroup  :  Integer;
119     mytoler  :  Real;
120     myContext:  ContextTool from STEPConstruct;
121     
122 end ActorWrite;