File: IGESToBRep_IGESBoundary.hxx

package info (click to toggle)
oce 0.18.3-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 301,548 kB
  • sloc: cpp: 1,190,609; ansic: 67,225; sh: 11,630; tcl: 7,954; cs: 5,221; python: 2,867; java: 1,522; makefile: 342; xml: 292; perl: 37
file content (150 lines) | stat: -rw-r--r-- 6,258 bytes parent folder | download | duplicates (5)
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
// 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_IGESBoundary_HeaderFile
#define _IGESToBRep_IGESBoundary_HeaderFile

#include <Standard.hxx>
#include <Standard_DefineHandle.hxx>
#include <Handle_IGESToBRep_IGESBoundary.hxx>

#include <IGESToBRep_CurveAndSurface.hxx>
#include <Handle_IGESData_IGESEntity.hxx>
#include <Handle_ShapeExtend_WireData.hxx>
#include <TopoDS_Face.hxx>
#include <gp_Trsf2d.hxx>
#include <Standard_Real.hxx>
#include <Standard_Integer.hxx>
#include <MMgt_TShared.hxx>
#include <Standard_Boolean.hxx>
#include <Handle_IGESData_HArray1OfIGESEntity.hxx>
class IGESData_IGESEntity;
class ShapeExtend_WireData;
class IGESToBRep_CurveAndSurface;
class TopoDS_Face;
class gp_Trsf2d;
class IGESData_HArray1OfIGESEntity;


//! This class is intended to translate IGES boundary entity
//! (142-CurveOnSurface, 141-Boundary or 508-Loop) into the wire.
//! Methods Transfer are virtual and are redefined in Advanced
//! Data Exchange to optimize the translation and take into
//! account advanced parameters.
class IGESToBRep_IGESBoundary : public MMgt_TShared
{

public:

  
  //! Empty constructor
  Standard_EXPORT IGESToBRep_IGESBoundary();
  
  //! Empty constructor
  Standard_EXPORT IGESToBRep_IGESBoundary(const IGESToBRep_CurveAndSurface& CS);
  
  //! Inits the object with parameters common for all
  //! types of IGES boundaries.
  //! <CS>: object to be used for retrieving translation parameters
  //! and sending messages,
  //! <entity>: boundary entity to be processed,
  //! <face>, <trans>, <uFact>: as for IGESToBRep_TopoCurve
  //! <filepreference>: preferred representation (2 or 3) given
  //! in the IGES file
  Standard_EXPORT   void Init (const IGESToBRep_CurveAndSurface& CS, const Handle(IGESData_IGESEntity)& entity, const TopoDS_Face& face, const gp_Trsf2d& trans, const Standard_Real uFact, const Standard_Integer filepreference) ;
  
  //! Returns the resulting wire
      Handle(ShapeExtend_WireData) WireData()  const;
  
  //! Returns the wire from 3D curves (edges contain 3D curves
  //! and may contain pcurves)
      Handle(ShapeExtend_WireData) WireData3d()  const;
  
  //! Returns the the wire from 2D curves (edges contain pcurves
  //! only)
      Handle(ShapeExtend_WireData) WireData2d()  const;
  
  //! Translates 141 and 142 entities.
  //! Returns True if the curve has been successfully translated,
  //! otherwise returns False.
  //! <okCurve..>: flags that indicate whether corresponding
  //! representation has been successfully translated
  //! (must be set to True before first call),
  //! <curve3d>: model space curve for 142 and current model space
  //! curve for 141,
  //! <toreverse3d>: False for 142 and current orientation flag
  //! for 141,
  //! <curves2d>: 1 parameter space curve for 142 or list of
  //! them for current model space curves for 141,
  //! <number>: 1 for 142 and rank number of model space curve for 141.
  Standard_EXPORT   Standard_Boolean Transfer (Standard_Boolean& okCurve, Standard_Boolean& okCurve3d, Standard_Boolean& okCurve2d, const Handle(IGESData_IGESEntity)& curve3d, const Standard_Boolean toreverse3d, const Handle(IGESData_HArray1OfIGESEntity)& curves2d, const Standard_Integer number) ;
  
  //! Translates 508 entity.
  //! Returns True if the curve has been successfully translated,
  //! otherwise returns False.
  //! Input object IGESBoundary must be created and initialized
  //! before.
  //! <okCurve..>: flags that indicate whether corresponding
  //! representation has been successfully translated
  //! (must be set to True before first call),
  //! <curve3d>: result of translation of current edge,
  //! <curves2d>: list of parameter space curves for edge,
  //! <toreverse2d>: orientation flag of current edge in respect
  //! to its model space curve,
  //! <number>: rank number of edge,
  //! <lsewd>: returns the result of translation of current edge.
  Standard_EXPORT   Standard_Boolean Transfer (Standard_Boolean& okCurve, Standard_Boolean& okCurve3d, Standard_Boolean& okCurve2d, const Handle(ShapeExtend_WireData)& curve3d, const Handle(IGESData_HArray1OfIGESEntity)& curves2d, const Standard_Boolean toreverse2d, const Standard_Integer number, Handle(ShapeExtend_WireData)& lsewd) ;
  
  //! Checks result of translation of IGES boundary entities
  //! (types 141, 142 or 508).
  //! Checks consistency of 2D and 3D representations and keeps
  //! only one if they are inconsistent.
  //! <result>: result of translation (returned by Transfer),
  //! <checkclosure>: False for 142 without parent 144 entity,
  //! otherwise True,
  //! <okCurve3d>, <okCurve2d>: those returned by Transfer.
  Standard_EXPORT virtual   void Check (const Standard_Boolean result, const Standard_Boolean checkclosure, const Standard_Boolean okCurve3d, const Standard_Boolean okCurve2d) ;




  DEFINE_STANDARD_RTTI(IGESToBRep_IGESBoundary)

protected:

  
  //! Methods called by both Transfer methods.
  Standard_EXPORT virtual   Standard_Boolean Transfer (Standard_Boolean& okCurve, Standard_Boolean& okCurve3d, Standard_Boolean& okCurve2d, const Handle(IGESData_IGESEntity)& icurve3d, const Handle(ShapeExtend_WireData)& scurve3d, const Standard_Boolean usescurve, const Standard_Boolean toreverse3d, const Handle(IGESData_HArray1OfIGESEntity)& curves2d, const Standard_Boolean toreverse2d, const Standard_Integer number, Handle(ShapeExtend_WireData)& lsewd) ;
  
  Standard_EXPORT static   void ReverseCurves3d (const Handle(ShapeExtend_WireData)& sewd) ;
  
  Standard_EXPORT static   void ReverseCurves2d (const Handle(ShapeExtend_WireData)& sewd, const TopoDS_Face& face) ;

  IGESToBRep_CurveAndSurface myCS;
  Handle(IGESData_IGESEntity) myentity;
  Handle(ShapeExtend_WireData) mysewd;
  Handle(ShapeExtend_WireData) mysewd3d;
  Handle(ShapeExtend_WireData) mysewd2d;
  TopoDS_Face myface;
  gp_Trsf2d mytrsf;
  Standard_Real myuFact;
  Standard_Integer myfilepreference;


private: 




};


#include <IGESToBRep_IGESBoundary.lxx>





#endif // _IGESToBRep_IGESBoundary_HeaderFile