summaryrefslogtreecommitdiff
path: root/inc/IGESCAFControl_Reader.hxx
blob: 20a834f3da6245a482f7ef8c1457b4002faa493b (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
// 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 _IGESCAFControl_Reader_HeaderFile
#define _IGESCAFControl_Reader_HeaderFile

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

#ifndef _Standard_Boolean_HeaderFile
#include <Standard_Boolean.hxx>
#endif
#ifndef _IGESControl_Reader_HeaderFile
#include <IGESControl_Reader.hxx>
#endif
#ifndef _Handle_XSControl_WorkSession_HeaderFile
#include <Handle_XSControl_WorkSession.hxx>
#endif
#ifndef _Handle_TDocStd_Document_HeaderFile
#include <Handle_TDocStd_Document.hxx>
#endif
#ifndef _Standard_CString_HeaderFile
#include <Standard_CString.hxx>
#endif
class XSControl_WorkSession;
class TDocStd_Document;
class TCollection_AsciiString;


//! Provides a tool to read IGES file and put it into <br>
//!          DECAF document. Besides transfer of shapes (including <br>
//!          assemblies) provided by IGESControl, supports also <br>
//!          colors and part names <br>
//!          IGESCAFControl_Reader reader; Methods for translation of an IGES file: <br>
//!          reader.ReadFile("filename"); <br>
//!          reader.Transfer(Document); or <br>
//!          reader.Perform("filename",doc); <br>
//!          Methods for managing reading attributes. <br>
//!          Colors <br>
//!          reader.SetColorMode(colormode); <br>
//!          Standard_Boolean colormode = reader.GetColorMode(); <br>
//!          Layers <br>
//!          reader.SetLayerMode(layermode); <br>
//!          Standard_Boolean layermode = reader.GetLayerMode(); <br>
//!          Names <br>
//!          reader.SetNameMode(namemode); <br>
//!          Standard_Boolean namemode = reader.GetNameMode(); <br>
class IGESCAFControl_Reader  : public IGESControl_Reader {
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 a reader with an empty <br>
//!          IGES model and sets ColorMode, LayerMode and NameMode to Standard_True. <br>
  Standard_EXPORT   IGESCAFControl_Reader();
  //! Creates a reader tool and attaches it to an already existing Session <br>
//! 	    Clears the session if it was not yet set for IGES <br>
  Standard_EXPORT   IGESCAFControl_Reader(const Handle(XSControl_WorkSession)& WS,const Standard_Boolean scratch = Standard_True);
  //! Translates currently loaded IGES file into the document <br>
//!          Returns True if succeeded, and False in case of fail <br>
  Standard_EXPORT     Standard_Boolean Transfer(Handle(TDocStd_Document)& doc) ;
  
  Standard_EXPORT     Standard_Boolean Perform(const TCollection_AsciiString& filename,Handle(TDocStd_Document)& doc) ;
  //! Translate IGES file given by filename into the document <br>
//!          Return True if succeeded, and False in case of fail <br>
  Standard_EXPORT     Standard_Boolean Perform(const Standard_CString filename,Handle(TDocStd_Document)& doc) ;
  //! Set ColorMode for indicate read Colors or not. <br>
  Standard_EXPORT     void SetColorMode(const Standard_Boolean colormode) ;
  
  Standard_EXPORT     Standard_Boolean GetColorMode() const;
  //! Set NameMode for indicate read Name or not. <br>
  Standard_EXPORT     void SetNameMode(const Standard_Boolean namemode) ;
  
  Standard_EXPORT     Standard_Boolean GetNameMode() const;
  //! Set LayerMode for indicate read Layers or not. <br>
  Standard_EXPORT     void SetLayerMode(const Standard_Boolean layermode) ;
  
  Standard_EXPORT     Standard_Boolean GetLayerMode() const;





protected:

  //! Reads colors of IGES entities and sets <br>
//!          corresponding color assignments in the DECAF document <br>
  Standard_EXPORT     Standard_Boolean ReadColors(Handle(TDocStd_Document)& doc) const;
  //! Reads Names of IGES entities and sets <br>
//!          corresponding name to label with shape in the DECAF document <br>
  Standard_EXPORT     Standard_Boolean ReadNames(Handle(TDocStd_Document)& doc) const;
  //! Reads layers of parts defined in the IGES model and <br>
//!          set reference between shape and layers in the DECAF document <br>
  Standard_EXPORT     Standard_Boolean ReadLayers(Handle(TDocStd_Document)& doc) const;




private:



Standard_Boolean myColorMode;
Standard_Boolean myNameMode;
Standard_Boolean myLayerMode;


};





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


#endif