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
|
// 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 _IGESSelect_SelectBasicGeom_HeaderFile
#define _IGESSelect_SelectBasicGeom_HeaderFile
#ifndef _Standard_HeaderFile
#include <Standard.hxx>
#endif
#ifndef _Standard_DefineHandle_HeaderFile
#include <Standard_DefineHandle.hxx>
#endif
#ifndef _Handle_IGESSelect_SelectBasicGeom_HeaderFile
#include <Handle_IGESSelect_SelectBasicGeom.hxx>
#endif
#ifndef _Standard_Integer_HeaderFile
#include <Standard_Integer.hxx>
#endif
#ifndef _IFSelect_SelectExplore_HeaderFile
#include <IFSelect_SelectExplore.hxx>
#endif
#ifndef _Standard_Boolean_HeaderFile
#include <Standard_Boolean.hxx>
#endif
#ifndef _Handle_Standard_Transient_HeaderFile
#include <Handle_Standard_Transient.hxx>
#endif
#ifndef _Handle_IGESData_IGESEntity_HeaderFile
#include <Handle_IGESData_IGESEntity.hxx>
#endif
class Standard_Transient;
class Interface_Graph;
class Interface_EntityIterator;
class TCollection_AsciiString;
class IGESData_IGESEntity;
//! This selection returns the basic geometric elements <br>
//! contained in an IGES Entity <br>
//! Intended to run a "quick" transfer. I.E. : <br>
//! - for a Group, considers its Elements <br>
//! - for a Trimmed or Bounded Surface or a Face (BREP), <br>
//! considers the 3D curves of each of its loops <br>
//! - for a Plane (108), considers its Bounding Curve <br>
//! - for a Curve itself, takes it <br>
//! <br>
//! Also, FREE surfaces are taken, because curve 3d is known for <br>
//! them. (the ideal should be to have their natural bounds) <br>
//! <br>
//! If <curvesonly> is set, ONLY curves-3d are returned <br>
class IGESSelect_SelectBasicGeom : public IFSelect_SelectExplore {
public:
//! Creates a SelectBasicGeom, which allways works recursively <br>
//! mode = -1 : Returns Surfaces (without trimming) <br>
//! mode = +1 : Returns Curves 3D (free or bound of surface) <br>
//! mode = +2 : Returns Basic Curves 3D : as 1 but CompositeCurves <br>
//! are returned in detail <br>
//! mode = 0 : both <br>
Standard_EXPORT IGESSelect_SelectBasicGeom(const Standard_Integer mode);
Standard_EXPORT Standard_Boolean CurvesOnly() const;
//! Explores an entity, to take its contained Curves 3d <br>
//! Works recursively <br>
Standard_EXPORT Standard_Boolean Explore(const Standard_Integer level,const Handle(Standard_Transient)& ent,const Interface_Graph& G,Interface_EntityIterator& explored) const;
//! Returns a text defining the criterium : "Curves 3d" or <br>
//! "Basic Geometry" <br>
Standard_EXPORT TCollection_AsciiString ExploreLabel() const;
//! This method can be called from everywhere to get the curves <br>
//! as sub-elements of a given curve : <br>
//! CompositeCurve : explored lists its subs + returns True <br>
//! Any Curve : explored is not filled but returned is True <br>
//! Other : returned is False <br>
Standard_EXPORT static Standard_Boolean SubCurves(const Handle(IGESData_IGESEntity)& ent,Interface_EntityIterator& explored) ;
DEFINE_STANDARD_RTTI(IGESSelect_SelectBasicGeom)
protected:
private:
Standard_Integer thegeom;
};
// other Inline functions and methods (like "C++: function call" methods)
#endif
|