summaryrefslogtreecommitdiff
path: root/inc/IGESSolid_BooleanTree.hxx
blob: 1e130f90db26f1e0460608088649582f2c6c8c4d (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
// 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 _IGESSolid_BooleanTree_HeaderFile
#define _IGESSolid_BooleanTree_HeaderFile

#ifndef _Standard_HeaderFile
#include <Standard.hxx>
#endif
#ifndef _Standard_DefineHandle_HeaderFile
#include <Standard_DefineHandle.hxx>
#endif
#ifndef _Handle_IGESSolid_BooleanTree_HeaderFile
#include <Handle_IGESSolid_BooleanTree.hxx>
#endif

#ifndef _Handle_IGESData_HArray1OfIGESEntity_HeaderFile
#include <Handle_IGESData_HArray1OfIGESEntity.hxx>
#endif
#ifndef _Handle_TColStd_HArray1OfInteger_HeaderFile
#include <Handle_TColStd_HArray1OfInteger.hxx>
#endif
#ifndef _IGESData_IGESEntity_HeaderFile
#include <IGESData_IGESEntity.hxx>
#endif
#ifndef _Standard_Integer_HeaderFile
#include <Standard_Integer.hxx>
#endif
#ifndef _Standard_Boolean_HeaderFile
#include <Standard_Boolean.hxx>
#endif
#ifndef _Handle_IGESData_IGESEntity_HeaderFile
#include <Handle_IGESData_IGESEntity.hxx>
#endif
class IGESData_HArray1OfIGESEntity;
class TColStd_HArray1OfInteger;
class Standard_OutOfRange;
class IGESData_IGESEntity;


//! defines BooleanTree, Type <180> Form Number <0> <br>
//!          in package IGESSolid <br>
//!          The Boolean tree describes a binary tree structure <br>
//!          composed of regularized Boolean operations and operands, <br>
//!          in post-order notation. <br>
class IGESSolid_BooleanTree : public IGESData_IGESEntity {

public:

  
  Standard_EXPORT   IGESSolid_BooleanTree();
  //! This method is used to set the fields of the class <br>
//!           BooleanTree <br>
//!       - operands   : Array containing pointer to DE of operands <br>
//!       - operations : Array containing integer type for operations <br>
  Standard_EXPORT     void Init(const Handle(IGESData_HArray1OfIGESEntity)& operands,const Handle(TColStd_HArray1OfInteger)& operations) ;
  //! returns the length of the post-order list <br>
  Standard_EXPORT     Standard_Integer Length() const;
  //! returns True if Index'th value in the post-order list is an Operand; <br>
//! else returns False if it is an Integer Operations <br>
//! raises exception if Index < 1 or Index > Length() <br>
  Standard_EXPORT     Standard_Boolean IsOperand(const Standard_Integer Index) const;
  //! returns the Index'th value in the post-order list only if it is <br>
//! an operand else returns NULL <br>
//! raises exception if Index < 1 or Index > Length() <br>
  Standard_EXPORT     Handle_IGESData_IGESEntity Operand(const Standard_Integer Index) const;
  //! returns the Index'th value in the post-order list only if it is <br>
//! an operation else returns 0 <br>
//! raises exception if Index < 1 or Index > Length() <br>
  Standard_EXPORT     Standard_Integer Operation(const Standard_Integer Index) const;




  DEFINE_STANDARD_RTTI(IGESSolid_BooleanTree)

protected:




private: 


Handle_IGESData_HArray1OfIGESEntity theOperands;
Handle_TColStd_HArray1OfInteger theOperations;


};





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


#endif