summaryrefslogtreecommitdiff
path: root/inc/StepData_FreeFormEntity.hxx
blob: 5686f6f1bf58f47f906430350e22f3e4a6178e57 (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
// 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 _StepData_FreeFormEntity_HeaderFile
#define _StepData_FreeFormEntity_HeaderFile

#ifndef _Standard_HeaderFile
#include <Standard.hxx>
#endif
#ifndef _Standard_DefineHandle_HeaderFile
#include <Standard_DefineHandle.hxx>
#endif
#ifndef _Handle_StepData_FreeFormEntity_HeaderFile
#include <Handle_StepData_FreeFormEntity.hxx>
#endif

#ifndef _TCollection_AsciiString_HeaderFile
#include <TCollection_AsciiString.hxx>
#endif
#ifndef _Handle_StepData_HArray1OfField_HeaderFile
#include <Handle_StepData_HArray1OfField.hxx>
#endif
#ifndef _Handle_StepData_FreeFormEntity_HeaderFile
#include <Handle_StepData_FreeFormEntity.hxx>
#endif
#ifndef _MMgt_TShared_HeaderFile
#include <MMgt_TShared.hxx>
#endif
#ifndef _Standard_CString_HeaderFile
#include <Standard_CString.hxx>
#endif
#ifndef _Standard_Boolean_HeaderFile
#include <Standard_Boolean.hxx>
#endif
#ifndef _Handle_TColStd_HSequenceOfAsciiString_HeaderFile
#include <Handle_TColStd_HSequenceOfAsciiString.hxx>
#endif
#ifndef _Standard_Integer_HeaderFile
#include <Standard_Integer.hxx>
#endif
class StepData_HArray1OfField;
class TColStd_HSequenceOfAsciiString;
class StepData_Field;


//! A Free Form Entity allows to record any kind of STEP <br>
//!           parameters, in any way of typing <br>
//!           It is implemented with an array of fields <br>
//!           A Complex entity can be defined, as a chain of FreeFormEntity <br>
//!           (see Next and As) <br>
class StepData_FreeFormEntity : public MMgt_TShared {

public:

  //! Creates a FreeFormEntity, with no field, no type <br>
  Standard_EXPORT   StepData_FreeFormEntity();
  //! Sets the type of an entity <br>
//!           For a complex one, the type of this member <br>
  Standard_EXPORT     void SetStepType(const Standard_CString typenam) ;
  //! Returns the recorded StepType <br>
//!           For a complex one, the type of this member <br>
  Standard_EXPORT     Standard_CString StepType() const;
  //! Sets a next member, in order to define or complete a Complex <br>
//!           entity <br>
//!           If <last> is True (D), this next will be set as last of list <br>
//!           Else, it is inserted just as next of <me> <br>
//!           If <next> is Null, Next is cleared <br>
  Standard_EXPORT     void SetNext(const Handle(StepData_FreeFormEntity)& next,const Standard_Boolean last = Standard_True) ;
  //! Returns the next member of a Complex entity <br>
//!           (remark : the last member has none) <br>
  Standard_EXPORT     Handle_StepData_FreeFormEntity Next() const;
  //! Returns True if a FreeFormEntity is Complex (i.e. has Next) <br>
  Standard_EXPORT     Standard_Boolean IsComplex() const;
  //! Returns the member of a FreeFormEntity of which the type name <br>
//!           is given (exact match, no sub-type) <br>
  Standard_EXPORT     Handle_StepData_FreeFormEntity Typed(const Standard_CString typenam) const;
  //! Returns the list of types (one type for a simple entity), <br>
//!           as is (non reordered) <br>
  Standard_EXPORT     Handle_TColStd_HSequenceOfAsciiString TypeList() const;
  //! Reorders a Complex entity if required, i.e. if member types <br>
//!           are not in alphabetic order <br>
//!           Returns False if nothing done (order was OK or simple entity), <br>
//!           True plus modified <ent> if <ent> has been reordered <br>
  Standard_EXPORT   static  Standard_Boolean Reorder(Handle(StepData_FreeFormEntity)& ent) ;
  //! Sets a count of Fields, from scratch <br>
  Standard_EXPORT     void SetNbFields(const Standard_Integer nb) ;
  //! Returns the count of fields <br>
  Standard_EXPORT     Standard_Integer NbFields() const;
  //! Returns a field from its rank, for read-only use <br>
  Standard_EXPORT    const StepData_Field& Field(const Standard_Integer num) const;
  //! Returns a field from its rank, in order to modify it <br>
  Standard_EXPORT     StepData_Field& CField(const Standard_Integer num) ;




  DEFINE_STANDARD_RTTI(StepData_FreeFormEntity)

protected:




private: 


TCollection_AsciiString thetype;
Handle_StepData_HArray1OfField thefields;
Handle_StepData_FreeFormEntity thenext;


};





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


#endif