summaryrefslogtreecommitdiff
path: root/inc/IGESToBRep.hxx
blob: bbf0ba65e37e5e26982cbfb4953e1cbae1a905a1 (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
137
138
139
140
141
142
143
144
145
146
147
148
149
// 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 _IGESToBRep_HeaderFile
#define _IGESToBRep_HeaderFile

#ifndef _Standard_HeaderFile
#include <Standard.hxx>
#endif
#ifndef _Standard_Macro_HeaderFile
#include <Standard_Macro.hxx>
#endif

#ifndef _Handle_IGESToBRep_AlgoContainer_HeaderFile
#include <Handle_IGESToBRep_AlgoContainer.hxx>
#endif
#ifndef _Standard_Boolean_HeaderFile
#include <Standard_Boolean.hxx>
#endif
#ifndef _Handle_IGESData_IGESEntity_HeaderFile
#include <Handle_IGESData_IGESEntity.hxx>
#endif
#ifndef _Standard_Integer_HeaderFile
#include <Standard_Integer.hxx>
#endif
#ifndef _Handle_TColStd_HSequenceOfTransient_HeaderFile
#include <Handle_TColStd_HSequenceOfTransient.hxx>
#endif
class IGESToBRep_AlgoContainer;
class IGESData_IGESEntity;
class TopoDS_Shape;
class TColStd_HSequenceOfTransient;
class TopoDS_Edge;
class TopoDS_Face;
class IGESToBRep_CurveAndSurface;
class IGESToBRep_BasicSurface;
class IGESToBRep_BasicCurve;
class IGESToBRep_TopoSurface;
class IGESToBRep_TopoCurve;
class IGESToBRep_BRepEntity;
class IGESToBRep_IGESBoundary;
class IGESToBRep_Reader;
class IGESToBRep_Actor;
class IGESToBRep_AlgoContainer;
class IGESToBRep_ToolContainer;


//! Provides tools in order to transfer IGES entities <br>
//!         to CAS.CADE. <br>
class IGESToBRep  {
public:

  void* operator new(size_t,void* anAddress) 
  {
    return anAddress;
  }
  void* operator new(size_t size) 
  {
    return Standard::Allocate(size); 
  }
  void  operator delete(void *anAddress) 
  {
    if (anAddress) Standard::Free((Standard_Address&)anAddress); 
  }

  //! Creates and initializes default AlgoContainer. <br>
  Standard_EXPORT   static  void Init() ;
  //! Sets default AlgoContainer <br>
  Standard_EXPORT   static  void SetAlgoContainer(const Handle(IGESToBRep_AlgoContainer)& aContainer) ;
  //! Returns default AlgoContainer <br>
  Standard_EXPORT   static  Handle_IGESToBRep_AlgoContainer AlgoContainer() ;
  //! Return True if the IGESEntity can be transfered by <br>
//!          TransferCurveAndSurface. <br>
//!          ex: All IGESEntity from IGESGeom <br>
  Standard_EXPORT   static  Standard_Boolean IsCurveAndSurface(const Handle(IGESData_IGESEntity)& start) ;
  //! Return True if the IGESEntity can be transfered by <br>
//!          TransferBasicCurve. <br>
//!          ex: CircularArc, ConicArc, Line, CopiousData, <br>
//!              BSplineCurve, SplineCurve... from IGESGeom : <br>
//!              104,110,112,126 <br>
  Standard_EXPORT   static  Standard_Boolean IsBasicCurve(const Handle(IGESData_IGESEntity)& start) ;
  //! Return True if the IGESEntity can be transfered by <br>
//!          TransferBasicSurface. <br>
//!          ex: BSplineSurface, SplineSurface... from IGESGeom : <br>
//!              114,128 <br>
  Standard_EXPORT   static  Standard_Boolean IsBasicSurface(const Handle(IGESData_IGESEntity)& start) ;
  //! Return True if the IGESEntity can be transfered by <br>
//!          TransferTopoCurve. <br>
//!          ex: all Curves from IGESGeom : <br>
//!              all basic curves,102,130,142,144 <br>
  Standard_EXPORT   static  Standard_Boolean IsTopoCurve(const Handle(IGESData_IGESEntity)& start) ;
  //! Return True if the IGESEntity can be transfered by <br>
//!          TransferTopoSurface. <br>
//!          ex: All Surfaces from IGESGeom : <br>
//!              all basic surfaces,108,118,120,122,141,143 <br>
  Standard_EXPORT   static  Standard_Boolean IsTopoSurface(const Handle(IGESData_IGESEntity)& start) ;
  //! Return True if the IGESEntity can be transfered by <br>
//!          TransferBRepEntity. <br>
//!          ex: VertexList, EdgeList, Loop, Face, Shell, <br>
//!              Manifold Solid BRep Object from IGESSolid : <br>
//!              502, 504, 508, 510, 514, 186. <br>
  Standard_EXPORT   static  Standard_Boolean IsBRepEntity(const Handle(IGESData_IGESEntity)& start) ;
  //! Creates  a file  Shape_'number' with the shape being <br>
//!          able to be restored by Draw. <br>
  Standard_EXPORT   static  void WriteShape(const TopoDS_Shape& shape,const Standard_Integer number) ;
  
  Standard_EXPORT   static  Standard_Integer IGESCurveToSequenceOfIGESCurve(const Handle(IGESData_IGESEntity)& curve,Handle(TColStd_HSequenceOfTransient)& sequence) ;
  
  Standard_EXPORT   static  Standard_Boolean TransferPCurve(const TopoDS_Edge& fromedge,const TopoDS_Edge& toedge,const TopoDS_Face& face) ;





protected:





private:




friend class IGESToBRep_CurveAndSurface;
friend class IGESToBRep_BasicSurface;
friend class IGESToBRep_BasicCurve;
friend class IGESToBRep_TopoSurface;
friend class IGESToBRep_TopoCurve;
friend class IGESToBRep_BRepEntity;
friend class IGESToBRep_IGESBoundary;
friend class IGESToBRep_Reader;
friend class IGESToBRep_Actor;
friend class IGESToBRep_AlgoContainer;
friend class IGESToBRep_ToolContainer;

};





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


#endif