Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef _GEOMAlgo_ListOfPnt_HeaderFile
00024 #define _GEOMAlgo_ListOfPnt_HeaderFile
00025
00026 #ifndef _Standard_Address_HeaderFile
00027 #include <Standard_Address.hxx>
00028 #endif
00029 #ifndef _Handle_GEOMAlgo_ListNodeOfListOfPnt_HeaderFile
00030 #include <Handle_GEOMAlgo_ListNodeOfListOfPnt.hxx>
00031 #endif
00032 #ifndef _Standard_Integer_HeaderFile
00033 #include <Standard_Integer.hxx>
00034 #endif
00035 #ifndef _Standard_Boolean_HeaderFile
00036 #include <Standard_Boolean.hxx>
00037 #endif
00038 class Standard_NoSuchObject;
00039 class GEOMAlgo_ListIteratorOfListOfPnt;
00040 class gp_Pnt;
00041 class GEOMAlgo_ListNodeOfListOfPnt;
00042
00043
00044 #ifndef _Standard_HeaderFile
00045 #include <Standard.hxx>
00046 #endif
00047 #ifndef _Standard_Macro_HeaderFile
00048 #include <Standard_Macro.hxx>
00049 #endif
00050
00051
00052 class GEOMAlgo_ListOfPnt {
00053
00054 public:
00055
00056 void* operator new(size_t,void* anAddress)
00057 {
00058 return anAddress;
00059 }
00060 void* operator new(size_t size)
00061 {
00062 return Standard::Allocate(size);
00063 }
00064 void operator delete(void *anAddress)
00065 {
00066 if (anAddress) Standard::Free((Standard_Address&)anAddress);
00067 }
00068
00069
00070
00071
00072 Standard_EXPORT GEOMAlgo_ListOfPnt();
00073
00074
00075 Standard_EXPORT void Assign(const GEOMAlgo_ListOfPnt& Other) ;
00076 void operator=(const GEOMAlgo_ListOfPnt& Other)
00077 {
00078 Assign(Other);
00079 }
00080
00081
00082
00083 Standard_EXPORT Standard_Integer Extent() const;
00084
00085
00086 Standard_EXPORT void Clear() ;
00087 ~GEOMAlgo_ListOfPnt()
00088 {
00089 Clear();
00090 }
00091
00092
00093 Standard_Boolean IsEmpty() const;
00094
00095
00096 Standard_EXPORT void Prepend(const gp_Pnt& I) ;
00097
00098
00099 Standard_EXPORT void Prepend(const gp_Pnt& I,GEOMAlgo_ListIteratorOfListOfPnt& theIt) ;
00100
00101
00102 Standard_EXPORT void Prepend(GEOMAlgo_ListOfPnt& Other) ;
00103
00104
00105 Standard_EXPORT void Append(const gp_Pnt& I) ;
00106
00107
00108 Standard_EXPORT void Append(const gp_Pnt& I,GEOMAlgo_ListIteratorOfListOfPnt& theIt) ;
00109
00110
00111 Standard_EXPORT void Append(GEOMAlgo_ListOfPnt& Other) ;
00112
00113
00114 Standard_EXPORT gp_Pnt& First() const;
00115
00116
00117 Standard_EXPORT gp_Pnt& Last() const;
00118
00119
00120 Standard_EXPORT void RemoveFirst() ;
00121
00122
00123 Standard_EXPORT void Remove(GEOMAlgo_ListIteratorOfListOfPnt& It) ;
00124
00125
00126 Standard_EXPORT void InsertBefore(const gp_Pnt& I,GEOMAlgo_ListIteratorOfListOfPnt& It) ;
00127
00128
00129 Standard_EXPORT void InsertBefore(GEOMAlgo_ListOfPnt& Other,GEOMAlgo_ListIteratorOfListOfPnt& It) ;
00130
00131
00132 Standard_EXPORT void InsertAfter(const gp_Pnt& I,GEOMAlgo_ListIteratorOfListOfPnt& It) ;
00133
00134
00135 Standard_EXPORT void InsertAfter(GEOMAlgo_ListOfPnt& Other,GEOMAlgo_ListIteratorOfListOfPnt& It) ;
00136
00137
00138 friend class GEOMAlgo_ListIteratorOfListOfPnt;
00139
00140
00141
00142 protected:
00143
00144
00145
00146
00147
00148
00149
00150
00151
00152 private:
00153
00154
00155
00156
00157
00158 Standard_EXPORT GEOMAlgo_ListOfPnt(const GEOMAlgo_ListOfPnt& Other);
00159
00160
00161
00162
00163 Standard_Address myFirst;
00164 Standard_Address myLast;
00165
00166
00167 };
00168
00169 #define Item gp_Pnt
00170 #define Item_hxx <gp_Pnt.hxx>
00171 #define TCollection_ListNode GEOMAlgo_ListNodeOfListOfPnt
00172 #define TCollection_ListNode_hxx <GEOMAlgo_ListNodeOfListOfPnt.hxx>
00173 #define TCollection_ListIterator GEOMAlgo_ListIteratorOfListOfPnt
00174 #define TCollection_ListIterator_hxx <GEOMAlgo_ListIteratorOfListOfPnt.hxx>
00175 #define Handle_TCollection_ListNode Handle_GEOMAlgo_ListNodeOfListOfPnt
00176 #define TCollection_ListNode_Type_() GEOMAlgo_ListNodeOfListOfPnt_Type_()
00177 #define TCollection_List GEOMAlgo_ListOfPnt
00178 #define TCollection_List_hxx <GEOMAlgo_ListOfPnt.hxx>
00179
00180 #include <TCollection_List.lxx>
00181
00182 #undef Item
00183 #undef Item_hxx
00184 #undef TCollection_ListNode
00185 #undef TCollection_ListNode_hxx
00186 #undef TCollection_ListIterator
00187 #undef TCollection_ListIterator_hxx
00188 #undef Handle_TCollection_ListNode
00189 #undef TCollection_ListNode_Type_
00190 #undef TCollection_List
00191 #undef TCollection_List_hxx
00192
00193
00194
00195
00196
00197
00198 #endif