summaryrefslogtreecommitdiff
path: root/inc/STEPControl_ActorWrite.hxx
blob: edcb3a0bbd2c2c8d9aa39bb99273342beb218527 (plain)
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
// This file is generated by WOK (CPPExt).
// Please do not edit this file; modify original file instead.
// The copyright and license terms as defined for the original file apply to 
// this header file considered to be the "object code" form of the original source.

#ifndef _STEPControl_ActorWrite_HeaderFile
#define _STEPControl_ActorWrite_HeaderFile

#ifndef _Standard_HeaderFile
#include <Standard.hxx>
#endif
#ifndef _Standard_DefineHandle_HeaderFile
#include <Standard_DefineHandle.hxx>
#endif
#ifndef _Handle_STEPControl_ActorWrite_HeaderFile
#include <Handle_STEPControl_ActorWrite.hxx>
#endif

#ifndef _Standard_Integer_HeaderFile
#include <Standard_Integer.hxx>
#endif
#ifndef _Standard_Real_HeaderFile
#include <Standard_Real.hxx>
#endif
#ifndef _STEPConstruct_ContextTool_HeaderFile
#include <STEPConstruct_ContextTool.hxx>
#endif
#ifndef _Transfer_ActorOfFinderProcess_HeaderFile
#include <Transfer_ActorOfFinderProcess.hxx>
#endif
#ifndef _Standard_Boolean_HeaderFile
#include <Standard_Boolean.hxx>
#endif
#ifndef _Handle_Transfer_Finder_HeaderFile
#include <Handle_Transfer_Finder.hxx>
#endif
#ifndef _Handle_Transfer_Binder_HeaderFile
#include <Handle_Transfer_Binder.hxx>
#endif
#ifndef _Handle_Transfer_FinderProcess_HeaderFile
#include <Handle_Transfer_FinderProcess.hxx>
#endif
#ifndef _Handle_StepShape_ShapeDefinitionRepresentation_HeaderFile
#include <Handle_StepShape_ShapeDefinitionRepresentation.hxx>
#endif
#ifndef _Handle_StepGeom_Axis2Placement3d_HeaderFile
#include <Handle_StepGeom_Axis2Placement3d.hxx>
#endif
#ifndef _Handle_TopTools_HSequenceOfShape_HeaderFile
#include <Handle_TopTools_HSequenceOfShape.hxx>
#endif
#ifndef _STEPControl_StepModelType_HeaderFile
#include <STEPControl_StepModelType.hxx>
#endif
#ifndef _Handle_StepShape_NonManifoldSurfaceShapeRepresentation_HeaderFile
#include <Handle_StepShape_NonManifoldSurfaceShapeRepresentation.hxx>
#endif
class Transfer_Finder;
class Transfer_Binder;
class Transfer_FinderProcess;
class StepShape_ShapeDefinitionRepresentation;
class StepGeom_Axis2Placement3d;
class TopTools_HSequenceOfShape;
class TopoDS_Shape;
class StepShape_NonManifoldSurfaceShapeRepresentation;


//! This class performs the transfer of a Shape from TopoDS <br>
//!           to AP203 or AP214 (CD2 or DIS) <br>
class STEPControl_ActorWrite : public Transfer_ActorOfFinderProcess {

public:

  
  Standard_EXPORT   STEPControl_ActorWrite();
  
  Standard_EXPORT   virtual  Standard_Boolean Recognize(const Handle(Transfer_Finder)& start) ;
  
  Standard_EXPORT   virtual  Handle_Transfer_Binder Transfer(const Handle(Transfer_Finder)& start,const Handle(Transfer_FinderProcess)& FP) ;
  
  Standard_EXPORT     Handle_Transfer_Binder TransferSubShape(const Handle(Transfer_Finder)& start,const Handle(StepShape_ShapeDefinitionRepresentation)& SDR,Handle(StepGeom_Axis2Placement3d)& AX1,const Handle(Transfer_FinderProcess)& FP,const Handle(TopTools_HSequenceOfShape)& shapeGroup = NULL,const Standard_Boolean isManifold = Standard_True) ;
  
  Standard_EXPORT     Handle_Transfer_Binder TransferShape(const Handle(Transfer_Finder)& start,const Handle(StepShape_ShapeDefinitionRepresentation)& SDR,const Handle(Transfer_FinderProcess)& FP,const Handle(TopTools_HSequenceOfShape)& shapeGroup = NULL,const Standard_Boolean isManifold = Standard_True) ;
  
  Standard_EXPORT     Handle_Transfer_Binder TransferCompound(const Handle(Transfer_Finder)& start,const Handle(StepShape_ShapeDefinitionRepresentation)& SDR,const Handle(Transfer_FinderProcess)& FP) ;
  
  Standard_EXPORT     void SetMode(const STEPControl_StepModelType M) ;
  
  Standard_EXPORT     STEPControl_StepModelType Mode() const;
  
  Standard_EXPORT     void SetGroupMode(const Standard_Integer mode) ;
  
  Standard_EXPORT     Standard_Integer GroupMode() const;
  
  Standard_EXPORT     void SetTolerance(const Standard_Real Tol) ;
  //! Customizable method to check whether shape S should <br>
//!          be written as assembly or not <br>
//!          Default implementation uses flag GroupMode and analyses <br>
//!          the shape itself <br>
//!          NOTE: this method can modify shape <br>
  Standard_EXPORT   virtual  Standard_Boolean IsAssembly(TopoDS_Shape& S) const;




  DEFINE_STANDARD_RTTI(STEPControl_ActorWrite)

protected:




private: 

  //! Non-manifold shapes are stored in NMSSR group <br>
//!          (NON_MANIFOLD_SURFACE_SHAPE_REPRESENTATION). <br>
//!          Use this method to get the corresponding NMSSR (or <br>
//!          to create a new one if doesn't exist yet) <br>
//!          (ssv; 13.11.2010) <br>
  Standard_EXPORT     Handle_StepShape_NonManifoldSurfaceShapeRepresentation getNMSSRForGroup(const Handle(TopTools_HSequenceOfShape)& shapeGroup,const Handle(Transfer_FinderProcess)& FP,Standard_Boolean& isNMSSRCreated) const;

Standard_Integer mygroup;
Standard_Real mytoler;
STEPConstruct_ContextTool myContext;


};





// other Inline functions and methods (like "C++: function call" methods)


#endif