diff --git a/adm/UDLIST b/adm/UDLIST index 1ea34dcd0d..e4d798a7e1 100644 --- a/adm/UDLIST +++ b/adm/UDLIST @@ -5,7 +5,6 @@ n Bnd n BVH n CSLib n Convert -n Dico n ElCLib n ElSLib n Expr diff --git a/dox/dev_guides/upgrade/upgrade.md b/dox/dev_guides/upgrade/upgrade.md index 9720f2f4a2..4ac97168ce 100644 --- a/dox/dev_guides/upgrade/upgrade.md +++ b/dox/dev_guides/upgrade/upgrade.md @@ -1081,6 +1081,9 @@ The following obsolete features have been removed: * Class *NCollection_QuickSort* has been removed. The code that used the tools provided by that class should be corrected manually. The recommended approach is to use sorting algorithms provided by STL. +* Package *Dico* has been removed. + The code that used the tools provided by that package should be corrected manually. + The recommended approach is to use NCollection_DataMap and NCollection_IndexedDataMap classes. @subsection upgrade_occt710_correction_of_TObj_Model Correction in TObj_Model class diff --git a/src/Dico/Dico_Dictionary.gxx b/src/Dico/Dico_Dictionary.gxx deleted file mode 100644 index b50f0beb51..0000000000 --- a/src/Dico/Dico_Dictionary.gxx +++ /dev/null @@ -1,467 +0,0 @@ -// Copyright (c) 1998-1999 Matra Datavision -// Copyright (c) 1999-2014 OPEN CASCADE SAS -// -// This file is part of Open CASCADE Technology software library. -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License version 2.1 as published -// by the Free Software Foundation, with special exception defined in the file -// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT -// distribution for complete text of the license and disclaimer of any warranty. -// -// Alternatively, this file may be used under the terms of Open CASCADE -// commercial license or contractual agreement. - -//#include pas en gxx -#include -#include - - - -// thecars[0] : caractere de consigne, caracterisant la cellule -// thecars[1] : indicateur de presence : 0 rien, ==thecar[0] item present -// thecars[2] : caractere du Sub ou 0 -// thecars[3] : caractere du Next ou 0 - -// REMARQUE : Fonctions d acces dupliquees : TCollection_AsciiString / CString -// C est a chaque fois le MEME CODE, mais Length et Value ne sont pas obtenues -// de la meme maniere ... -// SearchCell pas duplique : la version String appelle la version CString -// Les autres fonctions doivent d abord evaluer la longueur de -// Sur String, methode Length, mais sur CString, il faut evaluer par strlen -// String serait donc meilleur (plus systematique) MAIS suppose, sur appel -// CString, de constituer une TCollection_AsciiString ce qui peut couter ... -// CONCLUSION : Fonctions d acces par Nom dupliquees, pour optimisation - - -Dico_Dictionary::Dico_Dictionary () -{ - thecars[0] = thecars[1] = thecars[2] = thecars[3] = '\0'; - thesub.Nullify(); thenext.Nullify(); -} - - void Dico_Dictionary::SetChar (const char car) { thecars[0] = car; } - - -// .... HasItem .... - - Standard_Boolean Dico_Dictionary::HasItem - (const Standard_CString name, const Standard_Boolean exact) const -{ - Handle(Dico_Dictionary) acell; - Standard_Integer stat; - Standard_Size reslev; - SearchCell (name,strlen(name),name[0],1, acell,reslev,stat); - if (stat != 0 || reslev != 0) return Standard_False; - if (acell->HasIt()) return Standard_True; - if (!exact) { if (!acell->Complete(acell)) return Standard_False; } - return (acell->HasIt()); -} - - Standard_Boolean Dico_Dictionary::HasItem - (const TCollection_AsciiString& name, const Standard_Boolean exact) const -{ - Handle(Dico_Dictionary) acell; - Standard_Integer stat; - Standard_Size reslev; - SearchCell (name.ToCString(),name.Length(),name.Value(1),1, acell,reslev,stat); - if (stat != 0 || reslev != 0) return Standard_False; - if (acell->HasIt()) return Standard_True; - if (!exact) { if (!acell->Complete(acell)) return Standard_False; } - return (acell->HasIt()); -} - -// .... Item .... - - const TheItem& Dico_Dictionary::Item - (const Standard_CString name, const Standard_Boolean exact) const -{ - Handle(Dico_Dictionary) acell; - Standard_Integer stat; - Standard_Size reslev; - SearchCell (name,strlen(name),name[0],1, acell,reslev,stat); - if (stat != 0 || reslev != 0) - Standard_NoSuchObject::Raise("Dictionary : Item"); - if (acell->HasIt()) return acell->It(); - if (!exact) { if (!acell->Complete(acell)) return acell->It(); } - if (!acell->HasIt()) Standard_NoSuchObject::Raise("Dictionary : Item"); - return (acell->It()); -} - - const TheItem& Dico_Dictionary::Item - (const TCollection_AsciiString& name, const Standard_Boolean exact) const -{ - Handle(Dico_Dictionary) acell; - Standard_Integer stat; - Standard_Size reslev; - SearchCell (name.ToCString(),name.Length(),name.Value(1),1, acell,reslev,stat); - if (stat != 0 || reslev != 0) - Standard_NoSuchObject::Raise("Dictionary : Item"); - if (acell->HasIt()) return acell->It(); - if (!exact) { if (!acell->Complete(acell)) return acell->It(); } - if (!acell->HasIt()) Standard_NoSuchObject::Raise("Dictionary : Item"); - return (acell->It()); -} - -// .... GetItem .... - - Standard_Boolean Dico_Dictionary::GetItem - (const Standard_CString name, - TheItem& anitem, const Standard_Boolean exact) const -{ - Handle(Dico_Dictionary) acell; - Standard_Integer stat; - Standard_Size reslev; - SearchCell (name,strlen(name),name[0],1, acell,reslev,stat); - if (stat != 0 || reslev != 0) return Standard_False; - if (acell->HasIt()) { anitem = acell->It(); return Standard_True; } - if (!exact) { if (!acell->Complete(acell)) return Standard_False; } - anitem = acell->It(); - return (acell->HasIt()); -} - - Standard_Boolean Dico_Dictionary::GetItem - (const TCollection_AsciiString& name, - TheItem& anitem, const Standard_Boolean exact) const -{ - Handle(Dico_Dictionary) acell; - Standard_Integer stat; - Standard_Size reslev; - SearchCell (name.ToCString(),name.Length(),name.Value(1),1, acell,reslev,stat); - if (stat != 0 || reslev != 0) return Standard_False; - if (acell->HasIt()) { anitem = acell->It(); return Standard_True; } - if (!exact) { if (!acell->Complete(acell)) return Standard_False; } - anitem = acell->It(); - return (acell->HasIt()); -} - -// .... SetItem .... - - void Dico_Dictionary::SetItem - (const Standard_CString name, - const TheItem& anitem, const Standard_Boolean exact) -{ - Handle(Dico_Dictionary) acell; - Standard_Integer stat; - Standard_Size reslev; - Standard_Size namlen = strlen(name); - SearchCell (name,namlen,name[0],1, acell,reslev,stat); - if (!exact && !acell->HasIt()) - { if (acell->Complete(acell)) { acell->SetIt(anitem); return; } } - if (stat < 0) { cout<<"Dictionary walk back not performed"<SetIt(anitem); -} - - - void Dico_Dictionary::SetItem - (const TCollection_AsciiString& name, - const TheItem& anitem, const Standard_Boolean exact) -{ - Handle(Dico_Dictionary) acell; - Standard_Integer stat; - Standard_Size reslev; - Standard_CString namval = name.ToCString(); - Standard_Integer namlen = name.Length(); - SearchCell (namval,namlen,name.Value(1),1, acell,reslev,stat); - if (!exact && !acell->HasIt()) - { if (acell->Complete(acell)) { acell->SetIt(anitem); return; } } - if (stat < 0) { cout<<"Dictionary walk back not performed"<SetIt(anitem); -} - - -// .... NewItem .... - - TheItem& Dico_Dictionary::NewItem - (const Standard_CString name, - Standard_Boolean& isvalued, const Standard_Boolean exact) -{ - Handle(Dico_Dictionary) acell; - Standard_Integer stat; - Standard_Size reslev; - Standard_Size namlen = strlen(name); - SearchCell (name,namlen,name[0],1, acell,reslev,stat); - if (stat == 0 && reslev == 0) { - isvalued = acell->HasIt(); // ancien statut - acell->DeclIt(); // nouveau statut = value d office - return acell->ItAdr(); - } - if (!exact) { - if (acell->Complete(acell)) - { isvalued = acell->HasIt(); acell->DeclIt(); return acell->ItAdr(); } - } - if (stat < 0) { Standard_NoSuchObject::Raise("Dictionary : NewItem"); } - NewCell (name,namlen, acell,reslev,stat); - isvalued = acell->HasIt(); // ancien statut - acell->DeclIt(); // nouveau statut = value d office - return acell->ItAdr(); -} - - - TheItem& Dico_Dictionary::NewItem - (const TCollection_AsciiString& name, - Standard_Boolean& isvalued, const Standard_Boolean exact) -{ - Handle(Dico_Dictionary) acell; - Standard_Integer stat; - Standard_Size reslev; - Standard_Integer namlen = name.Length(); - Standard_CString namval = name.ToCString(); - SearchCell (namval,namlen,name.Value(1),1, acell,reslev,stat); - if (stat == 0 && reslev == 0) { - isvalued = acell->HasIt(); // ancien statut - acell->DeclIt(); // nouveau statut = value d office - return acell->ItAdr(); - } - if (!exact) { - if (acell->Complete(acell)) - { isvalued = acell->HasIt(); acell->DeclIt(); return acell->ItAdr(); } - } - if (stat < 0) { Standard_NoSuchObject::Raise("Dictionary : NewItem"); } - NewCell (namval,namlen, acell,reslev,stat); - isvalued = acell->HasIt(); // ancien statut - acell->DeclIt(); // nouveau statut = value d office - return acell->ItAdr(); -} - -// .... RemoveItem .... - - Standard_Boolean Dico_Dictionary::RemoveItem - (const Standard_CString name, - const Standard_Boolean cln, const Standard_Boolean exact) -{ - Handle(Dico_Dictionary) acell; - Standard_Integer stat; - Standard_Size reslev; - SearchCell (name,strlen(name),name[0],1, acell,reslev,stat); -// if (stat != 0) { cout<<"Dictionary : RemoveItem not found"<HasIt()) - { if (!acell->Complete(acell)) return Standard_False; } - acell->RemoveIt(); - if (cln) Clean(); - return Standard_True; -} - - Standard_Boolean Dico_Dictionary::RemoveItem - (const TCollection_AsciiString& name, - const Standard_Boolean cln, const Standard_Boolean exact) -{ - Handle(Dico_Dictionary) acell; - Standard_Integer stat; - Standard_Size reslev; - SearchCell (name.ToCString(),name.Length(),name.Value(1),1, acell,reslev,stat); -// if (stat != 0) { cout<<"Dictionary : RemoveItem not found"<HasIt()) - { if (!acell->Complete(acell)) return Standard_False; } - acell->RemoveIt(); - if (cln) Clean(); - return Standard_True; -} - -// .... Methodes d Interet General .... - - void Dico_Dictionary::Clean () -{ - if (HasSub()) { - thesub->Clean(); - if (!thesub->HasIt() && !thesub->HasSub()) { // alors prendre son Next - if (thesub->HasNext()) { - thesub = thesub->Next(); - thecars[2] = thesub->CellChar(); - } else { - thesub.Nullify(); - thecars[2] = '\0'; - } - } - } - if (HasNext()) { - thenext->Clean(); - if (!thenext->HasIt() && !thenext->HasSub()) { // alors prendre son Next - if (thenext->HasNext()) { - thenext = thenext->Next(); - thecars[3] = thenext->CellChar(); - } else { - thenext.Nullify(); - thecars[3] = '\0'; - } - } - } -} - - Standard_Boolean Dico_Dictionary::IsEmpty () const -{ - if (thecars[1] != '\0') return Standard_False; - if (!thesub.IsNull()) - { if (!thesub->IsEmpty()) return Standard_False; } - if (!thenext.IsNull()) - { if (!thenext->IsEmpty()) return Standard_False; } - return Standard_True; -} - - void Dico_Dictionary::Clear () -{ - thecars[0] = thecars[1] = thecars[2] = thecars[3] = '\0'; - thesub.Nullify(); thenext.Nullify(); -} - - - Handle(Dico_Dictionary) Dico_Dictionary::Copy () const -{ - Handle(Dico_Dictionary) newdic = new Dico_Dictionary; -// Handle(Dico_Dictionary)::DownCast(ShallowCopy()); - newdic->GetCopied(this); // qui doit gerer completement thecars et item - return newdic; -} - -// ######################################################################## - -// .... Routines internes .... - - Standard_Boolean Dico_Dictionary::HasSub () const - { return (thecars[2] != '\0'); } - - Handle(Dico_Dictionary) Dico_Dictionary::Sub () const { return thesub; } - - Standard_Boolean Dico_Dictionary::HasNext () const - { return (thecars[3] != '\0'); } - - Handle(Dico_Dictionary) Dico_Dictionary::Next () const { return thenext; } - - void Dico_Dictionary::SetSub (const Handle(Dico_Dictionary)& acell) -{ - thesub = acell; thecars[2] = '\0'; - if (!acell.IsNull()) thecars[2] = acell->CellChar(); -} - - void Dico_Dictionary::SetNext (const Handle(Dico_Dictionary)& acell) -{ - thenext = acell; thecars[3] = '\0'; - if (!acell.IsNull()) thecars[3] = acell->CellChar(); -} - -// .... SearchCell .... - - void Dico_Dictionary::SearchCell - (const Standard_CString name, const Standard_Size lmax, - const Standard_Character car, const Standard_Size level, - Handle(Dico_Dictionary)& acell, - Standard_Size& reslev, Standard_Integer& stat) const -{ - reslev = lmax - level; - if (car > thecars[0]) { - if (thecars[3] == '\0') { acell = this; stat = 1; return; } - else { // ici, HasNext - if (thecars[3] > car) { acell = this; stat = 1; return; } - Standard_Integer stat2; - Standard_Size lev2; - thenext->SearchCell (name,lmax,car,level,acell,lev2,stat2); - if (stat2 < 0) { acell = this; stat = 1; return; } - else { stat = stat2; reslev = lev2; return; } - } - } - else if (car == thecars[0]) { - if (reslev == 0 || thecars[2] == '\0') // c-a-d !HasSub - { acell = this; stat = 0; return; } - else { - Standard_Character carsub = name[level]; // caractere no (level+1); - if (thecars[2] > carsub) { acell = this; stat = 0; return; } - Standard_Integer stat2; - Standard_Size lev2; - thesub->SearchCell (name,lmax,carsub,level+1,acell,lev2,stat2); - if (stat2 < 0) { acell = this; stat = 0; return; } - else { stat = stat2; reslev = lev2; return; } - } - } - else /*if (car < thecars[0])*/{ acell = this; stat = -1; return; } -} - - -// .... NewCell .... - - void Dico_Dictionary::NewCell - (const Standard_CString name, const Standard_Size namlen, - Handle(Dico_Dictionary)& acell, - const Standard_Size reslev, const Standard_Integer stat) -{ - Standard_Size level = namlen - reslev; - if (stat > 0) { // Creer une cellule next - Handle(Dico_Dictionary) newcell = new Dico_Dictionary; - newcell->SetChar( name[level-1] ); // caractere no level - if (acell->HasNext()) newcell->SetNext(acell->Next()); - acell->SetNext(newcell); - acell = newcell; - } -// A present, voir les sous-niveaux - for (Standard_Size i = level+1; i <= namlen; i ++) { - Handle(Dico_Dictionary) newcell = new Dico_Dictionary; - newcell->SetChar(name[i-1]); - if (acell->HasSub()) newcell->SetNext(acell->Sub()); - acell->SetSub(newcell); - acell = newcell; - } -} - - - Standard_Boolean Dico_Dictionary::Complete - (Handle(Dico_Dictionary)& newcell) const -{ - if (!HasSub()) { newcell = this; return HasIt(); } - if (HasIt()) { newcell = this; return Standard_False; } - if (thesub->HasNext()) { newcell = this; return Standard_False; } - return thesub->Complete (newcell); -} - - -// ## ## ## ## ## ## ## ## ## ## ## ## ## -// .... Actions Internes Unitaires .... - - Standard_Boolean Dico_Dictionary::HasIt () const - { return (thecars[1] != '\0'); } - - const TheItem& Dico_Dictionary::It () const { return theitem; } - - TheItem& Dico_Dictionary::ItAdr () { return theitem; } - - void Dico_Dictionary::SetIt (const TheItem& anitem) - { theitem = anitem; thecars[1] = thecars[0]; } - - void Dico_Dictionary::DeclIt () { thecars[1] = thecars[0]; } - - void Dico_Dictionary::RemoveIt () { thecars[1] = '\0'; } - - Standard_Character Dico_Dictionary::CellChar () const - { return thecars[0]; } - - void Dico_Dictionary::GetCopied (const Handle(Dico_Dictionary)& fromcell) -{ - thecars[0] = fromcell->CellChar(); -// On reprend l item s ilyena un - if (fromcell->HasIt()) { - thecars[1] = thecars[0]; - theitem = fromcell->It(); - } - else thecars[1] = '\0'; - -// On saute les noeuds vides - if (fromcell->HasSub()) { - thesub = fromcell->Sub()->Copy(); - while (!thesub->HasIt() && !thesub->HasSub()) { - thesub = thesub->Next(); - if (thesub.IsNull()) { thecars[2] = '\0'; break; } - else thecars[2] = thesub->CellChar(); - } - } - - if (fromcell->HasNext()) { - thenext = fromcell->Next()->Copy(); - while (!thenext->HasIt() && !thenext->HasSub()) { - thenext = thenext->Next(); - if (thenext.IsNull()) { thecars[3] = '\0'; break; } - else thecars[3] = thenext->CellChar(); - } - } -} diff --git a/src/Dico/Dico_DictionaryOfInteger.hxx b/src/Dico/Dico_DictionaryOfInteger.hxx deleted file mode 100644 index b0add9a5bb..0000000000 --- a/src/Dico/Dico_DictionaryOfInteger.hxx +++ /dev/null @@ -1,209 +0,0 @@ -// Created on: 1992-07-28 -// Created by: Christian CAILLET -// Copyright (c) 1992-1999 Matra Datavision -// Copyright (c) 1999-2014 OPEN CASCADE SAS -// -// This file is part of Open CASCADE Technology software library. -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License version 2.1 as published -// by the Free Software Foundation, with special exception defined in the file -// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT -// distribution for complete text of the license and disclaimer of any warranty. -// -// Alternatively, this file may be used under the terms of Open CASCADE -// commercial license or contractual agreement. - -#ifndef _Dico_DictionaryOfInteger_HeaderFile -#define _Dico_DictionaryOfInteger_HeaderFile - -#include -#include - -#include -#include -#include -#include -#include -#include -class Standard_NoSuchObject; -class Dico_IteratorOfDictionaryOfInteger; -class Dico_StackItemOfDictionaryOfInteger; -class TCollection_AsciiString; - - -class Dico_DictionaryOfInteger; -DEFINE_STANDARD_HANDLE(Dico_DictionaryOfInteger, MMgt_TShared) - - -class Dico_DictionaryOfInteger : public MMgt_TShared -{ - -public: - - - //! Creates a Dictionary cell. - //! A Dictionary is always created then handled by its first cell - //! After creating a Dictionary, user can call methods HasItem, - //! Item, SetItem ... (internal cells and entries are also - //! defined as objects from the same class) - //! Also iteration can be made, by an Iterator on this Dictionary - Standard_EXPORT Dico_DictionaryOfInteger(); - - //! Returns True if an Item is bound to a Name in the Dictionnary - //! : if True, commands exact matching - //! if False, accept completion, only if ONE AND ONLY ONE - //! Dictionnary Entry has as beginning of its name - Standard_EXPORT Standard_Boolean HasItem (const Standard_CString name, const Standard_Boolean exact = Standard_False) const; - - //! Works as above method but accepts a String from TCollection - Standard_EXPORT Standard_Boolean HasItem (const TCollection_AsciiString& name, const Standard_Boolean exact = Standard_True) const; - - //! Returns item bound to a name in the Dictionnary - //! : same as for HasItem - Standard_EXPORT const Standard_Integer& Item (const Standard_CString name, const Standard_Boolean exact = Standard_True) const; - - //! Works as above method but accepts a String from TCollection - Standard_EXPORT const Standard_Integer& Item (const TCollection_AsciiString& name, const Standard_Boolean exact = Standard_True) const; - - //! Gathers HasItem and Item, in a less regular but faster way - //! If return is True, is returned too, else it is not - //! : same as for HasItem - Standard_EXPORT Standard_Boolean GetItem (const Standard_CString name, Standard_Integer& anitem, const Standard_Boolean exact = Standard_True) const; - - //! Works as above method but accepts a String from TCollection - Standard_EXPORT Standard_Boolean GetItem (const TCollection_AsciiString& name, Standard_Integer& anitem, const Standard_Boolean exact = Standard_True) const; - - //! Binds an item to a dictionnary entry - //! If is already known in the dictionary, its value - //! is changed. Else, the dictionary entry is created. - //! If is given False, completion is tried, it is accepted - //! If it gives a UNIQUE entry : hence this one will be modified - //! Else, new entry is created with the exact name given - Standard_EXPORT void SetItem (const Standard_CString name, const Standard_Integer& anitem, const Standard_Boolean exact = Standard_True); - - //! Works as above method but accepts a String from TCollection - Standard_EXPORT void SetItem (const TCollection_AsciiString& name, const Standard_Integer& anitem, const Standard_Boolean exact = Standard_True); - - //! Returns the Item AS AN ADDRESS which corresponds to a Name, - //! in order to be changed or set. - //! If this name is not yet recorded, the Dictionary creates it. - //! is returned True if the Item is recorded in the - //! Dictionary, False else, in that case the Item is reserved and - //! the name is noted as beeing valued now. - Standard_EXPORT Standard_Integer& NewItem (const Standard_CString name, Standard_Boolean& isvalued, const Standard_Boolean exact = Standard_True); - - //! Works as above method but accepts a String from TCollection - Standard_EXPORT Standard_Integer& NewItem (const TCollection_AsciiString& name, Standard_Boolean& isvalued, const Standard_Boolean exact = Standard_True); - - //! Removes a dictionary entry given by its name then Returns True - //! If the entry does not exists, Does nothing then Returns False - //! : as for HasItem, if completion works, the found entry - //! is removed (else returned value is False) - //! commands cleaning dictionary (to recover memory space) - //! For an isolated call, it is recommanded to give it at True - //! For a sequence of calls, rather give False, then call Clean - Standard_EXPORT Standard_Boolean RemoveItem (const Standard_CString name, const Standard_Boolean cln = Standard_True, const Standard_Boolean exact = Standard_True); - - //! Works as above method but accepts a String from TCollection - Standard_EXPORT Standard_Boolean RemoveItem (const TCollection_AsciiString& name, const Standard_Boolean cln = Standard_True, const Standard_Boolean exact = Standard_True); - - //! Deletes physically in one step the entries which were removed - //! (can be used for a more efficient Memory Management : first - //! Remove several Items ( = False), then Clean the Memory) - Standard_EXPORT void Clean(); - - //! Returns True if no Item is recorded - Standard_EXPORT Standard_Boolean IsEmpty() const; - - //! Clears all the Dictionary : all recorded Items are removed - Standard_EXPORT void Clear(); - - //! Copies the Dictionary as a Tree, without Copying the Items - Standard_EXPORT Handle(Dico_DictionaryOfInteger) Copy() const; - - //! Internal routine used for completion (returns True if success) - Standard_EXPORT Standard_Boolean Complete (Handle(Dico_DictionaryOfInteger)& acell) const; - - -friend class Dico_IteratorOfDictionaryOfInteger; - - - DEFINE_STANDARD_RTTI_INLINE(Dico_DictionaryOfInteger,MMgt_TShared) - -protected: - - - - -private: - - - //! Defines cell's character (internal use, to build dict. tree) - Standard_EXPORT void SetChar (const Standard_Character car); - - //! Returns True if this cell has a subcell - Standard_EXPORT Standard_Boolean HasSub() const; - - //! Returns subcell - Standard_EXPORT Handle(Dico_DictionaryOfInteger) Sub() const; - - //! Returns True if this cell has a next cell - Standard_EXPORT Standard_Boolean HasNext() const; - - //! Returns next cell - Standard_EXPORT Handle(Dico_DictionaryOfInteger) Next() const; - - //! Defines subcell - Standard_EXPORT void SetSub (const Handle(Dico_DictionaryOfInteger)& acell); - - //! Defines next cell - Standard_EXPORT void SetNext (const Handle(Dico_DictionaryOfInteger)& acell); - - //! Internal method used to get an entry from a given name - Standard_EXPORT void SearchCell (const Standard_CString name, const Standard_Size lmax, const Standard_Character car, const Standard_Size level, Handle(Dico_DictionaryOfInteger)& acell, Standard_Size& reslev, Standard_Integer& stat) const; - - //! Internal method used to create a new entry for a name - Standard_EXPORT void NewCell (const Standard_CString name, const Standard_Size namlen, Handle(Dico_DictionaryOfInteger)& acell, const Standard_Size reslev, const Standard_Integer stat); - - //! Returns True if a cell has an associated item value - Standard_EXPORT Standard_Boolean HasIt() const; - - //! Returns item value associated to a cell - Standard_EXPORT const Standard_Integer& It() const; - - //! Returns item address associated to a cell - Standard_EXPORT Standard_Integer& ItAdr(); - - //! Binds an item value to a cell - Standard_EXPORT void SetIt (const Standard_Integer& anitem); - - //! Declares a cell as Valued : used by NewItem (when an Item - //! is created if it did not exist and is returned) - Standard_EXPORT void DeclIt(); - - //! Removes item bound to a cell (cancels effect of DeclIt) - Standard_EXPORT void RemoveIt(); - - //! Returns cell's character as a node feature - Standard_EXPORT Standard_Character CellChar() const; - - //! Performs Copy from an original to - //! Called by Copy - Standard_EXPORT void GetCopied (const Handle(Dico_DictionaryOfInteger)& fromcell); - - Standard_Character thecars[4]; - Handle(Dico_DictionaryOfInteger) thesub; - Handle(Dico_DictionaryOfInteger) thenext; - Standard_Integer theitem; - - -}; - - - - - - - -#endif // _Dico_DictionaryOfInteger_HeaderFile diff --git a/src/Dico/Dico_DictionaryOfInteger_0.cxx b/src/Dico/Dico_DictionaryOfInteger_0.cxx deleted file mode 100644 index 88a09a6ee0..0000000000 --- a/src/Dico/Dico_DictionaryOfInteger_0.cxx +++ /dev/null @@ -1,47 +0,0 @@ -// Created on: 1992-07-28 -// Created by: Christian CAILLET -// Copyright (c) 1992-1999 Matra Datavision -// Copyright (c) 1999-2014 OPEN CASCADE SAS -// -// This file is part of Open CASCADE Technology software library. -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License version 2.1 as published -// by the Free Software Foundation, with special exception defined in the file -// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT -// distribution for complete text of the license and disclaimer of any warranty. -// -// Alternatively, this file may be used under the terms of Open CASCADE -// commercial license or contractual agreement. - -#include - -#include - -#include -#include -#include -#include -#include - - - - - - - - - - -#define TheItem Standard_Integer -#define TheItem_hxx -#define Dico_Iterator Dico_IteratorOfDictionaryOfInteger -#define Dico_Iterator_hxx -#define Dico_StackItem Dico_StackItemOfDictionaryOfInteger -#define Dico_StackItem_hxx -#define Handle_Dico_StackItem Handle(Dico_StackItemOfDictionaryOfInteger) -#define Dico_Dictionary Dico_DictionaryOfInteger -#define Dico_Dictionary_hxx -#define Handle_Dico_Dictionary Handle(Dico_DictionaryOfInteger) -#include - diff --git a/src/Dico/Dico_DictionaryOfTransient.hxx b/src/Dico/Dico_DictionaryOfTransient.hxx deleted file mode 100644 index b5cf0dd1c4..0000000000 --- a/src/Dico/Dico_DictionaryOfTransient.hxx +++ /dev/null @@ -1,226 +0,0 @@ -// Created on: 1992-07-28 -// Created by: Christian CAILLET -// Copyright (c) 1992-1999 Matra Datavision -// Copyright (c) 1999-2014 OPEN CASCADE SAS -// -// This file is part of Open CASCADE Technology software library. -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License version 2.1 as published -// by the Free Software Foundation, with special exception defined in the file -// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT -// distribution for complete text of the license and disclaimer of any warranty. -// -// Alternatively, this file may be used under the terms of Open CASCADE -// commercial license or contractual agreement. - -#ifndef _Dico_DictionaryOfTransient_HeaderFile -#define _Dico_DictionaryOfTransient_HeaderFile - -#include -#include - -#include -#include -#include -#include -#include -#include -class Standard_Transient; -class Standard_NoSuchObject; -class Dico_IteratorOfDictionaryOfTransient; -class Dico_StackItemOfDictionaryOfTransient; -class TCollection_AsciiString; - - -class Dico_DictionaryOfTransient; -DEFINE_STANDARD_HANDLE(Dico_DictionaryOfTransient, MMgt_TShared) - - -class Dico_DictionaryOfTransient : public MMgt_TShared -{ - -public: - - - //! Creates a Dictionary cell. - //! A Dictionary is always created then handled by its first cell - //! After creating a Dictionary, user can call methods HasItem, - //! Item, SetItem ... (internal cells and entries are also - //! defined as objects from the same class) - //! Also iteration can be made, by an Iterator on this Dictionary - Standard_EXPORT Dico_DictionaryOfTransient(); - - //! Returns True if an Item is bound to a Name in the Dictionnary - //! : if True, commands exact matching - //! if False, accept completion, only if ONE AND ONLY ONE - //! Dictionnary Entry has as beginning of its name - Standard_EXPORT Standard_Boolean HasItem (const Standard_CString name, const Standard_Boolean exact = Standard_False) const; - - //! Works as above method but accepts a String from TCollection - Standard_EXPORT Standard_Boolean HasItem (const TCollection_AsciiString& name, const Standard_Boolean exact = Standard_True) const; - - //! Returns item bound to a name in the Dictionnary - //! : same as for HasItem - Standard_EXPORT const Handle(Standard_Transient)& Item (const Standard_CString name, const Standard_Boolean exact = Standard_True) const; - - //! Works as above method but accepts a String from TCollection - Standard_EXPORT const Handle(Standard_Transient)& Item (const TCollection_AsciiString& name, const Standard_Boolean exact = Standard_True) const; - - //! Gathers HasItem and Item, in a less regular but faster way - //! If return is True, is returned too, else it is not - //! : same as for HasItem - Standard_EXPORT Standard_Boolean GetItem (const Standard_CString name, Handle(Standard_Transient)& anitem, const Standard_Boolean exact = Standard_True) const; - - //! Safe variant of GetItem() for arbitrary type of argument - template - Standard_Boolean GetItem (const Standard_CString theName, Handle(T)& theItem, const Standard_Boolean theExact = Standard_True) const - { - Handle(Standard_Transient) anItem = theItem; - return GetItem (theName, anItem, theExact) && ! (theItem = Handle(T)::DownCast(anItem)).IsNull(); - } - - //! Works as above method but accepts a String from TCollection - Standard_EXPORT Standard_Boolean GetItem (const TCollection_AsciiString& name, Handle(Standard_Transient)& anitem, const Standard_Boolean exact = Standard_True) const; - - //! Safe variant of GetItem() for arbitrary type of argument - template - Standard_Boolean GetItem (const TCollection_AsciiString& theName, Handle(T)& theItem, const Standard_Boolean theExact = Standard_True) const - { - Handle(Standard_Transient) anItem = theItem; - return GetItem (theName, anItem, theExact) && ! (theItem = Handle(T)::DownCast(anItem)).IsNull(); - } - - //! Binds an item to a dictionnary entry - //! If is already known in the dictionary, its value - //! is changed. Else, the dictionary entry is created. - //! If is given False, completion is tried, it is accepted - //! If it gives a UNIQUE entry : hence this one will be modified - //! Else, new entry is created with the exact name given - Standard_EXPORT void SetItem (const Standard_CString name, const Handle(Standard_Transient)& anitem, const Standard_Boolean exact = Standard_True); - - //! Works as above method but accepts a String from TCollection - Standard_EXPORT void SetItem (const TCollection_AsciiString& name, const Handle(Standard_Transient)& anitem, const Standard_Boolean exact = Standard_True); - - //! Returns the Item AS AN ADDRESS which corresponds to a Name, - //! in order to be changed or set. - //! If this name is not yet recorded, the Dictionary creates it. - //! is returned True if the Item is recorded in the - //! Dictionary, False else, in that case the Item is reserved and - //! the name is noted as beeing valued now. - Standard_EXPORT Handle(Standard_Transient)& NewItem (const Standard_CString name, Standard_Boolean& isvalued, const Standard_Boolean exact = Standard_True); - - //! Works as above method but accepts a String from TCollection - Standard_EXPORT Handle(Standard_Transient)& NewItem (const TCollection_AsciiString& name, Standard_Boolean& isvalued, const Standard_Boolean exact = Standard_True); - - //! Removes a dictionary entry given by its name then Returns True - //! If the entry does not exists, Does nothing then Returns False - //! : as for HasItem, if completion works, the found entry - //! is removed (else returned value is False) - //! commands cleaning dictionary (to recover memory space) - //! For an isolated call, it is recommanded to give it at True - //! For a sequence of calls, rather give False, then call Clean - Standard_EXPORT Standard_Boolean RemoveItem (const Standard_CString name, const Standard_Boolean cln = Standard_True, const Standard_Boolean exact = Standard_True); - - //! Works as above method but accepts a String from TCollection - Standard_EXPORT Standard_Boolean RemoveItem (const TCollection_AsciiString& name, const Standard_Boolean cln = Standard_True, const Standard_Boolean exact = Standard_True); - - //! Deletes physically in one step the entries which were removed - //! (can be used for a more efficient Memory Management : first - //! Remove several Items ( = False), then Clean the Memory) - Standard_EXPORT void Clean(); - - //! Returns True if no Item is recorded - Standard_EXPORT Standard_Boolean IsEmpty() const; - - //! Clears all the Dictionary : all recorded Items are removed - Standard_EXPORT void Clear(); - - //! Copies the Dictionary as a Tree, without Copying the Items - Standard_EXPORT Handle(Dico_DictionaryOfTransient) Copy() const; - - //! Internal routine used for completion (returns True if success) - Standard_EXPORT Standard_Boolean Complete (Handle(Dico_DictionaryOfTransient)& acell) const; - - -friend class Dico_IteratorOfDictionaryOfTransient; - - - DEFINE_STANDARD_RTTI_INLINE(Dico_DictionaryOfTransient,MMgt_TShared) - -protected: - - - - -private: - - - //! Defines cell's character (internal use, to build dict. tree) - Standard_EXPORT void SetChar (const Standard_Character car); - - //! Returns True if this cell has a subcell - Standard_EXPORT Standard_Boolean HasSub() const; - - //! Returns subcell - Standard_EXPORT Handle(Dico_DictionaryOfTransient) Sub() const; - - //! Returns True if this cell has a next cell - Standard_EXPORT Standard_Boolean HasNext() const; - - //! Returns next cell - Standard_EXPORT Handle(Dico_DictionaryOfTransient) Next() const; - - //! Defines subcell - Standard_EXPORT void SetSub (const Handle(Dico_DictionaryOfTransient)& acell); - - //! Defines next cell - Standard_EXPORT void SetNext (const Handle(Dico_DictionaryOfTransient)& acell); - - //! Internal method used to get an entry from a given name - Standard_EXPORT void SearchCell (const Standard_CString name, const Standard_Size lmax, const Standard_Character car, const Standard_Size level, Handle(Dico_DictionaryOfTransient)& acell, Standard_Size& reslev, Standard_Integer& stat) const; - - //! Internal method used to create a new entry for a name - Standard_EXPORT void NewCell (const Standard_CString name, const Standard_Size namlen, Handle(Dico_DictionaryOfTransient)& acell, const Standard_Size reslev, const Standard_Integer stat); - - //! Returns True if a cell has an associated item value - Standard_EXPORT Standard_Boolean HasIt() const; - - //! Returns item value associated to a cell - Standard_EXPORT const Handle(Standard_Transient)& It() const; - - //! Returns item address associated to a cell - Standard_EXPORT Handle(Standard_Transient)& ItAdr(); - - //! Binds an item value to a cell - Standard_EXPORT void SetIt (const Handle(Standard_Transient)& anitem); - - //! Declares a cell as Valued : used by NewItem (when an Item - //! is created if it did not exist and is returned) - Standard_EXPORT void DeclIt(); - - //! Removes item bound to a cell (cancels effect of DeclIt) - Standard_EXPORT void RemoveIt(); - - //! Returns cell's character as a node feature - Standard_EXPORT Standard_Character CellChar() const; - - //! Performs Copy from an original to - //! Called by Copy - Standard_EXPORT void GetCopied (const Handle(Dico_DictionaryOfTransient)& fromcell); - - Standard_Character thecars[4]; - Handle(Dico_DictionaryOfTransient) thesub; - Handle(Dico_DictionaryOfTransient) thenext; - Handle(Standard_Transient) theitem; - - -}; - - - - - - - -#endif // _Dico_DictionaryOfTransient_HeaderFile diff --git a/src/Dico/Dico_DictionaryOfTransient_0.cxx b/src/Dico/Dico_DictionaryOfTransient_0.cxx deleted file mode 100644 index cba1580e2f..0000000000 --- a/src/Dico/Dico_DictionaryOfTransient_0.cxx +++ /dev/null @@ -1,48 +0,0 @@ -// Created on: 1992-07-28 -// Created by: Christian CAILLET -// Copyright (c) 1992-1999 Matra Datavision -// Copyright (c) 1999-2014 OPEN CASCADE SAS -// -// This file is part of Open CASCADE Technology software library. -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License version 2.1 as published -// by the Free Software Foundation, with special exception defined in the file -// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT -// distribution for complete text of the license and disclaimer of any warranty. -// -// Alternatively, this file may be used under the terms of Open CASCADE -// commercial license or contractual agreement. - -#include - -#include - -#include -#include -#include -#include -#include -#include - - - - - - - - - - -#define TheItem Handle(Standard_Transient) -#define TheItem_hxx -#define Dico_Iterator Dico_IteratorOfDictionaryOfTransient -#define Dico_Iterator_hxx -#define Dico_StackItem Dico_StackItemOfDictionaryOfTransient -#define Dico_StackItem_hxx -#define Handle_Dico_StackItem Handle(Dico_StackItemOfDictionaryOfTransient) -#define Dico_Dictionary Dico_DictionaryOfTransient -#define Dico_Dictionary_hxx -#define Handle_Dico_Dictionary Handle(Dico_DictionaryOfTransient) -#include - diff --git a/src/Dico/Dico_Iterator.gxx b/src/Dico/Dico_Iterator.gxx deleted file mode 100644 index fad60659d5..0000000000 --- a/src/Dico/Dico_Iterator.gxx +++ /dev/null @@ -1,150 +0,0 @@ -// Copyright (c) 1998-1999 Matra Datavision -// Copyright (c) 1999-2014 OPEN CASCADE SAS -// -// This file is part of Open CASCADE Technology software library. -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License version 2.1 as published -// by the Free Software Foundation, with special exception defined in the file -// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT -// distribution for complete text of the license and disclaimer of any warranty. -// -// Alternatively, this file may be used under the terms of Open CASCADE -// commercial license or contractual agreement. - -//#include -#include - - - -Dico_Iterator::Dico_Iterator (const Handle(Dico_Dictionary)& acell) -{ - thenb = 0; // Clear initial - thebase = acell; thename.Clear(); - Start(); -} - - Dico_Iterator::Dico_Iterator - (const Handle(Dico_Dictionary)& acell, - const TCollection_AsciiString& basename) -{ - thenb = 0; // Clear initial - if (basename.Length() == 0) { - thename.Clear(); - thebase = acell; - } else { - thename = basename; - Standard_Integer stat; - Standard_Size reslev; - acell->SearchCell(basename.ToCString(),basename.Length(),basename.Value(1), - 1, thebase,reslev,stat); - if (stat != 0 || reslev != 0) thebase.Nullify(); // loupe - } - Start(); -} - -// Idem, mais avec une CString - Dico_Iterator::Dico_Iterator - (const Handle(Dico_Dictionary)& acell, - const Standard_CString basename) -{ - thenb = 0; // Clear initial - if (basename[0] == '\0') { - thename.Clear(); - thebase = acell; - } else { - thename.AssignCat(basename); - Standard_Integer stat; - Standard_Size reslev; - acell->SearchCell (basename,thename.Length(),basename[0],1, - thebase,reslev,stat); - if (stat != 0 || reslev != 0) thebase.Nullify(); // loupe - } - Start(); -} - - - void Dico_Iterator::Start () -{ - thenb = 0; thelast.Nullify(); // Clear apres coup - themore = thenext = Standard_False; theinit = Standard_True; - if (thebase.IsNull()) return; - if (thebase->CellChar() == '\0') thebase = thebase->Next(); // 1re fois - if (!thebase.IsNull()) AppendStack(thebase); -} - - Standard_Boolean Dico_Iterator::More () -{ - themore = Standard_True; - if (thenb == 0) return Standard_False; // fini - Handle(Dico_Dictionary) acell = thelast->Value(); - if (theinit) { - theinit = Standard_False; - if (acell->HasIt()) return Standard_True; // c est bon - } - - if (!thenext && acell->HasSub()) { - thenext = Standard_False; theinit = Standard_True; - AppendStack(acell->Sub()); - } - else if (acell->HasNext()) { // fin de liste : remonter ... - thenext = Standard_False; theinit = Standard_True; - thelast->SetValue(acell->Next()); - } else { - thenext = Standard_True; theinit = Standard_False; - thelast = thelast->Previous(); // Null si pas de Previous ... sinon boum - thenb --; - } - if (thenb == 1 && thename.Length() != 0) { thenb = 0; thelast.Nullify(); } -// ceci pour une sous-racine : ne pas regarder ses suivantes ! - return More(); // reevaluation sur cette nouvelle tete de liste -} - - - void Dico_Iterator::Next () -{ - if (!themore) - More(); - themore = Standard_False; -} - - const TheItem& Dico_Iterator::Value () const -{ - if (thenb == 0) Standard_NoSuchObject::Raise ("DicIter : no current value"); - return thelast->Value()->It(); -} - - TCollection_AsciiString Dico_Iterator::Name () const -{ - Standard_Integer nlen = thename.Length(); - -// On calcule le nom donne par la pile en cours -// if (thenb == 0) return TCollection_AsciiString(); // String vide - TCollection_AsciiString name(thenb,' '); - if (thenb > 0) { - Standard_Integer i = thenb; - Handle(Dico_StackItem) anitem = thelast; - while (!anitem.IsNull()) { - name.SetValue (i,anitem->Value()->CellChar()); // i-1 TString - i --; - anitem = anitem->Previous(); - } - } - - if (nlen < 2) return name; - TCollection_AsciiString basename(thename); - basename.Remove(nlen); - return basename.Cat(name); -} - - -// Appele deux fois, mis en commun - void Dico_Iterator::AppendStack (const Handle(Dico_Dictionary)& val) -{ - Handle(Dico_StackItem) newlast; - if (thelast.IsNull()) newlast = new Dico_StackItem; - else newlast = new Dico_StackItem(thelast); - thelast = newlast; - thelast->SetValue(val); - thenb ++; -} diff --git a/src/Dico/Dico_IteratorOfDictionaryOfInteger.hxx b/src/Dico/Dico_IteratorOfDictionaryOfInteger.hxx deleted file mode 100644 index 4bd8fd92d6..0000000000 --- a/src/Dico/Dico_IteratorOfDictionaryOfInteger.hxx +++ /dev/null @@ -1,103 +0,0 @@ -// Created on: 1992-07-28 -// Created by: Christian CAILLET -// Copyright (c) 1992-1999 Matra Datavision -// Copyright (c) 1999-2014 OPEN CASCADE SAS -// -// This file is part of Open CASCADE Technology software library. -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License version 2.1 as published -// by the Free Software Foundation, with special exception defined in the file -// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT -// distribution for complete text of the license and disclaimer of any warranty. -// -// Alternatively, this file may be used under the terms of Open CASCADE -// commercial license or contractual agreement. - -#ifndef _Dico_IteratorOfDictionaryOfInteger_HeaderFile -#define _Dico_IteratorOfDictionaryOfInteger_HeaderFile - -#include -#include -#include - -#include -#include -#include -#include -class Dico_DictionaryOfInteger; -class Dico_StackItemOfDictionaryOfInteger; -class Standard_NoSuchObject; -class TCollection_AsciiString; - - - -class Dico_IteratorOfDictionaryOfInteger -{ -public: - - DEFINE_STANDARD_ALLOC - - - //! Creates an iterator which will work on all the dictionary - Standard_EXPORT Dico_IteratorOfDictionaryOfInteger(const Handle(Dico_DictionaryOfInteger)& acell); - - //! Creates an iterator which will consider only entries - //! which name begin by the string given as basename (subpart) - Standard_EXPORT Dico_IteratorOfDictionaryOfInteger(const Handle(Dico_DictionaryOfInteger)& acell, const Standard_CString basename); - - //! Creates an iterator which will consider only entries - //! which name begin by the string given as basename (subpart) - //! Same as above, but basename is String instead of CString - Standard_EXPORT Dico_IteratorOfDictionaryOfInteger(const Handle(Dico_DictionaryOfInteger)& acell, const TCollection_AsciiString& basename); - - //! Allows to Start a new Iteration from beginning - Standard_EXPORT void Start(); - - //! Returns True if there are more entries to return - Standard_EXPORT Standard_Boolean More(); - - //! Go to the next entry - //! (if there is not, Value will raise an exception) - Standard_EXPORT void Next(); - - //! Returns item value of current entry - Standard_EXPORT const Standard_Integer& Value() const; - - //! Returns name of current entry - Standard_EXPORT TCollection_AsciiString Name() const; - - - - -protected: - - - - - -private: - - - //! Appends a new value to the Iteration Stack - Standard_EXPORT void AppendStack (const Handle(Dico_DictionaryOfInteger)& val); - - - Handle(Dico_DictionaryOfInteger) thebase; - TCollection_AsciiString thename; - Handle(Dico_StackItemOfDictionaryOfInteger) thelast; - Standard_Integer thenb; - Standard_Boolean themore; - Standard_Boolean theinit; - Standard_Boolean thenext; - - -}; - - - - - - - -#endif // _Dico_IteratorOfDictionaryOfInteger_HeaderFile diff --git a/src/Dico/Dico_IteratorOfDictionaryOfInteger_0.cxx b/src/Dico/Dico_IteratorOfDictionaryOfInteger_0.cxx deleted file mode 100644 index c0448319a4..0000000000 --- a/src/Dico/Dico_IteratorOfDictionaryOfInteger_0.cxx +++ /dev/null @@ -1,36 +0,0 @@ -// Created on: 1992-07-28 -// Created by: Christian CAILLET -// Copyright (c) 1992-1999 Matra Datavision -// Copyright (c) 1999-2014 OPEN CASCADE SAS -// -// This file is part of Open CASCADE Technology software library. -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License version 2.1 as published -// by the Free Software Foundation, with special exception defined in the file -// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT -// distribution for complete text of the license and disclaimer of any warranty. -// -// Alternatively, this file may be used under the terms of Open CASCADE -// commercial license or contractual agreement. - -#include - -#include -#include -#include -#include - - -#define TheItem Standard_Integer -#define TheItem_hxx -#define Dico_Iterator Dico_IteratorOfDictionaryOfInteger -#define Dico_Iterator_hxx -#define Dico_StackItem Dico_StackItemOfDictionaryOfInteger -#define Dico_StackItem_hxx -#define Handle_Dico_StackItem Handle(Dico_StackItemOfDictionaryOfInteger) -#define Dico_Dictionary Dico_DictionaryOfInteger -#define Dico_Dictionary_hxx -#define Handle_Dico_Dictionary Handle(Dico_DictionaryOfInteger) -#include - diff --git a/src/Dico/Dico_IteratorOfDictionaryOfTransient.hxx b/src/Dico/Dico_IteratorOfDictionaryOfTransient.hxx deleted file mode 100644 index 20608bf571..0000000000 --- a/src/Dico/Dico_IteratorOfDictionaryOfTransient.hxx +++ /dev/null @@ -1,104 +0,0 @@ -// Created on: 1992-07-28 -// Created by: Christian CAILLET -// Copyright (c) 1992-1999 Matra Datavision -// Copyright (c) 1999-2014 OPEN CASCADE SAS -// -// This file is part of Open CASCADE Technology software library. -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License version 2.1 as published -// by the Free Software Foundation, with special exception defined in the file -// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT -// distribution for complete text of the license and disclaimer of any warranty. -// -// Alternatively, this file may be used under the terms of Open CASCADE -// commercial license or contractual agreement. - -#ifndef _Dico_IteratorOfDictionaryOfTransient_HeaderFile -#define _Dico_IteratorOfDictionaryOfTransient_HeaderFile - -#include -#include -#include - -#include -#include -#include -#include -class Dico_DictionaryOfTransient; -class Dico_StackItemOfDictionaryOfTransient; -class Standard_NoSuchObject; -class Standard_Transient; -class TCollection_AsciiString; - - - -class Dico_IteratorOfDictionaryOfTransient -{ -public: - - DEFINE_STANDARD_ALLOC - - - //! Creates an iterator which will work on all the dictionary - Standard_EXPORT Dico_IteratorOfDictionaryOfTransient(const Handle(Dico_DictionaryOfTransient)& acell); - - //! Creates an iterator which will consider only entries - //! which name begin by the string given as basename (subpart) - Standard_EXPORT Dico_IteratorOfDictionaryOfTransient(const Handle(Dico_DictionaryOfTransient)& acell, const Standard_CString basename); - - //! Creates an iterator which will consider only entries - //! which name begin by the string given as basename (subpart) - //! Same as above, but basename is String instead of CString - Standard_EXPORT Dico_IteratorOfDictionaryOfTransient(const Handle(Dico_DictionaryOfTransient)& acell, const TCollection_AsciiString& basename); - - //! Allows to Start a new Iteration from beginning - Standard_EXPORT void Start(); - - //! Returns True if there are more entries to return - Standard_EXPORT Standard_Boolean More(); - - //! Go to the next entry - //! (if there is not, Value will raise an exception) - Standard_EXPORT void Next(); - - //! Returns item value of current entry - Standard_EXPORT const Handle(Standard_Transient)& Value() const; - - //! Returns name of current entry - Standard_EXPORT TCollection_AsciiString Name() const; - - - - -protected: - - - - - -private: - - - //! Appends a new value to the Iteration Stack - Standard_EXPORT void AppendStack (const Handle(Dico_DictionaryOfTransient)& val); - - - Handle(Dico_DictionaryOfTransient) thebase; - TCollection_AsciiString thename; - Handle(Dico_StackItemOfDictionaryOfTransient) thelast; - Standard_Integer thenb; - Standard_Boolean themore; - Standard_Boolean theinit; - Standard_Boolean thenext; - - -}; - - - - - - - -#endif // _Dico_IteratorOfDictionaryOfTransient_HeaderFile diff --git a/src/Dico/Dico_IteratorOfDictionaryOfTransient_0.cxx b/src/Dico/Dico_IteratorOfDictionaryOfTransient_0.cxx deleted file mode 100644 index c08e130dc0..0000000000 --- a/src/Dico/Dico_IteratorOfDictionaryOfTransient_0.cxx +++ /dev/null @@ -1,37 +0,0 @@ -// Created on: 1992-07-28 -// Created by: Christian CAILLET -// Copyright (c) 1992-1999 Matra Datavision -// Copyright (c) 1999-2014 OPEN CASCADE SAS -// -// This file is part of Open CASCADE Technology software library. -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License version 2.1 as published -// by the Free Software Foundation, with special exception defined in the file -// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT -// distribution for complete text of the license and disclaimer of any warranty. -// -// Alternatively, this file may be used under the terms of Open CASCADE -// commercial license or contractual agreement. - -#include - -#include -#include -#include -#include -#include - - -#define TheItem Handle(Standard_Transient) -#define TheItem_hxx -#define Dico_Iterator Dico_IteratorOfDictionaryOfTransient -#define Dico_Iterator_hxx -#define Dico_StackItem Dico_StackItemOfDictionaryOfTransient -#define Dico_StackItem_hxx -#define Handle_Dico_StackItem Handle(Dico_StackItemOfDictionaryOfTransient) -#define Dico_Dictionary Dico_DictionaryOfTransient -#define Dico_Dictionary_hxx -#define Handle_Dico_Dictionary Handle(Dico_DictionaryOfTransient) -#include - diff --git a/src/Dico/Dico_StackItem.gxx b/src/Dico/Dico_StackItem.gxx deleted file mode 100644 index f8d3283796..0000000000 --- a/src/Dico/Dico_StackItem.gxx +++ /dev/null @@ -1,31 +0,0 @@ -// Copyright (c) 1998-1999 Matra Datavision -// Copyright (c) 1999-2014 OPEN CASCADE SAS -// -// This file is part of Open CASCADE Technology software library. -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License version 2.1 as published -// by the Free Software Foundation, with special exception defined in the file -// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT -// distribution for complete text of the license and disclaimer of any warranty. -// -// Alternatively, this file may be used under the terms of Open CASCADE -// commercial license or contractual agreement. - -//#include - - -Dico_StackItem::Dico_StackItem () - { theprev.Nullify(); } - - Dico_StackItem::Dico_StackItem (const Handle(Dico_StackItem)& previous) - { theprev = previous; } - - Handle(Dico_StackItem) Dico_StackItem::Previous () const - { return theprev; } - - Handle(Dico_Dictionary) Dico_StackItem::Value () const - { return thevalue; } - - void Dico_StackItem::SetValue (const Handle(Dico_Dictionary)& val) - { thevalue = val; } diff --git a/src/Dico/Dico_StackItemOfDictionaryOfInteger.hxx b/src/Dico/Dico_StackItemOfDictionaryOfInteger.hxx deleted file mode 100644 index 4f62cf113f..0000000000 --- a/src/Dico/Dico_StackItemOfDictionaryOfInteger.hxx +++ /dev/null @@ -1,79 +0,0 @@ -// Created on: 1992-07-28 -// Created by: Christian CAILLET -// Copyright (c) 1992-1999 Matra Datavision -// Copyright (c) 1999-2014 OPEN CASCADE SAS -// -// This file is part of Open CASCADE Technology software library. -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License version 2.1 as published -// by the Free Software Foundation, with special exception defined in the file -// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT -// distribution for complete text of the license and disclaimer of any warranty. -// -// Alternatively, this file may be used under the terms of Open CASCADE -// commercial license or contractual agreement. - -#ifndef _Dico_StackItemOfDictionaryOfInteger_HeaderFile -#define _Dico_StackItemOfDictionaryOfInteger_HeaderFile - -#include -#include - -#include -#include -class Dico_DictionaryOfInteger; -class Dico_IteratorOfDictionaryOfInteger; - - -class Dico_StackItemOfDictionaryOfInteger; -DEFINE_STANDARD_HANDLE(Dico_StackItemOfDictionaryOfInteger, MMgt_TShared) - - -class Dico_StackItemOfDictionaryOfInteger : public MMgt_TShared -{ - -public: - - - //! Creates a StackItem with no Previous one - Standard_EXPORT Dico_StackItemOfDictionaryOfInteger(); - - //! Creates a StackItem with a Previous one - Standard_EXPORT Dico_StackItemOfDictionaryOfInteger(const Handle(Dico_StackItemOfDictionaryOfInteger)& previous); - - //! Returns the Previous Item (is Null if no Previous defined) - Standard_EXPORT Handle(Dico_StackItemOfDictionaryOfInteger) Previous() const; - - //! Returns the Dictionary Cell corresponding to an Item - Standard_EXPORT Handle(Dico_DictionaryOfInteger) Value() const; - - //! Sets a new Dictionary Cell as Value of an Item - Standard_EXPORT void SetValue (const Handle(Dico_DictionaryOfInteger)& cval); - - - - - DEFINE_STANDARD_RTTI_INLINE(Dico_StackItemOfDictionaryOfInteger,MMgt_TShared) - -protected: - - - - -private: - - - Handle(Dico_DictionaryOfInteger) thevalue; - Handle(Dico_StackItemOfDictionaryOfInteger) theprev; - - -}; - - - - - - - -#endif // _Dico_StackItemOfDictionaryOfInteger_HeaderFile diff --git a/src/Dico/Dico_StackItemOfDictionaryOfInteger_0.cxx b/src/Dico/Dico_StackItemOfDictionaryOfInteger_0.cxx deleted file mode 100644 index a8571142ed..0000000000 --- a/src/Dico/Dico_StackItemOfDictionaryOfInteger_0.cxx +++ /dev/null @@ -1,45 +0,0 @@ -// Created on: 1992-07-28 -// Created by: Christian CAILLET -// Copyright (c) 1992-1999 Matra Datavision -// Copyright (c) 1999-2014 OPEN CASCADE SAS -// -// This file is part of Open CASCADE Technology software library. -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License version 2.1 as published -// by the Free Software Foundation, with special exception defined in the file -// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT -// distribution for complete text of the license and disclaimer of any warranty. -// -// Alternatively, this file may be used under the terms of Open CASCADE -// commercial license or contractual agreement. - -#include - -#include - -#include -#include -#include - - - - - - - - - - -#define TheItem Standard_Integer -#define TheItem_hxx -#define Dico_Iterator Dico_IteratorOfDictionaryOfInteger -#define Dico_Iterator_hxx -#define Dico_StackItem Dico_StackItemOfDictionaryOfInteger -#define Dico_StackItem_hxx -#define Handle_Dico_StackItem Handle(Dico_StackItemOfDictionaryOfInteger) -#define Dico_Dictionary Dico_DictionaryOfInteger -#define Dico_Dictionary_hxx -#define Handle_Dico_Dictionary Handle(Dico_DictionaryOfInteger) -#include - diff --git a/src/Dico/Dico_StackItemOfDictionaryOfTransient.hxx b/src/Dico/Dico_StackItemOfDictionaryOfTransient.hxx deleted file mode 100644 index 7d27b34a18..0000000000 --- a/src/Dico/Dico_StackItemOfDictionaryOfTransient.hxx +++ /dev/null @@ -1,79 +0,0 @@ -// Created on: 1992-07-28 -// Created by: Christian CAILLET -// Copyright (c) 1992-1999 Matra Datavision -// Copyright (c) 1999-2014 OPEN CASCADE SAS -// -// This file is part of Open CASCADE Technology software library. -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License version 2.1 as published -// by the Free Software Foundation, with special exception defined in the file -// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT -// distribution for complete text of the license and disclaimer of any warranty. -// -// Alternatively, this file may be used under the terms of Open CASCADE -// commercial license or contractual agreement. - -#ifndef _Dico_StackItemOfDictionaryOfTransient_HeaderFile -#define _Dico_StackItemOfDictionaryOfTransient_HeaderFile - -#include -#include - -#include -class Dico_DictionaryOfTransient; -class Standard_Transient; -class Dico_IteratorOfDictionaryOfTransient; - - -class Dico_StackItemOfDictionaryOfTransient; -DEFINE_STANDARD_HANDLE(Dico_StackItemOfDictionaryOfTransient, MMgt_TShared) - - -class Dico_StackItemOfDictionaryOfTransient : public MMgt_TShared -{ - -public: - - - //! Creates a StackItem with no Previous one - Standard_EXPORT Dico_StackItemOfDictionaryOfTransient(); - - //! Creates a StackItem with a Previous one - Standard_EXPORT Dico_StackItemOfDictionaryOfTransient(const Handle(Dico_StackItemOfDictionaryOfTransient)& previous); - - //! Returns the Previous Item (is Null if no Previous defined) - Standard_EXPORT Handle(Dico_StackItemOfDictionaryOfTransient) Previous() const; - - //! Returns the Dictionary Cell corresponding to an Item - Standard_EXPORT Handle(Dico_DictionaryOfTransient) Value() const; - - //! Sets a new Dictionary Cell as Value of an Item - Standard_EXPORT void SetValue (const Handle(Dico_DictionaryOfTransient)& cval); - - - - - DEFINE_STANDARD_RTTI_INLINE(Dico_StackItemOfDictionaryOfTransient,MMgt_TShared) - -protected: - - - - -private: - - - Handle(Dico_DictionaryOfTransient) thevalue; - Handle(Dico_StackItemOfDictionaryOfTransient) theprev; - - -}; - - - - - - - -#endif // _Dico_StackItemOfDictionaryOfTransient_HeaderFile diff --git a/src/Dico/Dico_StackItemOfDictionaryOfTransient_0.cxx b/src/Dico/Dico_StackItemOfDictionaryOfTransient_0.cxx deleted file mode 100644 index c10f39200a..0000000000 --- a/src/Dico/Dico_StackItemOfDictionaryOfTransient_0.cxx +++ /dev/null @@ -1,46 +0,0 @@ -// Created on: 1992-07-28 -// Created by: Christian CAILLET -// Copyright (c) 1992-1999 Matra Datavision -// Copyright (c) 1999-2014 OPEN CASCADE SAS -// -// This file is part of Open CASCADE Technology software library. -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License version 2.1 as published -// by the Free Software Foundation, with special exception defined in the file -// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT -// distribution for complete text of the license and disclaimer of any warranty. -// -// Alternatively, this file may be used under the terms of Open CASCADE -// commercial license or contractual agreement. - -#include - -#include - -#include -#include -#include -#include - - - - - - - - - - -#define TheItem Handle(Standard_Transient) -#define TheItem_hxx -#define Dico_Iterator Dico_IteratorOfDictionaryOfTransient -#define Dico_Iterator_hxx -#define Dico_StackItem Dico_StackItemOfDictionaryOfTransient -#define Dico_StackItem_hxx -#define Handle_Dico_StackItem Handle(Dico_StackItemOfDictionaryOfTransient) -#define Dico_Dictionary Dico_DictionaryOfTransient -#define Dico_Dictionary_hxx -#define Handle_Dico_Dictionary Handle(Dico_DictionaryOfTransient) -#include - diff --git a/src/Dico/FILES b/src/Dico/FILES deleted file mode 100644 index 5e4ec532af..0000000000 --- a/src/Dico/FILES +++ /dev/null @@ -1,15 +0,0 @@ -Dico_Dictionary.gxx -Dico_DictionaryOfInteger.hxx -Dico_DictionaryOfInteger_0.cxx -Dico_DictionaryOfTransient.hxx -Dico_DictionaryOfTransient_0.cxx -Dico_Iterator.gxx -Dico_IteratorOfDictionaryOfInteger.hxx -Dico_IteratorOfDictionaryOfInteger_0.cxx -Dico_IteratorOfDictionaryOfTransient.hxx -Dico_IteratorOfDictionaryOfTransient_0.cxx -Dico_StackItem.gxx -Dico_StackItemOfDictionaryOfInteger.hxx -Dico_StackItemOfDictionaryOfInteger_0.cxx -Dico_StackItemOfDictionaryOfTransient.hxx -Dico_StackItemOfDictionaryOfTransient_0.cxx diff --git a/src/IFSelect/IFSelect_Activator.cxx b/src/IFSelect/IFSelect_Activator.cxx index 67def97ab0..5d85edb3f5 100644 --- a/src/IFSelect/IFSelect_Activator.cxx +++ b/src/IFSelect/IFSelect_Activator.cxx @@ -12,8 +12,6 @@ // commercial license or contractual agreement. -#include -#include #include #include #include @@ -22,10 +20,11 @@ #include #include #include +#include IMPLEMENT_STANDARD_RTTIEXT(IFSelect_Activator,MMgt_TShared) -static Handle(Dico_DictionaryOfInteger) thedico; // = new Dico_DictionaryOfInteger; +static NCollection_DataMap thedico; static TColStd_SequenceOfInteger thenums, themodes; static TColStd_SequenceOfTransient theacts; @@ -36,16 +35,15 @@ static TColStd_SequenceOfTransient theacts; const Standard_CString command, const Standard_Integer mode) { - Standard_Boolean deja; - if (thedico.IsNull()) thedico = new Dico_DictionaryOfInteger; - Standard_Integer& num = thedico->NewItem(command,deja,Standard_True); - if (deja) { #ifdef OCCT_DEBUG - cout<<"**** XSTEP commands, name conflict on "<RemoveItem(command); } + { thedico.UnBind(command); } Standard_Boolean IFSelect_Activator::Select (const Standard_CString command, Standard_Integer& number, Handle(IFSelect_Activator)& actor) { Standard_Integer num; - if (!thedico->GetItem(command,num,Standard_False)) return Standard_False; + if (!thedico.Find(command, num)) return Standard_False; number = thenums(num); actor = Handle(IFSelect_Activator)::DownCast(theacts(num)); return Standard_True; @@ -77,7 +75,7 @@ static TColStd_SequenceOfTransient theacts; (const Standard_CString command) { Standard_Integer num; - if (!thedico->GetItem(command,num,Standard_False)) return -1; + if (!thedico.Find(command, num)) return -1; return themodes(num); } @@ -86,18 +84,20 @@ static TColStd_SequenceOfTransient theacts; (const Standard_Integer mode, const Standard_CString command) { Standard_Integer num; - Dico_IteratorOfDictionaryOfInteger iter (thedico,command); + NCollection_DataMap::Iterator iter(thedico); Handle(TColStd_HSequenceOfAsciiString) list = new TColStd_HSequenceOfAsciiString(); - for (iter.Start(); iter.More(); iter.Next()) { + for (; iter.More(); iter.Next()) { + if (!iter.Key().StartsWith(command)) + continue; if (mode < 0) { DeclareAndCast(IFSelect_Activator,acti,theacts(iter.Value())); if (acti.IsNull()) continue; if (command[0] == '\0' || !strcmp(command,acti->Group()) ) - list->Append(iter.Name()); + list->Append(iter.Key()); } else { num = iter.Value(); - if (themodes(num) == mode) list->Append(iter.Name()); + if (themodes(num) == mode) list->Append(iter.Key()); } } return list; diff --git a/src/IFSelect/IFSelect_Editor.cxx b/src/IFSelect/IFSelect_Editor.cxx index a5cf629848..caab722a63 100644 --- a/src/IFSelect/IFSelect_Editor.cxx +++ b/src/IFSelect/IFSelect_Editor.cxx @@ -12,7 +12,6 @@ // commercial license or contractual agreement. -#include #include #include #include @@ -33,7 +32,7 @@ IFSelect_Editor::IFSelect_Editor (const Standard_Integer nbval) : thenbval (nbval) , themaxsh (0) , themaxco (0) , themaxla (0) , thevalues (1,nbval) , theshorts (1,nbval) , themodes (1,nbval) , thelists (1,nbval) - { thenames = new Dico_DictionaryOfInteger; thelists.Init(-1); } + { thelists.Init(-1); } void IFSelect_Editor::SetNbValues (const Standard_Integer nbval) { @@ -48,14 +47,14 @@ IFSelect_Editor::IFSelect_Editor (const Standard_Integer nbval) if (num < 1 || num > thenbval) return; TCollection_AsciiString shn (shortname); Standard_Integer lng = shn.Length(); - if (lng > 0) thenames->SetItem (shortname,num); + if (lng > 0) thenames.Bind (shortname,num); if (lng > themaxsh) themaxsh = lng; lng = (Standard_Integer) strlen (typval->Name()); if (lng > themaxco) themaxco = lng; lng = (Standard_Integer) strlen (typval->Label()); if (lng > themaxla) themaxla = lng; - thenames->SetItem (typval->Name(),num); + thenames.Bind (typval->Name(),num); Standard_Integer edm = (Standard_Integer) editmode; thevalues.SetValue (num,typval); theshorts.SetValue (num,shn); @@ -187,7 +186,8 @@ Standard_Integer IFSelect_Editor::MaxList (const Standard_Integer num) const (const Standard_CString name) const { Standard_Integer res; - if (thenames->GetItem(name,res,Standard_False)) return res; + if (thenames.Find(name,res)) + return res; res = atoi (name); // si c est un entier, on tente le coup if (res < 1 || res > NbValues()) res = 0; return res; diff --git a/src/IFSelect/IFSelect_Editor.hxx b/src/IFSelect/IFSelect_Editor.hxx index 1e95d96c59..ba2d43b814 100644 --- a/src/IFSelect/IFSelect_Editor.hxx +++ b/src/IFSelect/IFSelect_Editor.hxx @@ -29,11 +29,11 @@ #include #include #include -class Dico_DictionaryOfInteger; +#include +#include class Standard_OutOfRange; class Interface_TypedValue; class Message_Messenger; -class TCollection_AsciiString; class IFSelect_EditForm; class TCollection_HAsciiString; class IFSelect_ListEditor; @@ -182,7 +182,7 @@ private: Standard_Integer themaxsh; Standard_Integer themaxco; Standard_Integer themaxla; - Handle(Dico_DictionaryOfInteger) thenames; + NCollection_DataMap thenames; TColStd_Array1OfTransient thevalues; TColStd_Array1OfAsciiString theshorts; TColStd_Array1OfInteger themodes; diff --git a/src/IFSelect/IFSelect_SessionFile.cxx b/src/IFSelect/IFSelect_SessionFile.cxx index c69a136bc4..81da858943 100644 --- a/src/IFSelect/IFSelect_SessionFile.cxx +++ b/src/IFSelect/IFSelect_SessionFile.cxx @@ -12,7 +12,6 @@ // commercial license or contractual agreement. -#include #include #include #include @@ -183,7 +182,7 @@ static int deja = 0; char laligne[200]; thedone = Standard_True; // ... Preparation Specifique - thenames.Nullify(); + thenames.Clear(); Standard_Integer nbidents = thesess->MaxIdent(); thenums = new TColStd_HArray1OfInteger (0,nbidents); thenums->Init(0); Standard_Integer i; // svv Jan11 2000 : porting on DEC @@ -423,7 +422,7 @@ static int deja = 0; thedone = Standard_True; // ... Preparation Specifique thenums.Nullify(); - thenames = new Dico_DictionaryOfInteger; + thenames.Clear(); // .. Donnees generales, controle if (!ReadLine()) return 1; if (theline.Length() != 4) { sout<<"File Form Incorrect"<SetItem(name.ToCString(),id); + thenames.Bind(name,id); } Standard_Boolean IFSelect_SessionFile::IsDone () const @@ -875,7 +874,7 @@ static int deja = 0; TCollection_AsciiString name = theline.Value(nm); if (name.Value(1) == ':') name.Remove(1); if (name.IsEqual("$")) return res; // item non-defini justement - if (!thenames->GetItem(name.ToCString(),id)) { + if (!thenames.Find(name, id)) { sout << " -- Item Unknown in File : " << name << " lineno " << thenl << " param." << nm << endl; id = 0; diff --git a/src/IFSelect/IFSelect_SessionFile.hxx b/src/IFSelect/IFSelect_SessionFile.hxx index 180d88f32c..b58740bd43 100644 --- a/src/IFSelect/IFSelect_SessionFile.hxx +++ b/src/IFSelect/IFSelect_SessionFile.hxx @@ -17,6 +17,7 @@ #ifndef _IFSelect_SessionFile_HeaderFile #define _IFSelect_SessionFile_HeaderFile +#include #include #include #include @@ -28,8 +29,8 @@ #include #include #include + class IFSelect_WorkSession; -class Dico_DictionaryOfInteger; class TCollection_AsciiString; class Standard_Transient; @@ -279,7 +280,7 @@ protected: Handle(IFSelect_WorkSession) thesess; Handle(TColStd_HArray1OfInteger) thenums; - Handle(Dico_DictionaryOfInteger) thenames; + NCollection_DataMap thenames; Standard_Integer thenl; TColStd_SequenceOfAsciiString theline; diff --git a/src/IFSelect/IFSelect_SignatureList.cxx b/src/IFSelect/IFSelect_SignatureList.cxx index 6314509a10..3d6a24443c 100644 --- a/src/IFSelect/IFSelect_SignatureList.cxx +++ b/src/IFSelect/IFSelect_SignatureList.cxx @@ -12,10 +12,6 @@ // commercial license or contractual agreement. -#include -#include -#include -#include #include #include #include @@ -35,8 +31,6 @@ IFSelect_SignatureList::IFSelect_SignatureList thesignonly = Standard_False; thelistat = withlist; thenbnuls = 0; - thedicount = new Dico_DictionaryOfInteger; - thediclist = new Dico_DictionaryOfTransient; SetName("..."); } @@ -51,8 +45,8 @@ IFSelect_SignatureList::IFSelect_SignatureList { thelastval.Clear(); thenbnuls = 0; - thedicount = new Dico_DictionaryOfInteger; - thediclist = new Dico_DictionaryOfTransient; + thedicount.Clear(); + thediclist.Clear(); } void IFSelect_SignatureList::Add @@ -66,15 +60,19 @@ IFSelect_SignatureList::IFSelect_SignatureList if (sign[0] == '\0') { thenbnuls ++; return; } - Standard_Boolean deja; - Standard_Integer& nb = thedicount->NewItem(sign,deja); - if (!deja) nb = 0; - nb ++; + if (thedicount.Contains(sign)) + thedicount.ChangeFromKey(sign)++; + else + thedicount.Add(sign, 1); if (thelistat) { - Handle(Standard_Transient)& anitem = thediclist->NewItem(sign,deja); - DeclareAndCast(TColStd_HSequenceOfTransient,alist,anitem); - if (!deja) { alist = new TColStd_HSequenceOfTransient(); anitem = alist; } + Handle(TColStd_HSequenceOfTransient) alist; + if (thediclist.Contains(sign)) + alist = Handle(TColStd_HSequenceOfTransient)::DownCast(thediclist.FindFromKey(sign)); + else { + alist = new TColStd_HSequenceOfTransient(); + thediclist.Add(sign, alist); + } alist->Append(ent); } } @@ -84,8 +82,8 @@ IFSelect_SignatureList::IFSelect_SignatureList void IFSelect_SignatureList::Init (const Standard_CString name, - const Handle(Dico_DictionaryOfInteger)& theCount, - const Handle(Dico_DictionaryOfTransient)& list, + const NCollection_IndexedDataMap& theCount, + const NCollection_IndexedDataMap& list, const Standard_Integer nbnuls) { thelastval.Clear(); @@ -93,7 +91,7 @@ IFSelect_SignatureList::IFSelect_SignatureList thedicount = theCount; thediclist = list; thenbnuls = nbnuls; - if (thediclist.IsNull()) thelistat = Standard_False; + if (thediclist.IsEmpty()) thelistat = Standard_False; } @@ -102,10 +100,12 @@ IFSelect_SignatureList::IFSelect_SignatureList { Handle(TColStd_HSequenceOfHAsciiString) list = new TColStd_HSequenceOfHAsciiString(); - Dico_IteratorOfDictionaryOfInteger iter(thedicount,root); + NCollection_IndexedDataMap::Iterator iter(thedicount); for (; iter.More(); iter.Next()) { + if (!iter.Key().StartsWith(root)) continue; + Handle(TCollection_HAsciiString) sign = - new TCollection_HAsciiString (iter.Name()); + new TCollection_HAsciiString (iter.Key()); list->Append(sign); } return list; @@ -121,18 +121,21 @@ IFSelect_SignatureList::IFSelect_SignatureList Standard_Integer IFSelect_SignatureList::NbTimes (const Standard_CString sign) const { - Standard_Integer nb; - if (thedicount->GetItem(sign,nb)) return nb; - else return 0; + Standard_Integer nb = 0; + thedicount.FindFromKey(sign, nb); + return nb; } Handle(TColStd_HSequenceOfTransient) IFSelect_SignatureList::Entities (const Standard_CString sign) const { Handle(TColStd_HSequenceOfTransient) list; + Handle(Standard_Transient) aTList; if (!thelistat) return list; - if (thediclist->GetItem(sign,list)) return list; - list = new TColStd_HSequenceOfTransient(); + if (thediclist.FindFromKey(sign, aTList)) + list = Handle(TColStd_HSequenceOfTransient)::DownCast(aTList); + else + list = new TColStd_HSequenceOfTransient(); return list; } @@ -147,11 +150,11 @@ IFSelect_SignatureList::IFSelect_SignatureList void IFSelect_SignatureList::PrintCount (const Handle(Message_Messenger)& S) const { Standard_Integer nbtot = 0, nbsign = 0; - Dico_IteratorOfDictionaryOfInteger iter(thedicount,""); + NCollection_IndexedDataMap::Iterator iter(thedicount); S << " Count "<ToCString()<<"\n ----- -----------"<::Iterator iter(thediclist); for (; iter.More(); iter.Next()) { DeclareAndCast(TColStd_HSequenceOfTransient,list,iter.Value()); - S<Length(); S<<" - Nb: "<::Iterator iter(thedicount); S << " Summary "<ToCString()<<"\n ----- -----------"< maxent) maxent = nbent; - TCollection_AsciiString name = iter.Name(); + TCollection_AsciiString name = iter.Key(); // if (!name.IsIntegerValue()) continue; pas bien fiable Standard_Integer ic, nc = name.Length(); Standard_Boolean iaint = Standard_True; diff --git a/src/IFSelect/IFSelect_SignatureList.hxx b/src/IFSelect/IFSelect_SignatureList.hxx index 3b50f8fc81..b48499dc5f 100644 --- a/src/IFSelect/IFSelect_SignatureList.hxx +++ b/src/IFSelect/IFSelect_SignatureList.hxx @@ -28,10 +28,9 @@ #include #include #include +#include +#include class TCollection_HAsciiString; -class Dico_DictionaryOfInteger; -class Dico_DictionaryOfTransient; -class Standard_Transient; class Message_Messenger; class Interface_InterfaceModel; @@ -85,7 +84,7 @@ public: Standard_EXPORT Standard_CString LastValue() const; //! Aknowledges the list in once. Name identifies the Signature - Standard_EXPORT void Init (const Standard_CString name, const Handle(Dico_DictionaryOfInteger)& count, const Handle(Dico_DictionaryOfTransient)& list, const Standard_Integer nbnuls); + Standard_EXPORT void Init (const Standard_CString name, const NCollection_IndexedDataMap& count, const NCollection_IndexedDataMap& list, const Standard_Integer nbnuls); //! Returns the list of signatures, as a sequence of strings //! (but without their respective counts). It is ordered. @@ -156,8 +155,8 @@ private: Standard_Integer thenbnuls; Handle(TCollection_HAsciiString) thename; TCollection_AsciiString thelastval; - Handle(Dico_DictionaryOfInteger) thedicount; - Handle(Dico_DictionaryOfTransient) thediclist; + NCollection_IndexedDataMap thedicount; + NCollection_IndexedDataMap thediclist; }; diff --git a/src/IFSelect/IFSelect_WorkSession.cxx b/src/IFSelect/IFSelect_WorkSession.cxx index 6b7d986ccd..aa1e6e21fb 100644 --- a/src/IFSelect/IFSelect_WorkSession.cxx +++ b/src/IFSelect/IFSelect_WorkSession.cxx @@ -14,9 +14,6 @@ //#1 svv 10.01.00 : porting on DEC //smh#14 17.03.2000 : FRA62479 Clearing of gtool -#include -#include -#include #include #include #include @@ -109,7 +106,6 @@ IFSelect_WorkSession::IFSelect_WorkSession () { theshareout = new IFSelect_ShareOut; theerrhand = errhand = Standard_True; - thenames = new Dico_DictionaryOfTransient; thecopier = new IFSelect_ModelCopier; thecopier->SetShareOut (theshareout); thecheckdone = Standard_False; @@ -150,8 +146,8 @@ void IFSelect_WorkSession::SetProtocol void IFSelect_WorkSession::SetSignType (const Handle(IFSelect_Signature)& signtype) { thegtool->SetSignType (signtype); - if (signtype.IsNull()) thenames->RemoveItem ("xst-sign-type"); - else thenames->SetItem ("xst-sign-type",signtype); + if (signtype.IsNull()) thenames.UnBind("xst-sign-type"); + else thenames.Bind("xst-sign-type",signtype); } @@ -678,7 +674,8 @@ Handle(Standard_Transient) IFSelect_WorkSession::NamedItem Standard_Integer id = atoi( &name[1] ); return Item(id); } - if (!thenames->GetItem(name,res)) res.Nullify(); + if (!thenames.Find(name,res)) + res.Nullify(); return res; } @@ -711,7 +708,8 @@ Standard_Integer IFSelect_WorkSession::NameIdent Standard_Integer id = atoi( &name[1] ); return id; } - if (!thenames->GetItem(name,res)) return 0; + if (!thenames.Find(name,res)) + return 0; return ItemIdent(res); } @@ -786,12 +784,9 @@ Standard_Integer IFSelect_WorkSession::AddNamedItem if (name[0] == '#' || name[0] == '!') return 0; // #nnn : pas un nom mais un numero. !... : reserve (interdit pour un nom) // nom deja pris : on ecrase l ancienne valeur - if (name[0] != '\0') { - Standard_Boolean deja; - Handle(Standard_Transient)& newitem = thenames->NewItem(name,deja); -// if (deja & item != newitem) return 0; - newitem = item; - } + if (name[0] != '\0') + thenames.Bind(name, item); + Standard_Integer id = theitems.FindIndex(item); if (id > 0) { Handle(Standard_Transient)& att = theitems.ChangeFromIndex(id); @@ -865,7 +860,7 @@ Standard_Boolean IFSelect_WorkSession::RemoveName Handle(Standard_Transient) item = NamedItem(name); if (item.IsNull()) return Standard_False; theitems.Add(item,item); // reste mais sans nom - return thenames->RemoveItem(name); + return thenames.UnBind(name); } @@ -888,7 +883,7 @@ Standard_Boolean IFSelect_WorkSession::RemoveItem // Marquer "Removed" dans la Map (on ne peut pas la vider) if (att->IsKind(STANDARD_TYPE(TCollection_HAsciiString))) { - if (!thenames->RemoveItem + if (!thenames.UnBind (GetCasted(TCollection_HAsciiString,att)->ToCString())) return Standard_False; } @@ -905,7 +900,7 @@ Standard_Boolean IFSelect_WorkSession::RemoveItem void IFSelect_WorkSession::ClearItems () { - thenames->Clear(); + thenames.Clear(); theitems.Clear(); theshareout->Clear(Standard_False); } @@ -1018,9 +1013,10 @@ Handle(TColStd_HSequenceOfHAsciiString) IFSelect_WorkSession::ItemNames { Handle(TColStd_HSequenceOfHAsciiString) list = new TColStd_HSequenceOfHAsciiString(); - for (Dico_IteratorOfDictionaryOfTransient IT(thenames); IT.More(); IT.Next()){ + NCollection_DataMap::Iterator IT(thenames); + for (; IT.More(); IT.Next()){ if (IT.Value()->IsKind(type)) list->Append - (new TCollection_HAsciiString(IT.Name().ToCString())); + (new TCollection_HAsciiString(IT.Key())); } return list; } diff --git a/src/IFSelect/IFSelect_WorkSession.hxx b/src/IFSelect/IFSelect_WorkSession.hxx index 5a9f3989c1..a1bd584ad5 100644 --- a/src/IFSelect/IFSelect_WorkSession.hxx +++ b/src/IFSelect/IFSelect_WorkSession.hxx @@ -26,33 +26,34 @@ #include #include #include +#include #include #include #include #include #include #include +#include #include #include #include #include #include +#include class IFSelect_ShareOut; class IFSelect_WorkLibrary; class Interface_Protocol; class Interface_InterfaceModel; class Interface_HGraph; class Interface_GTool; -class Dico_DictionaryOfTransient; + class IFSelect_ModelCopier; class Standard_DomainError; class IFSelect_Signature; -class Standard_Transient; class TCollection_HAsciiString; class Interface_Graph; class Interface_CheckIterator; class IFSelect_IntParam; -class TCollection_AsciiString; class IFSelect_Selection; class Interface_EntityIterator; class IFSelect_SelectionIterator; @@ -1094,7 +1095,7 @@ public: Handle(Interface_HGraph) thegraph; Interface_CheckIterator thecheckrun; TColStd_IndexedDataMapOfTransientTransient theitems; - Handle(Dico_DictionaryOfTransient) thenames; + NCollection_DataMap thenames; private: diff --git a/src/IGESControl/IGESControl_Reader.cxx b/src/IGESControl/IGESControl_Reader.cxx index cc2237b94e..87e599de67 100644 --- a/src/IGESControl/IGESControl_Reader.cxx +++ b/src/IGESControl/IGESControl_Reader.cxx @@ -15,10 +15,6 @@ //abv 10.04.99 S4136: eliminate using BRepAPI::Precision() #include -#include -#include -#include -#include #include #include #include @@ -35,6 +31,7 @@ #include #include #include +#include #include #include #include @@ -151,39 +148,39 @@ void IGESControl_Reader::PrintTransferInfo nbRoots = TP->NbRoots(); //nbResults = TP->NbMapped(); Transfer_IteratorOfProcessForTransient iterTrans = TP->RootResult(Standard_True); - Handle(Dico_DictionaryOfInteger) dicoCountResult = new Dico_DictionaryOfInteger; - Handle(Dico_DictionaryOfInteger) dicoCountMapping = new Dico_DictionaryOfInteger; + NCollection_DataMap aMapCountResult; + NCollection_DataMap aMapCountMapping; for (iterTrans.Start(); iterTrans.More() ; iterTrans.Next() ) { nbResults++; // Init for dicoCountResult for IFSelect_ResultCount if ( mode == IFSelect_ResultCount ) { - char mess[300]; - const Handle(Transfer_Binder) aBinder = iterTrans.Value(); - sprintf(mess,"\t%s",aBinder->ResultTypeName()); - Standard_Boolean deja; - Standard_Integer& nb = dicoCountResult->NewItem(mess,deja); - if (!deja) nb = 0; - nb ++; + char mess[300]; + const Handle(Transfer_Binder) aBinder = iterTrans.Value(); + sprintf(mess,"\t%s",aBinder->ResultTypeName()); + if (aMapCountResult.IsBound(mess)) + aMapCountResult.ChangeFind(mess)++; + else + aMapCountResult.Bind(mess,1); } // Init for dicoCountMapping for IFSelect_Mapping else if ( mode == IFSelect_Mapping ) { - char mess[300]; - const Handle(Transfer_Binder) aBinder = iterTrans.Value(); - DeclareAndCast(IGESData_IGESEntity,igesEnt,iterTrans.Starting()); - - sprintf(mess,"%d\t%d\t%s\t%s", igesEnt->TypeNumber(), igesEnt->FormNumber(), - "%d", aBinder->ResultTypeName()); - //cout << mess << endl; - Standard_Boolean deja; - Standard_Integer& nb = dicoCountMapping->NewItem(mess,deja); - if (!deja) nb = 0; - nb ++; - } + char mess[300]; + const Handle(Transfer_Binder) aBinder = iterTrans.Value(); + DeclareAndCast(IGESData_IGESEntity,igesEnt,iterTrans.Starting()); + + sprintf(mess,"%d\t%d\t%s\t%s", igesEnt->TypeNumber(), igesEnt->FormNumber(), + "%d", aBinder->ResultTypeName()); + //cout << mess << endl; + if (aMapCountMapping.IsBound(mess)) + aMapCountMapping.ChangeFind(mess)++; + else + aMapCountMapping.Bind(mess, 1); + } } Interface_CheckIterator checkIterator = TP->CheckList(Standard_False); - Handle(Dico_DictionaryOfInteger) dicoCount = new Dico_DictionaryOfInteger; - Handle(Dico_DictionaryOfTransient) dicoList = new Dico_DictionaryOfTransient; + NCollection_DataMap aMapCount; + NCollection_DataMap aMapList; // Init the dicoCount dicoList and nbWarn ,nb Fail. for(checkIterator.Start(); checkIterator.More(); checkIterator.Next() ) { char mess[300]; @@ -193,27 +190,36 @@ void IGESControl_Reader::PrintTransferInfo Standard_Integer type = igesEnt->TypeNumber(), form = igesEnt->FormNumber(); Standard_Integer nw = aCheck->NbWarnings(), nf = aCheck->NbFails(), i; for(i = 1; (failsonly==IFSelect_FailAndWarn) && (i<= nw); i++) { - sprintf(mess,"\t W\t%d\t%d\t%s",type,form,aCheck->CWarning(i)); - Standard_Boolean deja; - Standard_Integer& nb = dicoCount->NewItem(mess,deja); - if (!deja) nb = 0; - nb ++; - Handle(Standard_Transient)& anitem = dicoList->NewItem(mess,deja); - DeclareAndCast(TColStd_HSequenceOfInteger,alist,anitem); - if (!deja) { alist = new TColStd_HSequenceOfInteger(); anitem = alist; } - alist->Append(model->Number(igesEnt)*2-1); + sprintf(mess,"\t W\t%d\t%d\t%s",type,form,aCheck->CWarning(i)); + if (aMapCount.IsBound(mess)) + aMapCount.ChangeFind(mess)++; + else + aMapCount.Bind(mess, 1); + + Handle(TColStd_HSequenceOfInteger) alist; + if (aMapList.IsBound(mess)) + alist = aMapList.ChangeFind(mess); + else { + alist = new TColStd_HSequenceOfInteger(); + aMapList.Bind(mess, alist); + } + alist->Append(model->Number(igesEnt)*2-1); } for(i = 1; i<= nf; i++) { - sprintf(mess,"\t F\t%d\t%d\t%s",type,form,aCheck->CFail(i)); - // TF << mess << endl; - Standard_Boolean deja; - Standard_Integer& nb = dicoCount->NewItem(mess,deja); - if (!deja) nb = 0; - nb ++; - Handle(Standard_Transient)& anitem = dicoList->NewItem(mess,deja); - DeclareAndCast(TColStd_HSequenceOfInteger,alist,anitem); - if (!deja) { alist = new TColStd_HSequenceOfInteger(); anitem = alist; } - alist->Append(model->Number(igesEnt)*2-1); + sprintf(mess,"\t F\t%d\t%d\t%s",type,form,aCheck->CFail(i)); + // TF << mess << endl; + if (aMapCount.IsBound(mess)) + aMapCount.ChangeFind(mess)++; + else + aMapCount.Bind(mess, 1); + Handle(TColStd_HSequenceOfInteger) alist; + if (aMapList.IsBound(mess)) + alist = aMapList.ChangeFind(mess); + else { + alist = new TColStd_HSequenceOfInteger(); + aMapList.Bind(mess, alist); + } + alist->Append(model->Number(igesEnt)*2-1); } nbWarn += nw; nbFail += nf; @@ -235,33 +241,32 @@ void IGESControl_Reader::PrintTransferInfo case IFSelect_ListByItem : { Message_Msg msg3030("IGES_3030"); TF->Send(msg3030, Message_Info); - Dico_IteratorOfDictionaryOfInteger dicoCountIter(dicoCount); - Dico_IteratorOfDictionaryOfTransient dicoListIter(dicoList); - for(dicoCountIter.Start(),dicoListIter.Start(); - dicoCountIter.More() && dicoListIter.More(); - dicoCountIter.Next(),dicoListIter.Next()) { - TF << dicoCountIter.Value() << dicoCountIter.Name() << endl; - if (mode == IFSelect_ListByItem) { - DeclareAndCast(TColStd_HSequenceOfInteger, entityList, dicoListIter.Value()); - Standard_Integer length = entityList->Length(); - Message_Msg msg3035("IGES_3035"); - TF->Send(msg3035, Message_Info); - char line[80]; - sprintf(line,"\t\t\t"); - TF << line ; - Standard_Integer nbInLine =0; - for(Standard_Integer i = 1; i <= length ; i++ ) { - // IDT_Out << (entityList->Value(i)) << " "; - sprintf(line,"\t %d", entityList->Value(i)); - TF << line ; - if (++nbInLine == 6) { - nbInLine = 0; - sprintf(line,"\n\t\t\t"); - TF << line ; - } - } - TF << endl ; - } + NCollection_DataMap::Iterator aMapCountIter(aMapCount); + NCollection_DataMap::Iterator aMapListIter(aMapList); + for(; aMapCountIter.More() && aMapListIter.More(); + aMapCountIter.Next(), aMapListIter.Next()) { + TF << aMapCountIter.Value() << aMapCountIter.Key() << endl; + if (mode == IFSelect_ListByItem) { + Handle(TColStd_HSequenceOfInteger) entityList = aMapListIter.Value(); + Standard_Integer length = entityList->Length(); + Message_Msg msg3035("IGES_3035"); + TF->Send(msg3035, Message_Info); + char line[80]; + sprintf(line, "\t\t\t"); + TF << line; + Standard_Integer nbInLine = 0; + for (Standard_Integer i = 1; i <= length; i++) { + // IDT_Out << (entityList->Value(i)) << " "; + sprintf(line, "\t %d", entityList->Value(i)); + TF << line; + if (++nbInLine == 6) { + nbInLine = 0; + sprintf(line, "\n\t\t\t"); + TF << line; + } + } + TF << endl; + } } break; } @@ -270,9 +275,11 @@ void IGESControl_Reader::PrintTransferInfo Message_Msg msg3011("IGES_3011");msg3011.Arg(nbRoots);TF->Send(msg3011, Message_Info); Message_Msg msg3015("IGES_3015");msg3015.Arg(nbResults);TF->Send(msg3015, Message_Info); Message_Msg msg3045("IGES_3045");TF->Send(msg3045, Message_Info); - Dico_IteratorOfDictionaryOfInteger dicoCountIter(dicoCountResult); - for(dicoCountIter.Start(); dicoCountIter.More(); dicoCountIter.Next()) { - TF << dicoCountIter.Value() << dicoCountIter.Name() << endl; + + NCollection_DataMap::Iterator aMapIter(aMapCountResult); + for (; aMapIter.More(); aMapIter.Next()) + { + TF << aMapIter.Key() << aMapIter.Value() << endl; } break; } @@ -283,26 +290,26 @@ void IGESControl_Reader::PrintTransferInfo Message_Msg msg3045("IGES_3055");TF->Send(msg3045, Message_Info); // Add failed entities in dicoCountMapping if (nbRoots!=nbResults) { - for( Standard_Integer i = 1; i <= nbRoots ; i++) { - DeclareAndCast(IGESData_IGESEntity, root, TP->Root(i)); - if (!TP->IsBound(root)) { - char mess[300]; - - sprintf(mess,"%d\t%d \t%s\t%s", root->TypeNumber(), root->FormNumber(), - "%d", "Failed"); - //cout << mess << endl; - Standard_Boolean deja; - Standard_Integer& nb = dicoCountMapping->NewItem(mess,deja); - if (!deja) nb = 0; - nb ++; - } - } + for (Standard_Integer i = 1; i <= nbRoots; i++) { + DeclareAndCast(IGESData_IGESEntity, root, TP->Root(i)); + if (!TP->IsBound(root)) { + char mess[300]; + + sprintf(mess, "%d\t%d \t%s\t%s", root->TypeNumber(), root->FormNumber(), + "%d", "Failed"); + //cout << mess << endl; + if (aMapCountMapping.IsBound(mess)) + aMapCountMapping.ChangeFind(mess)++; + else + aMapCountMapping.Bind(mess, 1); + } + } } - Dico_IteratorOfDictionaryOfInteger dicoCountIter(dicoCountMapping); - for(dicoCountIter.Start(); dicoCountIter.More(); dicoCountIter.Next()) { - char mess[80]; - sprintf(mess, dicoCountIter.Name().ToCString() , dicoCountIter.Value()); - TF << mess << endl; //dicoCountIter.Value() << dicoCountIter.Name() << endl; + NCollection_DataMap::Iterator aMapCountIter(aMapCountMapping); + for(; aMapCountIter.More(); aMapCountIter.Next()) { + char mess[80]; + sprintf(mess, aMapCountIter.Key().ToCString(), aMapCountIter.Value()); + TF << mess << endl; //dicoCountIter.Value() << dicoCountIter.Name() << endl; } break; } diff --git a/src/IGESSelect/IGESSelect_CounterOfLevelNumber.cxx b/src/IGESSelect/IGESSelect_CounterOfLevelNumber.cxx index 884199a838..c074ea9659 100644 --- a/src/IGESSelect/IGESSelect_CounterOfLevelNumber.cxx +++ b/src/IGESSelect/IGESSelect_CounterOfLevelNumber.cxx @@ -12,7 +12,6 @@ // commercial license or contractual agreement. -#include #include #include #include diff --git a/src/Interface/Interface_InterfaceModel.cxx b/src/Interface/Interface_InterfaceModel.cxx index 7f095ee161..9fd33dd966 100644 --- a/src/Interface/Interface_InterfaceModel.cxx +++ b/src/Interface/Interface_InterfaceModel.cxx @@ -16,8 +16,6 @@ //svv#2 21.02.00 : porting on SIL //smh#14 17.03.2000 : FRA62479 Clearing of gtool. -#include -#include #include #include #include @@ -39,7 +37,7 @@ #include #include -IMPLEMENT_STANDARD_RTTIEXT(Interface_InterfaceModel,MMgt_TShared) +IMPLEMENT_STANDARD_RTTIEXT(Interface_InterfaceModel, MMgt_TShared) // Un Modele d`Interface est un ensemble ferme d`Entites d`interface : chacune // est dans un seul modele a la fois; elle y a un numero (Number) qui permet de @@ -47,13 +45,7 @@ IMPLEMENT_STANDARD_RTTIEXT(Interface_InterfaceModel,MMgt_TShared) // performantes, de fournir un identifieur numerique // Il est a meme d`etre utilise dans des traitements de Graphe // STATICS : les TEMPLATES -static const Handle(Dico_DictionaryOfTransient)& templates() -{ - static Handle(Dico_DictionaryOfTransient) atemp; - if (atemp.IsNull()) atemp = new Dico_DictionaryOfTransient; - return atemp; -} - +static NCollection_DataMap atemp; static const Handle(Standard_Type)& typerep() { @@ -1004,7 +996,7 @@ Standard_Integer Interface_InterfaceModel::NextNumberForLabel Standard_Boolean Interface_InterfaceModel::HasTemplate (const Standard_CString name) { - return templates()->HasItem(name); + return atemp.IsBound(name); } @@ -1018,7 +1010,7 @@ Handle(Interface_InterfaceModel) Interface_InterfaceModel::Template { Handle(Interface_InterfaceModel) model,newmod; if (!HasTemplate(name)) return model; - model = Handle(Interface_InterfaceModel)::DownCast(templates()->Item(name)); + model = Handle(Interface_InterfaceModel)::DownCast(atemp.ChangeFind(name)); newmod = model->NewEmptyModel(); newmod->GetFromAnother (model); return newmod; @@ -1033,10 +1025,7 @@ Handle(Interface_InterfaceModel) Interface_InterfaceModel::Template Standard_Boolean Interface_InterfaceModel::SetTemplate (const Standard_CString name, const Handle(Interface_InterfaceModel)& model) { - Standard_Boolean deja; - Handle(Standard_Transient)& newmod = templates()->NewItem(name,deja); - newmod = model; - return deja; + return atemp.Bind(name, model); } @@ -1049,10 +1038,10 @@ Handle(TColStd_HSequenceOfHAsciiString) Interface_InterfaceModel::ListTemplates { Handle(TColStd_HSequenceOfHAsciiString) list = new TColStd_HSequenceOfHAsciiString(); - if (templates().IsNull()) return list; - for (Dico_IteratorOfDictionaryOfTransient iter(templates()); - iter.More(); iter.Next()) { - list->Append (new TCollection_HAsciiString (iter.Name()) ); + if (atemp.IsEmpty()) return list; + NCollection_DataMap::Iterator iter(atemp); + for (; iter.More(); iter.Next()) { + list->Append (new TCollection_HAsciiString (iter.Key()) ); } return list; } diff --git a/src/Interface/Interface_MSG.cxx b/src/Interface/Interface_MSG.cxx index 2f23de1403..1216eb8282 100644 --- a/src/Interface/Interface_MSG.cxx +++ b/src/Interface/Interface_MSG.cxx @@ -12,11 +12,8 @@ // commercial license or contractual agreement. -#include -#include -#include -#include #include +#include #include #include #include @@ -25,8 +22,8 @@ #include #include -static Handle(Dico_DictionaryOfTransient) thedic; -static Handle(Dico_DictionaryOfInteger) thelist; +static NCollection_DataMap thedic; +static NCollection_DataMap thelist; static Handle(TColStd_HSequenceOfHAsciiString) thedup; static Standard_Boolean theprint = Standard_True; static Standard_Boolean therec = Standard_False; @@ -156,13 +153,13 @@ Standard_Integer Interface_MSG::Read (Standard_IStream& S) (Standard_OStream& S, const Standard_CString rootkey) { Standard_Integer nb = 0; - if (thedic.IsNull()) return nb; + if (thedic.IsEmpty()) return nb; if (rootkey[0] != '\0') S<<"@@ ROOT:"<::Iterator iter(thedic); + for (; iter.More(); iter.Next()) { + if (!iter.Key().StartsWith(rootkey)) continue; + S<<"@"<ToCString()<<"\n"; @@ -183,16 +180,17 @@ Standard_Boolean Interface_MSG::IsKey (const Standard_CString key) Standard_CString Interface_MSG::Translated (const Standard_CString key) { if (!therun) return key; - if (!thedic.IsNull()) { + if (!thedic.IsEmpty()) { Handle(TCollection_HAsciiString) str; - if (thedic->GetItem(key,str)) return str->ToCString(); + if (thedic.Find(key, str)) + return str->ToCString(); } if (theprint) cout<<" ** Interface_MSG:Translate ?? "<NewItem (key,deja); - if (!deja) nb = 0; nb ++; + if (thelist.IsBound(key)) { + thelist.ChangeFind(key)++; + } else + thelist.Bind(key, 1); } if (theraise) Standard_DomainError::Raise ("Interface_MSG : Translate"); return key; @@ -200,15 +198,16 @@ Standard_CString Interface_MSG::Translated (const Standard_CString key) void Interface_MSG::Record - (const Standard_CString key, const Standard_CString item) +(const Standard_CString key, const Standard_CString item) { - if (thedic.IsNull()) thedic = new Dico_DictionaryOfTransient; - Standard_Boolean deja; Handle(TCollection_HAsciiString) dup; - Handle(Standard_Transient)& res = thedic->NewItem (key,deja); - Handle(TCollection_HAsciiString) str = new TCollection_HAsciiString (item); - res = str; - if (!deja) return; + Handle(TCollection_HAsciiString) str = new TCollection_HAsciiString(item); + if (thedic.IsBound(key)) { + thedic.ChangeFind(key) = str; + } else { + thedic.Bind(key,str); + return; + } if (theprint) cout<<" ** Interface_MSG:Record ?? "<ToCString()<::Iterator iter(thelist); + for (; iter.More(); iter.Next()) { + S<<"** MSG(NB="< -#include -#include -#include #include #include #include @@ -144,7 +140,7 @@ Standard_Boolean Interface_Static::Init { if (name[0] == '\0') return Standard_False; - if (MoniTool_TypedValue::Stats()->HasItem(name)) return Standard_False; + if (MoniTool_TypedValue::Stats().IsBound(name)) return Standard_False; Handle(Interface_Static) item; if (type == Interface_ParamMisc) { Handle(Interface_Static) other = Interface_Static::Static(init); @@ -153,7 +149,7 @@ Standard_Boolean Interface_Static::Init } else item = new Interface_Static (family,name,type,init); - MoniTool_TypedValue::Stats()->SetItem (name,item); + MoniTool_TypedValue::Stats().Bind (name,item); return Standard_True; } @@ -213,15 +209,15 @@ Standard_Boolean Interface_Static::Init Handle(Interface_Static) Interface_Static::Static (const Standard_CString name) { - Handle(Interface_Static) result; - MoniTool_TypedValue::Stats()->GetItem (name,result); - return result; + Handle(Standard_Transient) result; + MoniTool_TypedValue::Stats().Find(name, result); + return Handle(Interface_Static)::DownCast(result); } Standard_Boolean Interface_Static::IsPresent (const Standard_CString name) { - return MoniTool_TypedValue::Stats()->HasItem (name); + return MoniTool_TypedValue::Stats().IsBound (name); } @@ -392,8 +388,8 @@ Handle(TColStd_HSequenceOfHAsciiString) Interface_Static::Items Standard_Integer modup = (mode / 100); // 0 any, 1 non-update, 2 update Handle(TColStd_HSequenceOfHAsciiString) list = new TColStd_HSequenceOfHAsciiString(); - Dico_IteratorOfDictionaryOfTransient iter(MoniTool_TypedValue::Stats()); - for (iter.Start(); iter.More(); iter.Next()) { + NCollection_DataMap::Iterator iter(MoniTool_TypedValue::Stats()); + for (; iter.More(); iter.Next()) { Handle(Interface_Static) item = Handle(Interface_Static)::DownCast(iter.Value()); if (item.IsNull()) continue; @@ -409,7 +405,7 @@ Handle(TColStd_HSequenceOfHAsciiString) Interface_Static::Items if (ok && (modup == 1)) ok = !item->UpdatedStatus(); if (ok && (modup == 2)) ok = item->UpdatedStatus(); - if (ok) list->Append (new TCollection_HAsciiString (iter.Name()) ); + if (ok) list->Append (new TCollection_HAsciiString (iter.Key()) ); } return list; } diff --git a/src/Interface/Interface_Static.hxx b/src/Interface/Interface_Static.hxx index 201de10937..15f1f0403b 100644 --- a/src/Interface/Interface_Static.hxx +++ b/src/Interface/Interface_Static.hxx @@ -32,7 +32,6 @@ #include #include #include -class Dico_DictionaryOfInteger; class TCollection_HAsciiString; class Standard_Transient; class Interface_InterfaceError; @@ -284,7 +283,7 @@ private: Standard_Real therealup; TCollection_AsciiString theunidef; Handle(TColStd_HArray1OfAsciiString) theenums; - Handle(Dico_DictionaryOfInteger) theeadds; + NCollection_DataMap theeadds; Interface_StaticSatisfies thesatisf; TCollection_AsciiString thesatisn; Standard_Boolean theupdate; diff --git a/src/Interface/Interface_TypedValue.cxx b/src/Interface/Interface_TypedValue.cxx index a3b16d1a2a..b83d66d20d 100644 --- a/src/Interface/Interface_TypedValue.cxx +++ b/src/Interface/Interface_TypedValue.cxx @@ -12,8 +12,6 @@ // commercial license or contractual agreement. -#include -#include #include #include #include diff --git a/src/Interface/Interface_TypedValue.hxx b/src/Interface/Interface_TypedValue.hxx index 24ba68ad50..453712e459 100644 --- a/src/Interface/Interface_TypedValue.hxx +++ b/src/Interface/Interface_TypedValue.hxx @@ -27,7 +27,6 @@ #include #include #include -class Dico_DictionaryOfInteger; class TCollection_HAsciiString; class Standard_Transient; class Interface_InterfaceError; @@ -101,7 +100,7 @@ private: Handle(Standard_Type) theotyp; TCollection_AsciiString theunidef; Handle(TColStd_HArray1OfAsciiString) theenums; - Handle(Dico_DictionaryOfInteger) theeadds; + NCollection_DataMap theeadds; TCollection_AsciiString thesatisn; Handle(TCollection_HAsciiString) thehval; Handle(Standard_Transient) theoval; diff --git a/src/MoniTool/MoniTool_AttrList.cxx b/src/MoniTool/MoniTool_AttrList.cxx index a39dfddfbe..e5deb74a74 100644 --- a/src/MoniTool/MoniTool_AttrList.cxx +++ b/src/MoniTool/MoniTool_AttrList.cxx @@ -12,8 +12,6 @@ // commercial license or contractual agreement. -#include -#include #include #include #include @@ -33,23 +31,22 @@ MoniTool_AttrList::MoniTool_AttrList () { } void MoniTool_AttrList::SetAttribute (const Standard_CString name, const Handle(Standard_Transient)& val) { - if (theattrib.IsNull()) theattrib = new Dico_DictionaryOfTransient; - theattrib->SetItem (name,val); + theattrib.Bind(name,val); } Standard_Boolean MoniTool_AttrList::RemoveAttribute (const Standard_CString name) { - if (theattrib.IsNull()) return Standard_False; - return theattrib->RemoveItem (name); + if (theattrib.IsEmpty()) return Standard_False; + return theattrib.UnBind(name); } Standard_Boolean MoniTool_AttrList::GetAttribute (const Standard_CString name, const Handle(Standard_Type)& type, Handle(Standard_Transient)& val) const { - if (theattrib.IsNull()) { val.Nullify(); return Standard_False; } - if (!theattrib->GetItem (name,val)) { val.Nullify(); return Standard_False; } + if (theattrib.IsEmpty()) { val.Nullify(); return Standard_False; } + if (!theattrib.Find(name, val)) { val.Nullify(); return Standard_False; } if (!val->IsKind(type)) { val.Nullify(); return Standard_False; } return Standard_True; } @@ -58,8 +55,9 @@ MoniTool_AttrList::MoniTool_AttrList () { } (const Standard_CString name) const { Handle(Standard_Transient) atr; - if (theattrib.IsNull()) return atr; - if (!theattrib->GetItem (name,atr)) atr.Nullify(); + if (theattrib.IsEmpty()) return atr; + if (!theattrib.Find(name, atr)) + atr.Nullify(); return atr; } @@ -156,7 +154,7 @@ MoniTool_AttrList::MoniTool_AttrList () { } return hval->ToCString(); } - Handle(Dico_DictionaryOfTransient) MoniTool_AttrList::AttrList () const + const NCollection_DataMap& MoniTool_AttrList::AttrList () const { return theattrib; } void MoniTool_AttrList::SameAttributes (const MoniTool_AttrList& other) @@ -166,13 +164,14 @@ MoniTool_AttrList::MoniTool_AttrList () { } (const MoniTool_AttrList& other, const Standard_CString fromname, const Standard_Boolean copied) { - Handle(Dico_DictionaryOfTransient) list = other.AttrList(); - if (list.IsNull()) return; - if (theattrib.IsNull()) theattrib = new Dico_DictionaryOfTransient; + const NCollection_DataMap& list = other.AttrList(); + if (list.IsEmpty()) return; - for (Dico_IteratorOfDictionaryOfTransient iter (list,fromname); - iter.More(); iter.Next()) { - TCollection_AsciiString name = iter.Name(); + NCollection_DataMap::Iterator iter(list); + for (; iter.More(); iter.Next()) { + TCollection_AsciiString name = iter.Key(); + if (!name.StartsWith(fromname)) + continue; Handle(Standard_Transient) atr = iter.Value(); Handle(Standard_Transient) newatr = atr; @@ -200,8 +199,6 @@ MoniTool_AttrList::MoniTool_AttrList () { } } } - - theattrib->SetItem (name.ToCString(),newatr); - + theattrib.Bind(name, newatr); } } diff --git a/src/MoniTool/MoniTool_AttrList.hxx b/src/MoniTool/MoniTool_AttrList.hxx index fcd57630a5..9073d383b9 100644 --- a/src/MoniTool/MoniTool_AttrList.hxx +++ b/src/MoniTool/MoniTool_AttrList.hxx @@ -27,9 +27,9 @@ #include #include #include -class Dico_DictionaryOfTransient; -class Standard_Transient; - +#include +#include +#include //! a AttrList allows to record a list of attributes as Transients //! which can be edited, changed ... @@ -111,7 +111,7 @@ public: Standard_EXPORT Standard_CString StringAttribute (const Standard_CString name) const; //! Returns the exhaustive list of attributes - Standard_EXPORT Handle(Dico_DictionaryOfTransient) AttrList() const; + Standard_EXPORT const NCollection_DataMap& AttrList() const; //! Gets the list of attributes from , as such, i.e. //! not copied : attributes are shared, any attribute edited, @@ -145,7 +145,7 @@ private: - Handle(Dico_DictionaryOfTransient) theattrib; + NCollection_DataMap theattrib; }; diff --git a/src/MoniTool/MoniTool_CaseData.cxx b/src/MoniTool/MoniTool_CaseData.cxx index 4e9c1aa720..3ffcd0b73b 100644 --- a/src/MoniTool/MoniTool_CaseData.cxx +++ b/src/MoniTool/MoniTool_CaseData.cxx @@ -12,8 +12,6 @@ // commercial license or contractual agreement. -#include -#include #include #include #include @@ -32,26 +30,12 @@ #include #include #include +#include IMPLEMENT_STANDARD_RTTIEXT(MoniTool_CaseData,MMgt_TShared) -//#include -// definitions -static Handle(Dico_DictionaryOfInteger)& defchecks() -{ - static Handle(Dico_DictionaryOfInteger) defch; - if (defch.IsNull()) defch = new Dico_DictionaryOfInteger(); - return defch; -} - -static Handle(Dico_DictionaryOfTransient)& defmess() -{ - static Handle(Dico_DictionaryOfTransient) defms; - if (defms.IsNull()) defms = new Dico_DictionaryOfTransient(); - return defms; -} - - +static NCollection_DataMap defch; +static NCollection_DataMap defms; static Standard_Boolean stachr = Standard_False; //static OSD_Timer chrono; @@ -411,15 +395,16 @@ Message_Msg MoniTool_CaseData::Msg () const void MoniTool_CaseData::SetDefWarning (const Standard_CString acode) - { defchecks()->SetItem (acode,1); } + { defch.Bind(acode,1); } void MoniTool_CaseData::SetDefFail (const Standard_CString acode) - { defchecks()->SetItem (acode,2); } + { defch.Bind(acode,2); } Standard_Integer MoniTool_CaseData::DefCheck (const Standard_CString acode) { Standard_Integer val; - if (!defchecks()->GetItem (acode,val)) val = 0; + if (!defch.Find(acode, val)) + val = 0; return val; } @@ -428,14 +413,14 @@ Message_Msg MoniTool_CaseData::Msg () const (const Standard_CString casecode, const Standard_CString mesdef) { Handle(TCollection_HAsciiString) str = new TCollection_HAsciiString (mesdef); - defmess()->SetItem (casecode,str); + defms.Bind(casecode,str); } Standard_CString MoniTool_CaseData::DefMsg (const Standard_CString casecode) { - //Standard_CString mesd; - Handle(TCollection_HAsciiString) str; - if (!defmess()->GetItem (casecode,str)) return ""; + Handle(Standard_Transient) aTStr; + if (!defms.Find(casecode, aTStr)) return ""; + Handle(TCollection_HAsciiString) str = Handle(TCollection_HAsciiString)::DownCast(aTStr); if (str.IsNull()) return ""; return str->ToCString(); } diff --git a/src/MoniTool/MoniTool_TypedValue.cxx b/src/MoniTool/MoniTool_TypedValue.cxx index 0b8f5c2d1f..af10310187 100644 --- a/src/MoniTool/MoniTool_TypedValue.cxx +++ b/src/MoniTool/MoniTool_TypedValue.cxx @@ -12,10 +12,6 @@ // commercial license or contractual agreement. -#include -#include -#include -#include #include #include #include @@ -31,31 +27,32 @@ IMPLEMENT_STANDARD_RTTIEXT(MoniTool_TypedValue,MMgt_TShared) // Not Used : //static char defmess[30]; -static Handle(Dico_DictionaryOfTransient) libtv() +static NCollection_DataMap thelibtv; +static NCollection_DataMap astats; + +static NCollection_DataMap& libtv() { - static Handle(Dico_DictionaryOfTransient) thelibtv; - if (thelibtv.IsNull()) { - thelibtv = new Dico_DictionaryOfTransient; + if (thelibtv.IsEmpty()) { Handle(MoniTool_TypedValue) tv; tv = new MoniTool_TypedValue("Integer",MoniTool_ValueInteger); - thelibtv->SetItem ("Integer",tv); + thelibtv.Bind ("Integer",tv); tv = new MoniTool_TypedValue("Real",MoniTool_ValueReal); - thelibtv->SetItem ("Real",tv); + thelibtv.Bind ("Real",tv); tv = new MoniTool_TypedValue("Text",MoniTool_ValueText); - thelibtv->SetItem ("Text",tv); + thelibtv.Bind ("Text",tv); tv = new MoniTool_TypedValue("Transient",MoniTool_ValueIdent); - thelibtv->SetItem ("Transient",tv); + thelibtv.Bind ("Transient",tv); tv = new MoniTool_TypedValue("Boolean",MoniTool_ValueEnum); tv->AddDef ("enum 0"); // = 0 False , > 0 True tv->AddDef ("eval False"); tv->AddDef ("eval True"); - thelibtv->SetItem ("Boolean",tv); + thelibtv.Bind ("Boolean",tv); tv = new MoniTool_TypedValue("Logical",MoniTool_ValueEnum); tv->AddDef ("enum -1"); // < 0 False , = 0 Unk , > 0 True tv->AddDef ("eval False"); tv->AddDef ("eval Unknown"); tv->AddDef ("eval True"); - thelibtv->SetItem ("Logical",tv); + thelibtv.Bind ("Logical",tv); } return thelibtv; } @@ -101,7 +98,7 @@ static Standard_Boolean StaticPath(const Handle(TCollection_HAsciiString)& val) theival (other->IntegerValue()) , thehval (other->HStringValue()) , theoval (other->ObjectValue()) { - Handle(Dico_DictionaryOfInteger) eadds; + NCollection_DataMap eadds; Standard_CString satisname; other->Internals (theinterp,thesatisf,satisname, eadds); thesatisn.AssignCat (satisname); @@ -121,10 +118,9 @@ static Standard_Boolean StaticPath(const Handle(TCollection_HAsciiString)& val) } } // dupliquer theeadds - if (!eadds.IsNull()) { - theeadds = new Dico_DictionaryOfInteger; - Dico_IteratorOfDictionaryOfInteger itad (eadds); - for (; itad.More(); itad.Next()) theeadds->SetItem (itad.Name(),itad.Value()); + if (!eadds.IsEmpty()) { + NCollection_DataMap::Iterator itad(eadds); + for (; itad.More(); itad.Next()) theeadds.Bind (itad.Key(),itad.Value()); } // on duplique la string @@ -135,7 +131,7 @@ static Standard_Boolean StaticPath(const Handle(TCollection_HAsciiString)& val) void MoniTool_TypedValue::Internals (MoniTool_ValueInterpret& interp, MoniTool_ValueSatisfies& satisf, Standard_CString& satisname, - Handle(Dico_DictionaryOfInteger)& enums) const + NCollection_DataMap& enums) const { interp = theinterp; satisf = thesatisf; satisname = thesatisn.ToCString(); enums = theeadds; } @@ -192,17 +188,17 @@ static Standard_Boolean StaticPath(const Handle(TCollection_HAsciiString)& val) Sprintf(mess," %d:%s",i,enva); def.AssignCat (mess); } - if (!theeadds.IsNull()) { - def.AssignCat(" , alpha: "); - Dico_IteratorOfDictionaryOfInteger listadd(theeadds); - for (listadd.Start(); listadd.More(); listadd.Next()) { - TCollection_AsciiString aName = listadd.Name(); - Standard_CString enva = aName.ToCString(); - if (enva[0] == '?') continue; - Sprintf(mess,":%d ",listadd.Value()); - def.AssignCat (enva); - def.AssignCat (mess); - } + if (!theeadds.IsEmpty()) { + def.AssignCat(" , alpha: "); + NCollection_DataMap::Iterator listadd(theeadds); + for (; listadd.More(); listadd.Next()) { + TCollection_AsciiString aName = listadd.Key(); + Standard_CString enva = aName.ToCString(); + if (enva[0] == '?') continue; + Sprintf(mess,":%d ",listadd.Value()); + def.AssignCat (enva); + def.AssignCat (mess); + } } } break; @@ -392,46 +388,45 @@ static Standard_Boolean StaticPath(const Handle(TCollection_HAsciiString)& val) theenums = enums; } - if (theeadds.IsNull()) theeadds = new Dico_DictionaryOfInteger; if (v1[0] != '\0') { theintup ++; theenums->SetValue(theintup,TCollection_AsciiString(v1)); - theeadds->SetItem (v1,theintup); + theeadds.Bind (v1,theintup); } if (v2[0] != '\0') { theintup ++; theenums->SetValue(theintup,TCollection_AsciiString(v2)); - theeadds->SetItem (v2,theintup); + theeadds.Bind (v2,theintup); } if (v3[0] != '\0') { theintup ++; theenums->SetValue(theintup,TCollection_AsciiString(v3)); - theeadds->SetItem (v3,theintup); + theeadds.Bind (v3,theintup); } if (v4[0] != '\0') { theintup ++; theenums->SetValue(theintup,TCollection_AsciiString(v4)); - theeadds->SetItem (v4,theintup); + theeadds.Bind (v4,theintup); } if (v5[0] != '\0') { theintup ++; theenums->SetValue(theintup,TCollection_AsciiString(v5)); - theeadds->SetItem (v5,theintup); + theeadds.Bind (v5,theintup); } if (v6[0] != '\0') { theintup ++; theenums->SetValue(theintup,TCollection_AsciiString(v6)); - theeadds->SetItem (v6,theintup); + theeadds.Bind (v6,theintup); } if (v7[0] != '\0') { theintup ++; theenums->SetValue(theintup,TCollection_AsciiString(v7)); - theeadds->SetItem (v7,theintup); + theeadds.Bind (v7,theintup); } if (v8[0] != '\0') { theintup ++; theenums->SetValue(theintup,TCollection_AsciiString(v8)); - theeadds->SetItem (v8,theintup); + theeadds.Bind (v8,theintup); } if (v9[0] != '\0') { theintup ++; theenums->SetValue(theintup,TCollection_AsciiString(v9)); - theeadds->SetItem (v9,theintup); + theeadds.Bind (v9,theintup); } if (v10[0] != '\0') { theintup ++; theenums->SetValue(theintup,TCollection_AsciiString(v10)); - theeadds->SetItem (v10,theintup); + theeadds.Bind (v10,theintup); } } @@ -458,8 +453,7 @@ static Standard_Boolean StaticPath(const Handle(TCollection_HAsciiString)& val) theenums->SetValue(num,TCollection_AsciiString(val)); // On met AUSSI dans le dictionnaire // else { - if (theeadds.IsNull()) theeadds = new Dico_DictionaryOfInteger; - theeadds->SetItem (val,num); + theeadds.Bind (val,num); // } } @@ -489,8 +483,8 @@ static Standard_Boolean StaticPath(const Handle(TCollection_HAsciiString)& val) for (i = theintlow; i <= theintup; i ++) if (theenums->Value(i).IsEqual(val)) return i; // cas additionnel ? - if (!theeadds.IsNull()) { - if (theeadds->GetItem (val,i,Standard_False)) return i; + if (!theeadds.IsEmpty()) { + if (theeadds.Find(val,i)) return i; } // entier possible //gka S4054 @@ -735,7 +729,7 @@ static Standard_Boolean StaticPath(const Handle(TCollection_HAsciiString)& val) if (tv.IsNull()) return Standard_False; if (defin[0] != '\0') tv->SetDefinition(defin); // else if (tv->Definition() == '\0') return Standard_False; - libtv()->SetItem (tv->Name(),tv); + libtv().Bind(tv->Name(),tv); return Standard_True; } @@ -743,7 +737,11 @@ static Standard_Boolean StaticPath(const Handle(TCollection_HAsciiString)& val) (const Standard_CString defin) { Handle(MoniTool_TypedValue) val; - if (!libtv()->GetItem (defin,val,Standard_False)) val.Nullify(); + Handle(Standard_Transient) aTVal; + if (libtv().Find(defin, aTVal)) + val = Handle(MoniTool_TypedValue)::DownCast(aTVal); + else + val.Nullify(); return val; } @@ -758,19 +756,16 @@ static Standard_Boolean StaticPath(const Handle(TCollection_HAsciiString)& val) Handle(TColStd_HSequenceOfAsciiString) MoniTool_TypedValue::LibList () { Handle(TColStd_HSequenceOfAsciiString) list = new TColStd_HSequenceOfAsciiString(); - if (libtv().IsNull()) return list; - for (Dico_IteratorOfDictionaryOfTransient it(libtv()); it.More();it.Next()) { - list->Append (it.Name()); + if (libtv().IsEmpty()) return list; + NCollection_DataMap::Iterator it(libtv()); + for (; it.More();it.Next()) { + list->Append (it.Key()); } return list; } - - - Handle(Dico_DictionaryOfTransient) MoniTool_TypedValue::Stats () +NCollection_DataMap& MoniTool_TypedValue::Stats () { - static Handle(Dico_DictionaryOfTransient) astats; - if (astats.IsNull()) astats = new Dico_DictionaryOfTransient; return astats; } @@ -778,6 +773,10 @@ static Standard_Boolean StaticPath(const Handle(TCollection_HAsciiString)& val) (const Standard_CString name) { Handle(MoniTool_TypedValue) result; - if (!Stats()->GetItem(name,result)) result.Nullify(); + Handle(Standard_Transient) aTResult; + if (Stats().Find(name, aTResult)) + result = Handle(MoniTool_TypedValue)::DownCast(aTResult); + else + result.Nullify(); return result; } diff --git a/src/MoniTool/MoniTool_TypedValue.hxx b/src/MoniTool/MoniTool_TypedValue.hxx index 2ac7530a92..2a0a7717a3 100644 --- a/src/MoniTool/MoniTool_TypedValue.hxx +++ b/src/MoniTool/MoniTool_TypedValue.hxx @@ -22,6 +22,7 @@ #include #include +#include #include #include #include @@ -32,13 +33,11 @@ #include #include #include -class Dico_DictionaryOfInteger; class TCollection_HAsciiString; class Standard_Transient; class Standard_ConstructionError; class TCollection_AsciiString; class Message_Messenger; -class Dico_DictionaryOfTransient; class MoniTool_TypedValue; @@ -77,7 +76,7 @@ public: Standard_EXPORT MoniTool_TypedValue(const Handle(MoniTool_TypedValue)& other); //! Access to internal data which have no other access - Standard_EXPORT void Internals (MoniTool_ValueInterpret& interp, MoniTool_ValueSatisfies& satisf, Standard_CString& satisname, Handle(Dico_DictionaryOfInteger)& enums) const; + Standard_EXPORT void Internals (MoniTool_ValueInterpret& interp, MoniTool_ValueSatisfies& satisf, Standard_CString& satisname, NCollection_DataMap& enums) const; //! Returns the name Standard_EXPORT Standard_CString Name() const; @@ -326,7 +325,7 @@ protected: //! Gives the internal library of static values - Standard_EXPORT static Handle(Dico_DictionaryOfTransient) Stats(); + Standard_EXPORT static NCollection_DataMap& Stats(); @@ -346,7 +345,7 @@ private: Standard_Real therealup; TCollection_AsciiString theunidef; Handle(TColStd_HArray1OfAsciiString) theenums; - Handle(Dico_DictionaryOfInteger) theeadds; + NCollection_DataMap theeadds; MoniTool_ValueInterpret theinterp; MoniTool_ValueSatisfies thesatisf; TCollection_AsciiString thesatisn; diff --git a/src/NCollection/NCollection_DataMap.hxx b/src/NCollection/NCollection_DataMap.hxx index 8756f5b2c2..0d0ceab33b 100644 --- a/src/NCollection/NCollection_DataMap.hxx +++ b/src/NCollection/NCollection_DataMap.hxx @@ -252,24 +252,24 @@ class NCollection_DataMap : public NCollection_BaseMap } //! IsBound - Standard_Boolean IsBound(const TheKeyType& K) const + Standard_Boolean IsBound(const TheKeyType& theKey) const { DataMapNode* p; - return lookup(K, p); + return lookup(theKey, p); } //! UnBind removes Item Key pair from map - Standard_Boolean UnBind(const TheKeyType& K) + Standard_Boolean UnBind(const TheKeyType& theKey) { if (IsEmpty()) return Standard_False; DataMapNode** data = (DataMapNode**) myData1; - Standard_Integer k = Hasher::HashCode(K,NbBuckets()); + Standard_Integer k = Hasher::HashCode(theKey,NbBuckets()); DataMapNode* p = data[k]; DataMapNode* q = NULL; while (p) { - if (Hasher::IsEqual(p->Key(),K)) + if (Hasher::IsEqual(p->Key(), theKey)) { Decrement(); if (q) diff --git a/src/QABugs/QABugs_3.cxx b/src/QABugs/QABugs_3.cxx index 8af72b24be..54137a8279 100644 --- a/src/QABugs/QABugs_3.cxx +++ b/src/QABugs/QABugs_3.cxx @@ -1124,7 +1124,7 @@ static int TestCMD(Draw_Interpretor& di, Standard_Integer argc, const char ** ar return 0; } -#include +#include #include #include #include @@ -1140,10 +1140,10 @@ static Standard_Integer statface (Draw_Interpretor& di,Standard_Integer /*argc*/ di<<"Invalid input shape\n"; return 1; } - Handle(Dico_DictionaryOfInteger) aDico = new Dico_DictionaryOfInteger(); + NCollection_DataMap aMap; Handle(TColStd_HSequenceOfAsciiString) aSequence = new TColStd_HSequenceOfAsciiString; Standard_CString aString; - Standard_Integer i=1,j=1,l=1,aa=1; + Standard_Integer l=0; TopExp_Explorer expl; Standard_Real f3d,l3d; for(expl.Init(aShape,TopAbs_FACE);expl.More();expl.Next()) @@ -1153,15 +1153,11 @@ static Standard_Integer statface (Draw_Interpretor& di,Standard_Integer /*argc*/ Handle(Geom_Surface) aSurface = BRep_Tool::Surface(aFace); aString = aSurface->DynamicType()->Name(); - if(aDico->GetItem(aString,aa) != 0) - { - aDico->GetItem(aString,aa); - aDico->SetItem(aString,aa+1); - } else { - aDico->SetItem(aString,1); + if (aMap.IsBound(aString)) + aMap.ChangeFind(aString)++; + else { + aMap.Bind(aString, 1); aSequence->Append(aString); - aa=1; - i++; } } // PCURVES @@ -1173,51 +1169,42 @@ static Standard_Integer statface (Draw_Interpretor& di,Standard_Integer /*argc*/ TopoDS_Iterator it (aWire); for (; it.More(); it.Next()) { TopoDS_Edge Edge = TopoDS::Edge (it.Value()); - Handle(Geom2d_Curve) aCurve2d = BRep_Tool::CurveOnSurface(Edge,aFace,f3d,l3d); - aString = aCurve2d->DynamicType()->Name(); - if(aDico->GetItem(aString,aa) != 0) - { - aDico->GetItem(aString,aa); - aDico->SetItem(aString,aa+1); - } else { - aDico->SetItem(aString,1); - aSequence->Append(aString); - i++; - aa=1; - } + Handle(Geom2d_Curve) aCurve2d = BRep_Tool::CurveOnSurface(Edge,aFace,f3d,l3d); + aString = aCurve2d->DynamicType()->Name(); + if(aMap.IsBound(aString)) + aMap.ChangeFind(aString)++; + else { + aMap.Bind(aString, 1); + aSequence->Append(aString); + } } } // 3d CURVES TopExp_Explorer exp; for (exp.Init(aShape,TopAbs_EDGE); exp.More(); exp.Next()) { - TopoDS_Edge Edge = TopoDS::Edge (exp.Current()); - Handle(Geom_Curve) aCurve3d = BRep_Tool::Curve (Edge,f3d,l3d); - if(aCurve3d.IsNull()) - { - l++; - goto aLabel; - } + TopoDS_Edge Edge = TopoDS::Edge (exp.Current()); + Handle(Geom_Curve) aCurve3d = BRep_Tool::Curve (Edge,f3d,l3d); + if(aCurve3d.IsNull()) + { + l++; + } else { aString = aCurve3d->DynamicType()->Name(); - if(aDico->GetItem(aString,aa) != 0) - { - aDico->GetItem(aString,aa); - aDico->SetItem(aString,aa+1); - } else { - aDico->SetItem(aString,1); - aSequence->Append(aString); - i++; - aa=1; - } - aLabel:; + if (aMap.IsBound(aString)) + { + aMap.ChangeFind(aString)++; + } else { + aMap.Bind(aString, 1); + aSequence->Append(aString); + } } + } // Output di<<"\n"; - for(j=1;jGetItem(aSequence->Value(j),aa); - di<Value(j).ToCString()<<"\n"; - } + + for (Standard_Integer i = 1; i <= aSequence->Length(); i++) { + di << aMap.Find(aSequence->Value(i)) << " -- " << aSequence->Value(i).ToCString() << "\n"; + } di<<"\n"; di<<"Degenerated edges :\n"; diff --git a/src/RWStepAP214/RWStepAP214_ReadWriteModule.cxx b/src/RWStepAP214/RWStepAP214_ReadWriteModule.cxx index 8a362657ac..7b8bde6d4a 100644 --- a/src/RWStepAP214/RWStepAP214_ReadWriteModule.cxx +++ b/src/RWStepAP214/RWStepAP214_ReadWriteModule.cxx @@ -16,7 +16,6 @@ // :j4 gka 15.03.99 S4134 // sln 03.10.2001. BUC61003. Correction of alphabetic order of complex entity's items -#include #include #include #include @@ -2036,658 +2035,657 @@ static TCollection_AsciiString Reco_ConstructiveGeometryRepresentationRelationsh static TCollection_AsciiString Reco_CharacterizedRepresentation("CHARACTERIZED_REPRESENTATION"); // -- Definition of the libraries -- -static Handle(Dico_DictionaryOfInteger) typenums; -static Handle(Dico_DictionaryOfInteger) typeshor; +static NCollection_DataMap typenums; +static NCollection_DataMap typeshor; RWStepAP214_ReadWriteModule::RWStepAP214_ReadWriteModule () { // Handle(StepAP214_Protocol) protocol = new StepAP214_Protocol; // StepData_WriterLib::SetGlobal(Handle(RWStepAP214_ReadWriteModule)::DownCast(This()),protocol); // Interface_ReaderLib::SetGlobal(Handle(RWStepAP214_ReadWriteModule)::DownCast(This()),protocol); - if (!typenums.IsNull()) return; - typenums = new Dico_DictionaryOfInteger; - typenums->SetItem (Reco_CartesianPoint, 59); - typenums->SetItem (Reco_VertexPoint, 316); - typenums->SetItem (Reco_OrientedEdge, 181); - typenums->SetItem (Reco_EdgeCurve, 116); - typenums->SetItem (Reco_SurfaceCurve, 272); - typenums->SetItem (Reco_EdgeLoop, 117); - typenums->SetItem (Reco_AdvancedFace, 3); - typenums->SetItem (Reco_FaceBound, 131); - typenums->SetItem (Reco_FaceOuterBound, 132); - typenums->SetItem (Reco_Direction, 105); - typenums->SetItem (Reco_Vector, 313); - typenums->SetItem (Reco_BSplineCurve, 38); - typenums->SetItem (Reco_BSplineCurveWithKnots, 39); - typenums->SetItem (Reco_BezierCurve, 43); - typenums->SetItem (Reco_Pcurve, 190); - typenums->SetItem (Reco_QuasiUniformCurve, 236); - typenums->SetItem (Reco_RationalBSplineCurve, 239); - typenums->SetItem (Reco_TrimmedCurve, 308); - typenums->SetItem (Reco_UniformCurve, 311); + if (!typenums.IsEmpty()) return; + typenums.Bind (Reco_CartesianPoint, 59); + typenums.Bind (Reco_VertexPoint, 316); + typenums.Bind (Reco_OrientedEdge, 181); + typenums.Bind (Reco_EdgeCurve, 116); + typenums.Bind (Reco_SurfaceCurve, 272); + typenums.Bind (Reco_EdgeLoop, 117); + typenums.Bind (Reco_AdvancedFace, 3); + typenums.Bind (Reco_FaceBound, 131); + typenums.Bind (Reco_FaceOuterBound, 132); + typenums.Bind (Reco_Direction, 105); + typenums.Bind (Reco_Vector, 313); + typenums.Bind (Reco_BSplineCurve, 38); + typenums.Bind (Reco_BSplineCurveWithKnots, 39); + typenums.Bind (Reco_BezierCurve, 43); + typenums.Bind (Reco_Pcurve, 190); + typenums.Bind (Reco_QuasiUniformCurve, 236); + typenums.Bind (Reco_RationalBSplineCurve, 239); + typenums.Bind (Reco_TrimmedCurve, 308); + typenums.Bind (Reco_UniformCurve, 311); - typenums->SetItem (Reco_BSplineSurface, 40); - typenums->SetItem (Reco_BSplineSurfaceWithKnots, 41); - typenums->SetItem (Reco_QuasiUniformSurface, 237); - typenums->SetItem (Reco_RationalBSplineSurface, 240); - typenums->SetItem (Reco_UniformSurface, 312); - typenums->SetItem (Reco_BezierSurface, 44); - typenums->SetItem (Reco_ConicalSurface, 75); - typenums->SetItem (Reco_CylindricalSurface, 90); - typenums->SetItem (Reco_SphericalSurface, 269); - typenums->SetItem (Reco_ToroidalSurface, 305); - typenums->SetItem (Reco_SurfaceOfLinearExtrusion, 273); - typenums->SetItem (Reco_SurfaceOfRevolution, 274); + typenums.Bind (Reco_BSplineSurface, 40); + typenums.Bind (Reco_BSplineSurfaceWithKnots, 41); + typenums.Bind (Reco_QuasiUniformSurface, 237); + typenums.Bind (Reco_RationalBSplineSurface, 240); + typenums.Bind (Reco_UniformSurface, 312); + typenums.Bind (Reco_BezierSurface, 44); + typenums.Bind (Reco_ConicalSurface, 75); + typenums.Bind (Reco_CylindricalSurface, 90); + typenums.Bind (Reco_SphericalSurface, 269); + typenums.Bind (Reco_ToroidalSurface, 305); + typenums.Bind (Reco_SurfaceOfLinearExtrusion, 273); + typenums.Bind (Reco_SurfaceOfRevolution, 274); - typenums->SetItem (Reco_Address, 1); - typenums->SetItem (Reco_AdvancedBrepShapeRepresentation, 2); - typenums->SetItem (Reco_AnnotationCurveOccurrence, 4); - typenums->SetItem (Reco_AnnotationFillArea, 5); - typenums->SetItem (Reco_AnnotationFillAreaOccurrence, 6); - typenums->SetItem (Reco_AnnotationOccurrence, 7); - typenums->SetItem (Reco_AnnotationSubfigureOccurrence, 8); - typenums->SetItem (Reco_AnnotationSymbol, 9); - typenums->SetItem (Reco_AnnotationSymbolOccurrence, 10); - typenums->SetItem (Reco_AnnotationText, 11); - typenums->SetItem (Reco_AnnotationTextOccurrence, 12); - typenums->SetItem (Reco_ApplicationContext, 13); - typenums->SetItem (Reco_ApplicationContextElement, 14); - typenums->SetItem (Reco_ApplicationProtocolDefinition, 15); - typenums->SetItem (Reco_Approval, 16); - typenums->SetItem (Reco_ApprovalAssignment, 17); - typenums->SetItem (Reco_ApprovalPersonOrganization, 18); - typenums->SetItem (Reco_ApprovalRelationship, 19); - typenums->SetItem (Reco_ApprovalRole, 20); - typenums->SetItem (Reco_ApprovalStatus, 21); - typenums->SetItem (Reco_AreaInSet, 22); - typenums->SetItem (Reco_AutoDesignActualDateAndTimeAssignment, 23); - typenums->SetItem (Reco_AutoDesignActualDateAssignment, 24); - typenums->SetItem (Reco_AutoDesignApprovalAssignment, 25); - typenums->SetItem (Reco_AutoDesignDateAndPersonAssignment, 26); - typenums->SetItem (Reco_AutoDesignGroupAssignment, 27); - typenums->SetItem (Reco_AutoDesignNominalDateAndTimeAssignment, 28); - typenums->SetItem (Reco_AutoDesignNominalDateAssignment, 29); - typenums->SetItem (Reco_AutoDesignOrganizationAssignment, 30); - typenums->SetItem (Reco_AutoDesignPersonAndOrganizationAssignment, 31); - typenums->SetItem (Reco_AutoDesignPresentedItem, 32); - typenums->SetItem (Reco_AutoDesignSecurityClassificationAssignment, 33); - typenums->SetItem (Reco_AutoDesignViewArea, 34); - typenums->SetItem (Reco_Axis1Placement, 35); - typenums->SetItem (Reco_Axis2Placement2d, 36); - typenums->SetItem (Reco_Axis2Placement3d, 37); - typenums->SetItem (Reco_BackgroundColour, 42); - typenums->SetItem (Reco_Block, 45); - typenums->SetItem (Reco_BooleanResult, 46); - typenums->SetItem (Reco_BoundaryCurve, 47); - typenums->SetItem (Reco_BoundedCurve, 48); - typenums->SetItem (Reco_BoundedSurface, 49); - typenums->SetItem (Reco_BoxDomain, 50); - typenums->SetItem (Reco_BoxedHalfSpace, 51); - typenums->SetItem (Reco_BrepWithVoids, 52); - typenums->SetItem (Reco_CalendarDate, 53); - typenums->SetItem (Reco_CameraImage, 54); - typenums->SetItem (Reco_CameraModel, 55); - typenums->SetItem (Reco_CameraModelD2, 56); - typenums->SetItem (Reco_CameraModelD3, 57); - typenums->SetItem (Reco_CameraUsage, 58); - typenums->SetItem (Reco_CartesianTransformationOperator, 60); - typenums->SetItem (Reco_CartesianTransformationOperator3d, 61); - typenums->SetItem (Reco_Circle, 62); - typenums->SetItem (Reco_ClosedShell, 63); - typenums->SetItem (Reco_Colour, 64); - typenums->SetItem (Reco_ColourRgb, 65); - typenums->SetItem (Reco_ColourSpecification, 66); - typenums->SetItem (Reco_CompositeCurve, 67); - typenums->SetItem (Reco_CompositeCurveOnSurface, 68); - typenums->SetItem (Reco_CompositeCurveSegment, 69); - typenums->SetItem (Reco_CompositeText, 70); - typenums->SetItem (Reco_CompositeTextWithAssociatedCurves, 71); - typenums->SetItem (Reco_CompositeTextWithBlankingBox, 72); - typenums->SetItem (Reco_CompositeTextWithExtent, 73); - typenums->SetItem (Reco_Conic, 74); - typenums->SetItem (Reco_ConnectedFaceSet, 76); - typenums->SetItem (Reco_ContextDependentInvisibility, 77); - typenums->SetItem (Reco_ContextDependentOverRidingStyledItem, 78); - typenums->SetItem (Reco_ConversionBasedUnit, 79); - typenums->SetItem (Reco_CoordinatedUniversalTimeOffset, 80); - typenums->SetItem (Reco_CsgRepresentation, 81); - typenums->SetItem (Reco_CsgShapeRepresentation, 82); - typenums->SetItem (Reco_CsgSolid, 83); - typenums->SetItem (Reco_Curve, 84); - typenums->SetItem (Reco_CurveBoundedSurface, 85); - typenums->SetItem (Reco_CurveReplica, 86); - typenums->SetItem (Reco_CurveStyle, 87); - typenums->SetItem (Reco_CurveStyleFont, 88); - typenums->SetItem (Reco_CurveStyleFontPattern, 89); - typenums->SetItem (Reco_Date, 91); - typenums->SetItem (Reco_DateAndTime, 92); - typenums->SetItem (Reco_DateAndTimeAssignment, 93); - typenums->SetItem (Reco_DateAssignment, 94); - typenums->SetItem (Reco_DateRole, 95); - typenums->SetItem (Reco_DateTimeRole, 96); - typenums->SetItem (Reco_DefinedSymbol, 97); - typenums->SetItem (Reco_DefinitionalRepresentation, 98); - typenums->SetItem (Reco_DegeneratePcurve, 99); - typenums->SetItem (Reco_DegenerateToroidalSurface, 100); - typenums->SetItem (Reco_DescriptiveRepresentationItem, 101); - typenums->SetItem (Reco_DimensionCurve, 102); - typenums->SetItem (Reco_DimensionCurveTerminator, 103); - typenums->SetItem (Reco_DimensionalExponents, 104); - typenums->SetItem (Reco_DraughtingAnnotationOccurrence, 106); - typenums->SetItem (Reco_DraughtingCallout, 107); - typenums->SetItem (Reco_DraughtingPreDefinedColour, 108); - typenums->SetItem (Reco_DraughtingPreDefinedCurveFont, 109); - typenums->SetItem (Reco_DraughtingSubfigureRepresentation, 110); - typenums->SetItem (Reco_DraughtingSymbolRepresentation, 111); - typenums->SetItem (Reco_DraughtingTextLiteralWithDelineation, 112); - typenums->SetItem (Reco_DrawingDefinition, 113); - typenums->SetItem (Reco_DrawingRevision, 114); - typenums->SetItem (Reco_Edge, 115); - typenums->SetItem (Reco_ElementarySurface, 118); - typenums->SetItem (Reco_Ellipse, 119); - typenums->SetItem (Reco_EvaluatedDegeneratePcurve, 120); - typenums->SetItem (Reco_ExternalSource, 121); - typenums->SetItem (Reco_ExternallyDefinedCurveFont, 122); - typenums->SetItem (Reco_ExternallyDefinedHatchStyle, 123); - typenums->SetItem (Reco_ExternallyDefinedItem, 124); - typenums->SetItem (Reco_ExternallyDefinedSymbol, 125); - typenums->SetItem (Reco_ExternallyDefinedTextFont, 126); - typenums->SetItem (Reco_ExternallyDefinedTileStyle, 127); - typenums->SetItem (Reco_ExtrudedAreaSolid, 128); - typenums->SetItem (Reco_Face, 129); - typenums->SetItem (Reco_FaceSurface, 133); - typenums->SetItem (Reco_FacetedBrep, 134); - typenums->SetItem (Reco_FacetedBrepShapeRepresentation, 135); - typenums->SetItem (Reco_FillAreaStyle, 136); - typenums->SetItem (Reco_FillAreaStyleColour, 137); - typenums->SetItem (Reco_FillAreaStyleHatching, 138); - typenums->SetItem (Reco_FillAreaStyleTileSymbolWithStyle, 139); - typenums->SetItem (Reco_FillAreaStyleTiles, 140); - typenums->SetItem (Reco_FunctionallyDefinedTransformation, 141); - typenums->SetItem (Reco_GeometricCurveSet, 142); - typenums->SetItem (Reco_GeometricRepresentationContext, 143); - typenums->SetItem (Reco_GeometricRepresentationItem, 144); - typenums->SetItem (Reco_GeometricSet, 145); - typenums->SetItem (Reco_GeometricallyBoundedSurfaceShapeRepresentation, 146); - typenums->SetItem (Reco_GeometricallyBoundedWireframeShapeRepresentation, 147); - typenums->SetItem (Reco_GlobalUncertaintyAssignedContext, 148); - typenums->SetItem (Reco_GlobalUnitAssignedContext, 149); - typenums->SetItem (Reco_Group, 150); - typenums->SetItem (Reco_GroupAssignment, 151); - typenums->SetItem (Reco_GroupRelationship, 152); - typenums->SetItem (Reco_HalfSpaceSolid, 153); - typenums->SetItem (Reco_Hyperbola, 154); - typenums->SetItem (Reco_IntersectionCurve, 155); - typenums->SetItem (Reco_Invisibility, 156); - typenums->SetItem (Reco_LengthMeasureWithUnit, 157); - typenums->SetItem (Reco_LengthUnit, 158); - typenums->SetItem (Reco_Line, 159); - typenums->SetItem (Reco_LocalTime, 160); - typenums->SetItem (Reco_Loop, 161); - typenums->SetItem (Reco_ManifoldSolidBrep, 162); - typenums->SetItem (Reco_ManifoldSurfaceShapeRepresentation, 163); - typenums->SetItem (Reco_MappedItem, 164); - typenums->SetItem (Reco_MeasureWithUnit, 165); - typenums->SetItem (Reco_MechanicalDesignGeometricPresentationArea, 166); - typenums->SetItem (Reco_MechanicalDesignGeometricPresentationRepresentation, 167); - typenums->SetItem (Reco_MechanicalDesignPresentationArea, 168); - typenums->SetItem (Reco_NamedUnit, 169); - typenums->SetItem (Reco_OffsetCurve3d, 171); - typenums->SetItem (Reco_OffsetSurface, 172); - typenums->SetItem (Reco_OneDirectionRepeatFactor, 173); - typenums->SetItem (Reco_OpenShell, 174); - typenums->SetItem (Reco_OrdinalDate, 175); - typenums->SetItem (Reco_Organization, 176); - typenums->SetItem (Reco_OrganizationAssignment, 177); - typenums->SetItem (Reco_OrganizationRole, 178); - typenums->SetItem (Reco_OrganizationalAddress, 179); - typenums->SetItem (Reco_OrientedClosedShell, 180); - typenums->SetItem (Reco_OrientedFace, 182); - typenums->SetItem (Reco_OrientedOpenShell, 183); - typenums->SetItem (Reco_OrientedPath, 184); - typenums->SetItem (Reco_OuterBoundaryCurve, 185); - typenums->SetItem (Reco_OverRidingStyledItem, 186); - typenums->SetItem (Reco_Parabola, 187); - typenums->SetItem (Reco_ParametricRepresentationContext, 188); - typenums->SetItem (Reco_Path, 189); - typenums->SetItem (Reco_Person, 191); - typenums->SetItem (Reco_PersonAndOrganization, 192); - typenums->SetItem (Reco_PersonAndOrganizationAssignment, 193); - typenums->SetItem (Reco_PersonAndOrganizationRole, 194); - typenums->SetItem (Reco_PersonalAddress, 195); - typenums->SetItem (Reco_Placement, 196); - typenums->SetItem (Reco_PlanarBox, 197); - typenums->SetItem (Reco_PlanarExtent, 198); - typenums->SetItem (Reco_Plane, 199); - typenums->SetItem (Reco_PlaneAngleMeasureWithUnit, 200); - typenums->SetItem (Reco_PlaneAngleUnit, 201); - typenums->SetItem (Reco_Point, 202); - typenums->SetItem (Reco_PointOnCurve, 203); - typenums->SetItem (Reco_PointOnSurface, 204); - typenums->SetItem (Reco_PointReplica, 205); - typenums->SetItem (Reco_PointStyle, 206); - typenums->SetItem (Reco_PolyLoop, 207); - typenums->SetItem (Reco_Polyline, 208); - typenums->SetItem (Reco_PreDefinedColour, 209); - typenums->SetItem (Reco_PreDefinedCurveFont, 210); - typenums->SetItem (Reco_PreDefinedItem, 211); - typenums->SetItem (Reco_PreDefinedSymbol, 212); - typenums->SetItem (Reco_PreDefinedTextFont, 213); - typenums->SetItem (Reco_PresentationArea, 214); - typenums->SetItem (Reco_PresentationLayerAssignment, 215); - typenums->SetItem (Reco_PresentationRepresentation, 216); - typenums->SetItem (Reco_PresentationSet, 217); - typenums->SetItem (Reco_PresentationSize, 218); - typenums->SetItem (Reco_PresentationStyleAssignment, 219); - typenums->SetItem (Reco_PresentationStyleByContext, 220); - typenums->SetItem (Reco_PresentationView, 221); - typenums->SetItem (Reco_PresentedItem, 222); - typenums->SetItem (Reco_Product, 223); - typenums->SetItem (Reco_ProductCategory, 224); - typenums->SetItem (Reco_ProductContext, 225); - typenums->SetItem (Reco_ProductDataRepresentationView, 226); - typenums->SetItem (Reco_ProductDefinition, 227); - typenums->SetItem (Reco_ProductDefinitionContext, 228); - typenums->SetItem (Reco_ProductDefinitionFormation, 229); - typenums->SetItem (Reco_ProductDefinitionFormationWithSpecifiedSource, 230); - typenums->SetItem (Reco_ProductDefinitionShape, 231); - typenums->SetItem (Reco_ProductRelatedProductCategory, 232); - typenums->SetItem (Reco_ProductType, 233); - typenums->SetItem (Reco_PropertyDefinition, 234); - typenums->SetItem (Reco_PropertyDefinitionRepresentation, 235); - typenums->SetItem (Reco_RatioMeasureWithUnit, 238); - typenums->SetItem (Reco_RectangularCompositeSurface, 241); - typenums->SetItem (Reco_RectangularTrimmedSurface, 242); - typenums->SetItem (Reco_RepItemGroup, 243); - typenums->SetItem (Reco_ReparametrisedCompositeCurveSegment, 244); - typenums->SetItem (Reco_Representation, 245); - typenums->SetItem (Reco_RepresentationContext, 246); - typenums->SetItem (Reco_RepresentationItem, 247); - typenums->SetItem (Reco_RepresentationMap, 248); - typenums->SetItem (Reco_RepresentationRelationship, 249); - typenums->SetItem (Reco_RevolvedAreaSolid, 250); - typenums->SetItem (Reco_RightAngularWedge, 251); - typenums->SetItem (Reco_RightCircularCone, 252); - typenums->SetItem (Reco_RightCircularCylinder, 253); - typenums->SetItem (Reco_SeamCurve, 254); - typenums->SetItem (Reco_SecurityClassification, 255); - typenums->SetItem (Reco_SecurityClassificationAssignment, 256); - typenums->SetItem (Reco_SecurityClassificationLevel, 257); - typenums->SetItem (Reco_ShapeAspect, 258); - typenums->SetItem (Reco_ShapeAspectRelationship, 259); - typenums->SetItem (Reco_ShapeAspectTransition, 260); - typenums->SetItem (Reco_ShapeDefinitionRepresentation, 261); - typenums->SetItem (Reco_ShapeRepresentation, 262); - typenums->SetItem (Reco_ShellBasedSurfaceModel, 263); - typenums->SetItem (Reco_SiUnit, 264); - typenums->SetItem (Reco_SolidAngleMeasureWithUnit, 265); - typenums->SetItem (Reco_SolidModel, 266); - typenums->SetItem (Reco_SolidReplica, 267); - typenums->SetItem (Reco_Sphere, 268); - typenums->SetItem (Reco_StyledItem, 270); - typenums->SetItem (Reco_Surface, 271); - typenums->SetItem (Reco_SurfacePatch, 275); - typenums->SetItem (Reco_SurfaceReplica, 276); - typenums->SetItem (Reco_SurfaceSideStyle, 277); - typenums->SetItem (Reco_SurfaceStyleBoundary, 278); - typenums->SetItem (Reco_SurfaceStyleControlGrid, 279); - typenums->SetItem (Reco_SurfaceStyleFillArea, 280); - typenums->SetItem (Reco_SurfaceStyleParameterLine, 281); - typenums->SetItem (Reco_SurfaceStyleSegmentationCurve, 282); - typenums->SetItem (Reco_SurfaceStyleSilhouette, 283); - typenums->SetItem (Reco_SurfaceStyleUsage, 284); - typenums->SetItem (Reco_SweptAreaSolid, 285); - typenums->SetItem (Reco_SweptSurface, 286); - typenums->SetItem (Reco_SymbolColour, 287); - typenums->SetItem (Reco_SymbolRepresentation, 288); - typenums->SetItem (Reco_SymbolRepresentationMap, 289); - typenums->SetItem (Reco_SymbolStyle, 290); - typenums->SetItem (Reco_SymbolTarget, 291); - typenums->SetItem (Reco_Template, 292); - typenums->SetItem (Reco_TemplateInstance, 293); - typenums->SetItem (Reco_TerminatorSymbol, 294); - typenums->SetItem (Reco_TextLiteral, 295); - typenums->SetItem (Reco_TextLiteralWithAssociatedCurves, 296); - typenums->SetItem (Reco_TextLiteralWithBlankingBox, 297); - typenums->SetItem (Reco_TextLiteralWithDelineation, 298); - typenums->SetItem (Reco_TextLiteralWithExtent, 299); - typenums->SetItem (Reco_TextStyle, 300); - typenums->SetItem (Reco_TextStyleForDefinedFont, 301); - typenums->SetItem (Reco_TextStyleWithBoxCharacteristics, 302); - typenums->SetItem (Reco_TextStyleWithMirror, 303); - typenums->SetItem (Reco_TopologicalRepresentationItem, 304); - typenums->SetItem (Reco_Torus, 306); - typenums->SetItem (Reco_TransitionalShapeRepresentation, 307); - typenums->SetItem (Reco_TwoDirectionRepeatFactor, 309); - typenums->SetItem (Reco_UncertaintyMeasureWithUnit, 310); - typenums->SetItem (Reco_Vertex, 314); - typenums->SetItem (Reco_VertexLoop, 315); - typenums->SetItem (Reco_ViewVolume, 317); - typenums->SetItem (Reco_WeekOfYearAndDayDate, 318); + typenums.Bind (Reco_Address, 1); + typenums.Bind (Reco_AdvancedBrepShapeRepresentation, 2); + typenums.Bind (Reco_AnnotationCurveOccurrence, 4); + typenums.Bind (Reco_AnnotationFillArea, 5); + typenums.Bind (Reco_AnnotationFillAreaOccurrence, 6); + typenums.Bind (Reco_AnnotationOccurrence, 7); + typenums.Bind (Reco_AnnotationSubfigureOccurrence, 8); + typenums.Bind (Reco_AnnotationSymbol, 9); + typenums.Bind (Reco_AnnotationSymbolOccurrence, 10); + typenums.Bind (Reco_AnnotationText, 11); + typenums.Bind (Reco_AnnotationTextOccurrence, 12); + typenums.Bind (Reco_ApplicationContext, 13); + typenums.Bind (Reco_ApplicationContextElement, 14); + typenums.Bind (Reco_ApplicationProtocolDefinition, 15); + typenums.Bind (Reco_Approval, 16); + typenums.Bind (Reco_ApprovalAssignment, 17); + typenums.Bind (Reco_ApprovalPersonOrganization, 18); + typenums.Bind (Reco_ApprovalRelationship, 19); + typenums.Bind (Reco_ApprovalRole, 20); + typenums.Bind (Reco_ApprovalStatus, 21); + typenums.Bind (Reco_AreaInSet, 22); + typenums.Bind (Reco_AutoDesignActualDateAndTimeAssignment, 23); + typenums.Bind (Reco_AutoDesignActualDateAssignment, 24); + typenums.Bind (Reco_AutoDesignApprovalAssignment, 25); + typenums.Bind (Reco_AutoDesignDateAndPersonAssignment, 26); + typenums.Bind (Reco_AutoDesignGroupAssignment, 27); + typenums.Bind (Reco_AutoDesignNominalDateAndTimeAssignment, 28); + typenums.Bind (Reco_AutoDesignNominalDateAssignment, 29); + typenums.Bind (Reco_AutoDesignOrganizationAssignment, 30); + typenums.Bind (Reco_AutoDesignPersonAndOrganizationAssignment, 31); + typenums.Bind (Reco_AutoDesignPresentedItem, 32); + typenums.Bind (Reco_AutoDesignSecurityClassificationAssignment, 33); + typenums.Bind (Reco_AutoDesignViewArea, 34); + typenums.Bind (Reco_Axis1Placement, 35); + typenums.Bind (Reco_Axis2Placement2d, 36); + typenums.Bind (Reco_Axis2Placement3d, 37); + typenums.Bind (Reco_BackgroundColour, 42); + typenums.Bind (Reco_Block, 45); + typenums.Bind (Reco_BooleanResult, 46); + typenums.Bind (Reco_BoundaryCurve, 47); + typenums.Bind (Reco_BoundedCurve, 48); + typenums.Bind (Reco_BoundedSurface, 49); + typenums.Bind (Reco_BoxDomain, 50); + typenums.Bind (Reco_BoxedHalfSpace, 51); + typenums.Bind (Reco_BrepWithVoids, 52); + typenums.Bind (Reco_CalendarDate, 53); + typenums.Bind (Reco_CameraImage, 54); + typenums.Bind (Reco_CameraModel, 55); + typenums.Bind (Reco_CameraModelD2, 56); + typenums.Bind (Reco_CameraModelD3, 57); + typenums.Bind (Reco_CameraUsage, 58); + typenums.Bind (Reco_CartesianTransformationOperator, 60); + typenums.Bind (Reco_CartesianTransformationOperator3d, 61); + typenums.Bind (Reco_Circle, 62); + typenums.Bind (Reco_ClosedShell, 63); + typenums.Bind (Reco_Colour, 64); + typenums.Bind (Reco_ColourRgb, 65); + typenums.Bind (Reco_ColourSpecification, 66); + typenums.Bind (Reco_CompositeCurve, 67); + typenums.Bind (Reco_CompositeCurveOnSurface, 68); + typenums.Bind (Reco_CompositeCurveSegment, 69); + typenums.Bind (Reco_CompositeText, 70); + typenums.Bind (Reco_CompositeTextWithAssociatedCurves, 71); + typenums.Bind (Reco_CompositeTextWithBlankingBox, 72); + typenums.Bind (Reco_CompositeTextWithExtent, 73); + typenums.Bind (Reco_Conic, 74); + typenums.Bind (Reco_ConnectedFaceSet, 76); + typenums.Bind (Reco_ContextDependentInvisibility, 77); + typenums.Bind (Reco_ContextDependentOverRidingStyledItem, 78); + typenums.Bind (Reco_ConversionBasedUnit, 79); + typenums.Bind (Reco_CoordinatedUniversalTimeOffset, 80); + typenums.Bind (Reco_CsgRepresentation, 81); + typenums.Bind (Reco_CsgShapeRepresentation, 82); + typenums.Bind (Reco_CsgSolid, 83); + typenums.Bind (Reco_Curve, 84); + typenums.Bind (Reco_CurveBoundedSurface, 85); + typenums.Bind (Reco_CurveReplica, 86); + typenums.Bind (Reco_CurveStyle, 87); + typenums.Bind (Reco_CurveStyleFont, 88); + typenums.Bind (Reco_CurveStyleFontPattern, 89); + typenums.Bind (Reco_Date, 91); + typenums.Bind (Reco_DateAndTime, 92); + typenums.Bind (Reco_DateAndTimeAssignment, 93); + typenums.Bind (Reco_DateAssignment, 94); + typenums.Bind (Reco_DateRole, 95); + typenums.Bind (Reco_DateTimeRole, 96); + typenums.Bind (Reco_DefinedSymbol, 97); + typenums.Bind (Reco_DefinitionalRepresentation, 98); + typenums.Bind (Reco_DegeneratePcurve, 99); + typenums.Bind (Reco_DegenerateToroidalSurface, 100); + typenums.Bind (Reco_DescriptiveRepresentationItem, 101); + typenums.Bind (Reco_DimensionCurve, 102); + typenums.Bind (Reco_DimensionCurveTerminator, 103); + typenums.Bind (Reco_DimensionalExponents, 104); + typenums.Bind (Reco_DraughtingAnnotationOccurrence, 106); + typenums.Bind (Reco_DraughtingCallout, 107); + typenums.Bind (Reco_DraughtingPreDefinedColour, 108); + typenums.Bind (Reco_DraughtingPreDefinedCurveFont, 109); + typenums.Bind (Reco_DraughtingSubfigureRepresentation, 110); + typenums.Bind (Reco_DraughtingSymbolRepresentation, 111); + typenums.Bind (Reco_DraughtingTextLiteralWithDelineation, 112); + typenums.Bind (Reco_DrawingDefinition, 113); + typenums.Bind (Reco_DrawingRevision, 114); + typenums.Bind (Reco_Edge, 115); + typenums.Bind (Reco_ElementarySurface, 118); + typenums.Bind (Reco_Ellipse, 119); + typenums.Bind (Reco_EvaluatedDegeneratePcurve, 120); + typenums.Bind (Reco_ExternalSource, 121); + typenums.Bind (Reco_ExternallyDefinedCurveFont, 122); + typenums.Bind (Reco_ExternallyDefinedHatchStyle, 123); + typenums.Bind (Reco_ExternallyDefinedItem, 124); + typenums.Bind (Reco_ExternallyDefinedSymbol, 125); + typenums.Bind (Reco_ExternallyDefinedTextFont, 126); + typenums.Bind (Reco_ExternallyDefinedTileStyle, 127); + typenums.Bind (Reco_ExtrudedAreaSolid, 128); + typenums.Bind (Reco_Face, 129); + typenums.Bind (Reco_FaceSurface, 133); + typenums.Bind (Reco_FacetedBrep, 134); + typenums.Bind (Reco_FacetedBrepShapeRepresentation, 135); + typenums.Bind (Reco_FillAreaStyle, 136); + typenums.Bind (Reco_FillAreaStyleColour, 137); + typenums.Bind (Reco_FillAreaStyleHatching, 138); + typenums.Bind (Reco_FillAreaStyleTileSymbolWithStyle, 139); + typenums.Bind (Reco_FillAreaStyleTiles, 140); + typenums.Bind (Reco_FunctionallyDefinedTransformation, 141); + typenums.Bind (Reco_GeometricCurveSet, 142); + typenums.Bind (Reco_GeometricRepresentationContext, 143); + typenums.Bind (Reco_GeometricRepresentationItem, 144); + typenums.Bind (Reco_GeometricSet, 145); + typenums.Bind (Reco_GeometricallyBoundedSurfaceShapeRepresentation, 146); + typenums.Bind (Reco_GeometricallyBoundedWireframeShapeRepresentation, 147); + typenums.Bind (Reco_GlobalUncertaintyAssignedContext, 148); + typenums.Bind (Reco_GlobalUnitAssignedContext, 149); + typenums.Bind (Reco_Group, 150); + typenums.Bind (Reco_GroupAssignment, 151); + typenums.Bind (Reco_GroupRelationship, 152); + typenums.Bind (Reco_HalfSpaceSolid, 153); + typenums.Bind (Reco_Hyperbola, 154); + typenums.Bind (Reco_IntersectionCurve, 155); + typenums.Bind (Reco_Invisibility, 156); + typenums.Bind (Reco_LengthMeasureWithUnit, 157); + typenums.Bind (Reco_LengthUnit, 158); + typenums.Bind (Reco_Line, 159); + typenums.Bind (Reco_LocalTime, 160); + typenums.Bind (Reco_Loop, 161); + typenums.Bind (Reco_ManifoldSolidBrep, 162); + typenums.Bind (Reco_ManifoldSurfaceShapeRepresentation, 163); + typenums.Bind (Reco_MappedItem, 164); + typenums.Bind (Reco_MeasureWithUnit, 165); + typenums.Bind (Reco_MechanicalDesignGeometricPresentationArea, 166); + typenums.Bind (Reco_MechanicalDesignGeometricPresentationRepresentation, 167); + typenums.Bind (Reco_MechanicalDesignPresentationArea, 168); + typenums.Bind (Reco_NamedUnit, 169); + typenums.Bind (Reco_OffsetCurve3d, 171); + typenums.Bind (Reco_OffsetSurface, 172); + typenums.Bind (Reco_OneDirectionRepeatFactor, 173); + typenums.Bind (Reco_OpenShell, 174); + typenums.Bind (Reco_OrdinalDate, 175); + typenums.Bind (Reco_Organization, 176); + typenums.Bind (Reco_OrganizationAssignment, 177); + typenums.Bind (Reco_OrganizationRole, 178); + typenums.Bind (Reco_OrganizationalAddress, 179); + typenums.Bind (Reco_OrientedClosedShell, 180); + typenums.Bind (Reco_OrientedFace, 182); + typenums.Bind (Reco_OrientedOpenShell, 183); + typenums.Bind (Reco_OrientedPath, 184); + typenums.Bind (Reco_OuterBoundaryCurve, 185); + typenums.Bind (Reco_OverRidingStyledItem, 186); + typenums.Bind (Reco_Parabola, 187); + typenums.Bind (Reco_ParametricRepresentationContext, 188); + typenums.Bind (Reco_Path, 189); + typenums.Bind (Reco_Person, 191); + typenums.Bind (Reco_PersonAndOrganization, 192); + typenums.Bind (Reco_PersonAndOrganizationAssignment, 193); + typenums.Bind (Reco_PersonAndOrganizationRole, 194); + typenums.Bind (Reco_PersonalAddress, 195); + typenums.Bind (Reco_Placement, 196); + typenums.Bind (Reco_PlanarBox, 197); + typenums.Bind (Reco_PlanarExtent, 198); + typenums.Bind (Reco_Plane, 199); + typenums.Bind (Reco_PlaneAngleMeasureWithUnit, 200); + typenums.Bind (Reco_PlaneAngleUnit, 201); + typenums.Bind (Reco_Point, 202); + typenums.Bind (Reco_PointOnCurve, 203); + typenums.Bind (Reco_PointOnSurface, 204); + typenums.Bind (Reco_PointReplica, 205); + typenums.Bind (Reco_PointStyle, 206); + typenums.Bind (Reco_PolyLoop, 207); + typenums.Bind (Reco_Polyline, 208); + typenums.Bind (Reco_PreDefinedColour, 209); + typenums.Bind (Reco_PreDefinedCurveFont, 210); + typenums.Bind (Reco_PreDefinedItem, 211); + typenums.Bind (Reco_PreDefinedSymbol, 212); + typenums.Bind (Reco_PreDefinedTextFont, 213); + typenums.Bind (Reco_PresentationArea, 214); + typenums.Bind (Reco_PresentationLayerAssignment, 215); + typenums.Bind (Reco_PresentationRepresentation, 216); + typenums.Bind (Reco_PresentationSet, 217); + typenums.Bind (Reco_PresentationSize, 218); + typenums.Bind (Reco_PresentationStyleAssignment, 219); + typenums.Bind (Reco_PresentationStyleByContext, 220); + typenums.Bind (Reco_PresentationView, 221); + typenums.Bind (Reco_PresentedItem, 222); + typenums.Bind (Reco_Product, 223); + typenums.Bind (Reco_ProductCategory, 224); + typenums.Bind (Reco_ProductContext, 225); + typenums.Bind (Reco_ProductDataRepresentationView, 226); + typenums.Bind (Reco_ProductDefinition, 227); + typenums.Bind (Reco_ProductDefinitionContext, 228); + typenums.Bind (Reco_ProductDefinitionFormation, 229); + typenums.Bind (Reco_ProductDefinitionFormationWithSpecifiedSource, 230); + typenums.Bind (Reco_ProductDefinitionShape, 231); + typenums.Bind (Reco_ProductRelatedProductCategory, 232); + typenums.Bind (Reco_ProductType, 233); + typenums.Bind (Reco_PropertyDefinition, 234); + typenums.Bind (Reco_PropertyDefinitionRepresentation, 235); + typenums.Bind (Reco_RatioMeasureWithUnit, 238); + typenums.Bind (Reco_RectangularCompositeSurface, 241); + typenums.Bind (Reco_RectangularTrimmedSurface, 242); + typenums.Bind (Reco_RepItemGroup, 243); + typenums.Bind (Reco_ReparametrisedCompositeCurveSegment, 244); + typenums.Bind (Reco_Representation, 245); + typenums.Bind (Reco_RepresentationContext, 246); + typenums.Bind (Reco_RepresentationItem, 247); + typenums.Bind (Reco_RepresentationMap, 248); + typenums.Bind (Reco_RepresentationRelationship, 249); + typenums.Bind (Reco_RevolvedAreaSolid, 250); + typenums.Bind (Reco_RightAngularWedge, 251); + typenums.Bind (Reco_RightCircularCone, 252); + typenums.Bind (Reco_RightCircularCylinder, 253); + typenums.Bind (Reco_SeamCurve, 254); + typenums.Bind (Reco_SecurityClassification, 255); + typenums.Bind (Reco_SecurityClassificationAssignment, 256); + typenums.Bind (Reco_SecurityClassificationLevel, 257); + typenums.Bind (Reco_ShapeAspect, 258); + typenums.Bind (Reco_ShapeAspectRelationship, 259); + typenums.Bind (Reco_ShapeAspectTransition, 260); + typenums.Bind (Reco_ShapeDefinitionRepresentation, 261); + typenums.Bind (Reco_ShapeRepresentation, 262); + typenums.Bind (Reco_ShellBasedSurfaceModel, 263); + typenums.Bind (Reco_SiUnit, 264); + typenums.Bind (Reco_SolidAngleMeasureWithUnit, 265); + typenums.Bind (Reco_SolidModel, 266); + typenums.Bind (Reco_SolidReplica, 267); + typenums.Bind (Reco_Sphere, 268); + typenums.Bind (Reco_StyledItem, 270); + typenums.Bind (Reco_Surface, 271); + typenums.Bind (Reco_SurfacePatch, 275); + typenums.Bind (Reco_SurfaceReplica, 276); + typenums.Bind (Reco_SurfaceSideStyle, 277); + typenums.Bind (Reco_SurfaceStyleBoundary, 278); + typenums.Bind (Reco_SurfaceStyleControlGrid, 279); + typenums.Bind (Reco_SurfaceStyleFillArea, 280); + typenums.Bind (Reco_SurfaceStyleParameterLine, 281); + typenums.Bind (Reco_SurfaceStyleSegmentationCurve, 282); + typenums.Bind (Reco_SurfaceStyleSilhouette, 283); + typenums.Bind (Reco_SurfaceStyleUsage, 284); + typenums.Bind (Reco_SweptAreaSolid, 285); + typenums.Bind (Reco_SweptSurface, 286); + typenums.Bind (Reco_SymbolColour, 287); + typenums.Bind (Reco_SymbolRepresentation, 288); + typenums.Bind (Reco_SymbolRepresentationMap, 289); + typenums.Bind (Reco_SymbolStyle, 290); + typenums.Bind (Reco_SymbolTarget, 291); + typenums.Bind (Reco_Template, 292); + typenums.Bind (Reco_TemplateInstance, 293); + typenums.Bind (Reco_TerminatorSymbol, 294); + typenums.Bind (Reco_TextLiteral, 295); + typenums.Bind (Reco_TextLiteralWithAssociatedCurves, 296); + typenums.Bind (Reco_TextLiteralWithBlankingBox, 297); + typenums.Bind (Reco_TextLiteralWithDelineation, 298); + typenums.Bind (Reco_TextLiteralWithExtent, 299); + typenums.Bind (Reco_TextStyle, 300); + typenums.Bind (Reco_TextStyleForDefinedFont, 301); + typenums.Bind (Reco_TextStyleWithBoxCharacteristics, 302); + typenums.Bind (Reco_TextStyleWithMirror, 303); + typenums.Bind (Reco_TopologicalRepresentationItem, 304); + typenums.Bind (Reco_Torus, 306); + typenums.Bind (Reco_TransitionalShapeRepresentation, 307); + typenums.Bind (Reco_TwoDirectionRepeatFactor, 309); + typenums.Bind (Reco_UncertaintyMeasureWithUnit, 310); + typenums.Bind (Reco_Vertex, 314); + typenums.Bind (Reco_VertexLoop, 315); + typenums.Bind (Reco_ViewVolume, 317); + typenums.Bind (Reco_WeekOfYearAndDayDate, 318); // Added by FMA for Rev4 - typenums->SetItem (Reco_SolidAngleUnit, 336); - typenums->SetItem (Reco_MechanicalContext, 339); - typenums->SetItem (Reco_DesignContext, 340); // by CKY + typenums.Bind (Reco_SolidAngleUnit, 336); + typenums.Bind (Reco_MechanicalContext, 339); + typenums.Bind (Reco_DesignContext, 340); // by CKY // full Rev4 (simple types) - typenums->SetItem (Reco_TimeMeasureWithUnit, 341); - typenums->SetItem (Reco_RatioUnit, 342); - typenums->SetItem (Reco_TimeUnit, 343); - typenums->SetItem (Reco_ApprovalDateTime, 348); - typenums->SetItem (Reco_CameraImage2dWithScale, 349); - typenums->SetItem (Reco_CameraImage3dWithScale, 350); - typenums->SetItem (Reco_CartesianTransformationOperator2d, 351); - typenums->SetItem (Reco_DerivedUnit, 352); - typenums->SetItem (Reco_DerivedUnitElement, 353); - typenums->SetItem (Reco_ItemDefinedTransformation, 354); - typenums->SetItem (Reco_PresentedItemRepresentation, 355); - typenums->SetItem (Reco_PresentationLayerUsage, 356); + typenums.Bind (Reco_TimeMeasureWithUnit, 341); + typenums.Bind (Reco_RatioUnit, 342); + typenums.Bind (Reco_TimeUnit, 343); + typenums.Bind (Reco_ApprovalDateTime, 348); + typenums.Bind (Reco_CameraImage2dWithScale, 349); + typenums.Bind (Reco_CameraImage3dWithScale, 350); + typenums.Bind (Reco_CartesianTransformationOperator2d, 351); + typenums.Bind (Reco_DerivedUnit, 352); + typenums.Bind (Reco_DerivedUnitElement, 353); + typenums.Bind (Reco_ItemDefinedTransformation, 354); + typenums.Bind (Reco_PresentedItemRepresentation, 355); + typenums.Bind (Reco_PresentationLayerUsage, 356); // AP214 : CC1 -> CC2 - typenums->SetItem (Reco_AutoDesignDocumentReference, 366); + typenums.Bind (Reco_AutoDesignDocumentReference, 366); - typenums->SetItem (Reco_Document, 367); - typenums->SetItem (Reco_DigitalDocument, 368); - typenums->SetItem (Reco_DocumentRelationship, 369); - typenums->SetItem (Reco_DocumentType, 370); - typenums->SetItem (Reco_DocumentUsageConstraint, 371); - typenums->SetItem (Reco_Effectivity, 372); - typenums->SetItem (Reco_ProductDefinitionEffectivity, 373); - typenums->SetItem (Reco_ProductDefinitionRelationship, 374); + typenums.Bind (Reco_Document, 367); + typenums.Bind (Reco_DigitalDocument, 368); + typenums.Bind (Reco_DocumentRelationship, 369); + typenums.Bind (Reco_DocumentType, 370); + typenums.Bind (Reco_DocumentUsageConstraint, 371); + typenums.Bind (Reco_Effectivity, 372); + typenums.Bind (Reco_ProductDefinitionEffectivity, 373); + typenums.Bind (Reco_ProductDefinitionRelationship, 374); - typenums->SetItem (Reco_ProductDefinitionWithAssociatedDocuments, 375); - typenums->SetItem (Reco_PhysicallyModeledProductDefinition, 376); + typenums.Bind (Reco_ProductDefinitionWithAssociatedDocuments, 375); + typenums.Bind (Reco_PhysicallyModeledProductDefinition, 376); - typenums->SetItem (Reco_ProductDefinitionUsage, 377); - typenums->SetItem (Reco_MakeFromUsageOption, 378); - typenums->SetItem (Reco_AssemblyComponentUsage, 379); - typenums->SetItem (Reco_NextAssemblyUsageOccurrence, 380); - typenums->SetItem (Reco_PromissoryUsageOccurrence, 381); - typenums->SetItem (Reco_QuantifiedAssemblyComponentUsage, 382); - typenums->SetItem (Reco_SpecifiedHigherUsageOccurrence, 383); - typenums->SetItem (Reco_AssemblyComponentUsageSubstitute, 384); - typenums->SetItem (Reco_SuppliedPartRelationship, 385); - typenums->SetItem (Reco_ExternallyDefinedRepresentation, 386); - typenums->SetItem (Reco_ShapeRepresentationRelationship, 387); - typenums->SetItem (Reco_RepresentationRelationshipWithTransformation, 388); - typenums->SetItem (Reco_MaterialDesignation, 390); + typenums.Bind (Reco_ProductDefinitionUsage, 377); + typenums.Bind (Reco_MakeFromUsageOption, 378); + typenums.Bind (Reco_AssemblyComponentUsage, 379); + typenums.Bind (Reco_NextAssemblyUsageOccurrence, 380); + typenums.Bind (Reco_PromissoryUsageOccurrence, 381); + typenums.Bind (Reco_QuantifiedAssemblyComponentUsage, 382); + typenums.Bind (Reco_SpecifiedHigherUsageOccurrence, 383); + typenums.Bind (Reco_AssemblyComponentUsageSubstitute, 384); + typenums.Bind (Reco_SuppliedPartRelationship, 385); + typenums.Bind (Reco_ExternallyDefinedRepresentation, 386); + typenums.Bind (Reco_ShapeRepresentationRelationship, 387); + typenums.Bind (Reco_RepresentationRelationshipWithTransformation, 388); + typenums.Bind (Reco_MaterialDesignation, 390); - typenums->SetItem (Reco_ContextDependentShapeRepresentation, 391); + typenums.Bind (Reco_ContextDependentShapeRepresentation, 391); //Added from CD to DIS (S4134) - typenums->SetItem (Reco_AppliedDateAndTimeAssignment, 392); - typenums->SetItem (Reco_AppliedDateAssignment, 393); - typenums->SetItem (Reco_AppliedApprovalAssignment, 394); - typenums->SetItem (Reco_AppliedGroupAssignment, 395); - typenums->SetItem (Reco_AppliedOrganizationAssignment, 396); - typenums->SetItem (Reco_AppliedPersonAndOrganizationAssignment, 397); - typenums->SetItem (Reco_AppliedPresentedItem, 398); - typenums->SetItem (Reco_AppliedSecurityClassificationAssignment, 399); - typenums->SetItem (Reco_AppliedDocumentReference, 400); - typenums->SetItem (Reco_DocumentFile, 401); - typenums->SetItem (Reco_CharacterizedObject, 402); - typenums->SetItem (Reco_ExtrudedFaceSolid, 403); - typenums->SetItem (Reco_RevolvedFaceSolid, 404); - typenums->SetItem (Reco_SweptFaceSolid, 405); + typenums.Bind (Reco_AppliedDateAndTimeAssignment, 392); + typenums.Bind (Reco_AppliedDateAssignment, 393); + typenums.Bind (Reco_AppliedApprovalAssignment, 394); + typenums.Bind (Reco_AppliedGroupAssignment, 395); + typenums.Bind (Reco_AppliedOrganizationAssignment, 396); + typenums.Bind (Reco_AppliedPersonAndOrganizationAssignment, 397); + typenums.Bind (Reco_AppliedPresentedItem, 398); + typenums.Bind (Reco_AppliedSecurityClassificationAssignment, 399); + typenums.Bind (Reco_AppliedDocumentReference, 400); + typenums.Bind (Reco_DocumentFile, 401); + typenums.Bind (Reco_CharacterizedObject, 402); + typenums.Bind (Reco_ExtrudedFaceSolid, 403); + typenums.Bind (Reco_RevolvedFaceSolid, 404); + typenums.Bind (Reco_SweptFaceSolid, 405); // Added by ABV 08.09.99 for CAX TRJ 2 (validation properties) - typenums->SetItem (Reco_MeasureRepresentationItem, 406); - typenums->SetItem (Reco_AreaUnit,407); - typenums->SetItem (Reco_VolumeUnit,408); + typenums.Bind (Reco_MeasureRepresentationItem, 406); + typenums.Bind (Reco_AreaUnit,407); + typenums.Bind (Reco_VolumeUnit,408); // Added by ABV 10.11.99 for AP203 - typenums->SetItem (Reco_Action,413); - typenums->SetItem (Reco_ActionAssignment,414); - typenums->SetItem (Reco_ActionMethod,415); - typenums->SetItem (Reco_ActionRequestAssignment,416); - typenums->SetItem (Reco_CcDesignApproval,417); - typenums->SetItem (Reco_CcDesignCertification,418); - typenums->SetItem (Reco_CcDesignContract,419); - typenums->SetItem (Reco_CcDesignDateAndTimeAssignment,420); - typenums->SetItem (Reco_CcDesignPersonAndOrganizationAssignment,421); - typenums->SetItem (Reco_CcDesignSecurityClassification,422); - typenums->SetItem (Reco_CcDesignSpecificationReference,423); - typenums->SetItem (Reco_Certification,424); - typenums->SetItem (Reco_CertificationAssignment,425); - typenums->SetItem (Reco_CertificationType,426); - typenums->SetItem (Reco_Change,427); - typenums->SetItem (Reco_ChangeRequest,428); - typenums->SetItem (Reco_ConfigurationDesign,429); - typenums->SetItem (Reco_ConfigurationEffectivity,430); - typenums->SetItem (Reco_Contract,431); - typenums->SetItem (Reco_ContractAssignment,432); - typenums->SetItem (Reco_ContractType,433); - typenums->SetItem (Reco_ProductConcept,434); - typenums->SetItem (Reco_ProductConceptContext,435); - typenums->SetItem (Reco_StartRequest,436); - typenums->SetItem (Reco_StartWork,437); - typenums->SetItem (Reco_VersionedActionRequest,438); - typenums->SetItem (Reco_ProductCategoryRelationship,439); - typenums->SetItem (Reco_ActionRequestSolution,440); - typenums->SetItem (Reco_DraughtingModel,441); + typenums.Bind (Reco_Action,413); + typenums.Bind (Reco_ActionAssignment,414); + typenums.Bind (Reco_ActionMethod,415); + typenums.Bind (Reco_ActionRequestAssignment,416); + typenums.Bind (Reco_CcDesignApproval,417); + typenums.Bind (Reco_CcDesignCertification,418); + typenums.Bind (Reco_CcDesignContract,419); + typenums.Bind (Reco_CcDesignDateAndTimeAssignment,420); + typenums.Bind (Reco_CcDesignPersonAndOrganizationAssignment,421); + typenums.Bind (Reco_CcDesignSecurityClassification,422); + typenums.Bind (Reco_CcDesignSpecificationReference,423); + typenums.Bind (Reco_Certification,424); + typenums.Bind (Reco_CertificationAssignment,425); + typenums.Bind (Reco_CertificationType,426); + typenums.Bind (Reco_Change,427); + typenums.Bind (Reco_ChangeRequest,428); + typenums.Bind (Reco_ConfigurationDesign,429); + typenums.Bind (Reco_ConfigurationEffectivity,430); + typenums.Bind (Reco_Contract,431); + typenums.Bind (Reco_ContractAssignment,432); + typenums.Bind (Reco_ContractType,433); + typenums.Bind (Reco_ProductConcept,434); + typenums.Bind (Reco_ProductConceptContext,435); + typenums.Bind (Reco_StartRequest,436); + typenums.Bind (Reco_StartWork,437); + typenums.Bind (Reco_VersionedActionRequest,438); + typenums.Bind (Reco_ProductCategoryRelationship,439); + typenums.Bind (Reco_ActionRequestSolution,440); + typenums.Bind (Reco_DraughtingModel,441); - typenums->SetItem (Reco_AngularLocation,442); - typenums->SetItem (Reco_AngularSize,443); - typenums->SetItem (Reco_DimensionalCharacteristicRepresentation,444); - typenums->SetItem (Reco_DimensionalLocation,445); - typenums->SetItem (Reco_DimensionalLocationWithPath,446); - typenums->SetItem (Reco_DimensionalSize,447); - typenums->SetItem (Reco_DimensionalSizeWithPath,448); - typenums->SetItem (Reco_ShapeDimensionRepresentation,449); + typenums.Bind (Reco_AngularLocation,442); + typenums.Bind (Reco_AngularSize,443); + typenums.Bind (Reco_DimensionalCharacteristicRepresentation,444); + typenums.Bind (Reco_DimensionalLocation,445); + typenums.Bind (Reco_DimensionalLocationWithPath,446); + typenums.Bind (Reco_DimensionalSize,447); + typenums.Bind (Reco_DimensionalSizeWithPath,448); + typenums.Bind (Reco_ShapeDimensionRepresentation,449); // Added by ABV 10.05.00 for CAX-IF TRJ4 (external references) - typenums->SetItem (Reco_DocumentRepresentationType,450); - typenums->SetItem (Reco_ObjectRole,451); - typenums->SetItem (Reco_RoleAssociation,452); - typenums->SetItem (Reco_IdentificationRole,453); - typenums->SetItem (Reco_IdentificationAssignment,454); - typenums->SetItem (Reco_ExternalIdentificationAssignment,455); - typenums->SetItem (Reco_EffectivityAssignment,456); - typenums->SetItem (Reco_NameAssignment,457); - typenums->SetItem (Reco_GeneralProperty,458); - typenums->SetItem (Reco_Class,459); - typenums->SetItem (Reco_ExternallyDefinedClass,460); - typenums->SetItem (Reco_ExternallyDefinedGeneralProperty,461); - typenums->SetItem (Reco_AppliedExternalIdentificationAssignment,462); + typenums.Bind (Reco_DocumentRepresentationType,450); + typenums.Bind (Reco_ObjectRole,451); + typenums.Bind (Reco_RoleAssociation,452); + typenums.Bind (Reco_IdentificationRole,453); + typenums.Bind (Reco_IdentificationAssignment,454); + typenums.Bind (Reco_ExternalIdentificationAssignment,455); + typenums.Bind (Reco_EffectivityAssignment,456); + typenums.Bind (Reco_NameAssignment,457); + typenums.Bind (Reco_GeneralProperty,458); + typenums.Bind (Reco_Class,459); + typenums.Bind (Reco_ExternallyDefinedClass,460); + typenums.Bind (Reco_ExternallyDefinedGeneralProperty,461); + typenums.Bind (Reco_AppliedExternalIdentificationAssignment,462); // Added by CKY, 25 APR 2001 for CAX-IF TRJ7 (dimensional tolerances) - typenums->SetItem (Reco_CompositeShapeAspect,470); - typenums->SetItem (Reco_DerivedShapeAspect,471); - typenums->SetItem (Reco_Extension,472); - typenums->SetItem (Reco_DirectedDimensionalLocation,473); - typenums->SetItem (Reco_LimitsAndFits,474); - typenums->SetItem (Reco_ToleranceValue,475); - typenums->SetItem (Reco_MeasureQualification,476); - typenums->SetItem (Reco_PlusMinusTolerance,477); - typenums->SetItem (Reco_PrecisionQualifier,478); - typenums->SetItem (Reco_TypeQualifier,479); - typenums->SetItem (Reco_QualifiedRepresentationItem,480); + typenums.Bind (Reco_CompositeShapeAspect,470); + typenums.Bind (Reco_DerivedShapeAspect,471); + typenums.Bind (Reco_Extension,472); + typenums.Bind (Reco_DirectedDimensionalLocation,473); + typenums.Bind (Reco_LimitsAndFits,474); + typenums.Bind (Reco_ToleranceValue,475); + typenums.Bind (Reco_MeasureQualification,476); + typenums.Bind (Reco_PlusMinusTolerance,477); + typenums.Bind (Reco_PrecisionQualifier,478); + typenums.Bind (Reco_TypeQualifier,479); + typenums.Bind (Reco_QualifiedRepresentationItem,480); - typenums->SetItem (Reco_CompoundRepresentationItem,482); - typenums->SetItem (Reco_ValueRange,483); - typenums->SetItem (Reco_ShapeAspectDerivingRelationship,484); + typenums.Bind (Reco_CompoundRepresentationItem,482); + typenums.Bind (Reco_ValueRange,483); + typenums.Bind (Reco_ShapeAspectDerivingRelationship,484); // abv 27.12.01 - typenums->SetItem (Reco_CompoundShapeRepresentation,485); - typenums->SetItem (Reco_ConnectedEdgeSet,486); - typenums->SetItem (Reco_ConnectedFaceShapeRepresentation,487); - typenums->SetItem (Reco_EdgeBasedWireframeModel,488); - typenums->SetItem (Reco_EdgeBasedWireframeShapeRepresentation,489); - typenums->SetItem (Reco_FaceBasedSurfaceModel,490); - typenums->SetItem (Reco_NonManifoldSurfaceShapeRepresentation,491); + typenums.Bind (Reco_CompoundShapeRepresentation,485); + typenums.Bind (Reco_ConnectedEdgeSet,486); + typenums.Bind (Reco_ConnectedFaceShapeRepresentation,487); + typenums.Bind (Reco_EdgeBasedWireframeModel,488); + typenums.Bind (Reco_EdgeBasedWireframeShapeRepresentation,489); + typenums.Bind (Reco_FaceBasedSurfaceModel,490); + typenums.Bind (Reco_NonManifoldSurfaceShapeRepresentation,491); // gka 08.01.02 - typenums->SetItem (Reco_OrientedSurface,492); - typenums->SetItem (Reco_Subface,493); - typenums->SetItem (Reco_Subedge,494); - typenums->SetItem (Reco_SeamEdge,495); - typenums->SetItem (Reco_ConnectedFaceSubSet,496); + typenums.Bind (Reco_OrientedSurface,492); + typenums.Bind (Reco_Subface,493); + typenums.Bind (Reco_Subedge,494); + typenums.Bind (Reco_SeamEdge,495); + typenums.Bind (Reco_ConnectedFaceSubSet,496); //AP209 - typenums->SetItem (Reco_EulerAngles,500); - typenums->SetItem (Reco_MassUnit,501); - typenums->SetItem (Reco_ThermodynamicTemperatureUnit,502); - typenums->SetItem (Reco_AnalysisItemWithinRepresentation,503); - typenums->SetItem (Reco_Curve3dElementDescriptor,504); - typenums->SetItem (Reco_CurveElementEndReleasePacket,505); - typenums->SetItem (Reco_CurveElementSectionDefinition,506); - typenums->SetItem (Reco_CurveElementSectionDerivedDefinitions,507); - typenums->SetItem (Reco_ElementDescriptor,508); - typenums->SetItem (Reco_ElementMaterial,509); - typenums->SetItem (Reco_Surface3dElementDescriptor,510); - typenums->SetItem (Reco_SurfaceElementProperty,511); - typenums->SetItem (Reco_SurfaceSection,512); - typenums->SetItem (Reco_SurfaceSectionField,513); - typenums->SetItem (Reco_SurfaceSectionFieldConstant,514); - typenums->SetItem (Reco_SurfaceSectionFieldVarying,515); - typenums->SetItem (Reco_UniformSurfaceSection,516); - typenums->SetItem (Reco_Volume3dElementDescriptor,517); - typenums->SetItem (Reco_AlignedCurve3dElementCoordinateSystem,518); - typenums->SetItem (Reco_ArbitraryVolume3dElementCoordinateSystem,519); - typenums->SetItem (Reco_Curve3dElementProperty,520); - typenums->SetItem (Reco_Curve3dElementRepresentation,521); - typenums->SetItem (Reco_Node,522); -// typenums->SetItem (Reco_CurveElementEndCoordinateSystem,523); - typenums->SetItem (Reco_CurveElementEndOffset,524); - typenums->SetItem (Reco_CurveElementEndRelease,525); - typenums->SetItem (Reco_CurveElementInterval,526); - typenums->SetItem (Reco_CurveElementIntervalConstant,527); - typenums->SetItem (Reco_DummyNode,528); - typenums->SetItem (Reco_CurveElementLocation,529); - typenums->SetItem (Reco_ElementGeometricRelationship,530); - typenums->SetItem (Reco_ElementGroup,531); - typenums->SetItem (Reco_ElementRepresentation,532); - typenums->SetItem (Reco_FeaAreaDensity,533); - typenums->SetItem (Reco_FeaAxis2Placement3d,534); - typenums->SetItem (Reco_FeaGroup,535); - typenums->SetItem (Reco_FeaLinearElasticity,536); - typenums->SetItem (Reco_FeaMassDensity,537); - typenums->SetItem (Reco_FeaMaterialPropertyRepresentation,538); - typenums->SetItem (Reco_FeaMaterialPropertyRepresentationItem,539); - typenums->SetItem (Reco_FeaModel,540); - typenums->SetItem (Reco_FeaModel3d,541); - typenums->SetItem (Reco_FeaMoistureAbsorption,542); - typenums->SetItem (Reco_FeaParametricPoint,543); - typenums->SetItem (Reco_FeaRepresentationItem,544); - typenums->SetItem (Reco_FeaSecantCoefficientOfLinearThermalExpansion,545); - typenums->SetItem (Reco_FeaShellBendingStiffness,546); - typenums->SetItem (Reco_FeaShellMembraneBendingCouplingStiffness,547); - typenums->SetItem (Reco_FeaShellMembraneStiffness,548); - typenums->SetItem (Reco_FeaShellShearStiffness,549); - typenums->SetItem (Reco_GeometricNode,550); - typenums->SetItem (Reco_FeaTangentialCoefficientOfLinearThermalExpansion,551); - typenums->SetItem (Reco_NodeGroup,552); - typenums->SetItem (Reco_NodeRepresentation,553); - typenums->SetItem (Reco_NodeSet,554); - typenums->SetItem (Reco_NodeWithSolutionCoordinateSystem,555); - typenums->SetItem (Reco_NodeWithVector,556); - typenums->SetItem (Reco_ParametricCurve3dElementCoordinateDirection,557); - typenums->SetItem (Reco_ParametricCurve3dElementCoordinateSystem,558); - typenums->SetItem (Reco_ParametricSurface3dElementCoordinateSystem,559); - typenums->SetItem (Reco_Surface3dElementRepresentation,560); -// typenums->SetItem (Reco_SymmetricTensor22d,561); -// typenums->SetItem (Reco_SymmetricTensor42d,562); -// typenums->SetItem (Reco_SymmetricTensor43d,563); - typenums->SetItem (Reco_Volume3dElementRepresentation,564); - typenums->SetItem (Reco_DataEnvironment,565); - typenums->SetItem (Reco_MaterialPropertyRepresentation,566); - typenums->SetItem (Reco_PropertyDefinitionRelationship,567); - typenums->SetItem (Reco_PointRepresentation,568); - typenums->SetItem (Reco_MaterialProperty,569); - typenums->SetItem (Reco_FeaModelDefinition,570); - typenums->SetItem (Reco_FreedomAndCoefficient,571); - typenums->SetItem (Reco_FreedomsList,572); - typenums->SetItem (Reco_ProductDefinitionFormationRelationship,573); -// typenums->SetItem (Reco_FeaModelDefinition,574); - typenums->SetItem (Reco_NodeDefinition,575); - typenums->SetItem (Reco_StructuralResponseProperty,576); - typenums->SetItem (Reco_StructuralResponsePropertyDefinitionRepresentation,577); - typenums->SetItem (Reco_AlignedSurface3dElementCoordinateSystem,579); - typenums->SetItem (Reco_ConstantSurface3dElementCoordinateSystem,580); - typenums->SetItem (Reco_CurveElementIntervalLinearlyVarying,581); - typenums->SetItem (Reco_FeaCurveSectionGeometricRelationship,582); - typenums->SetItem (Reco_FeaSurfaceSectionGeometricRelationship,583); + typenums.Bind (Reco_EulerAngles,500); + typenums.Bind (Reco_MassUnit,501); + typenums.Bind (Reco_ThermodynamicTemperatureUnit,502); + typenums.Bind (Reco_AnalysisItemWithinRepresentation,503); + typenums.Bind (Reco_Curve3dElementDescriptor,504); + typenums.Bind (Reco_CurveElementEndReleasePacket,505); + typenums.Bind (Reco_CurveElementSectionDefinition,506); + typenums.Bind (Reco_CurveElementSectionDerivedDefinitions,507); + typenums.Bind (Reco_ElementDescriptor,508); + typenums.Bind (Reco_ElementMaterial,509); + typenums.Bind (Reco_Surface3dElementDescriptor,510); + typenums.Bind (Reco_SurfaceElementProperty,511); + typenums.Bind (Reco_SurfaceSection,512); + typenums.Bind (Reco_SurfaceSectionField,513); + typenums.Bind (Reco_SurfaceSectionFieldConstant,514); + typenums.Bind (Reco_SurfaceSectionFieldVarying,515); + typenums.Bind (Reco_UniformSurfaceSection,516); + typenums.Bind (Reco_Volume3dElementDescriptor,517); + typenums.Bind (Reco_AlignedCurve3dElementCoordinateSystem,518); + typenums.Bind (Reco_ArbitraryVolume3dElementCoordinateSystem,519); + typenums.Bind (Reco_Curve3dElementProperty,520); + typenums.Bind (Reco_Curve3dElementRepresentation,521); + typenums.Bind (Reco_Node,522); +// typenums.Bind (Reco_CurveElementEndCoordinateSystem,523); + typenums.Bind (Reco_CurveElementEndOffset,524); + typenums.Bind (Reco_CurveElementEndRelease,525); + typenums.Bind (Reco_CurveElementInterval,526); + typenums.Bind (Reco_CurveElementIntervalConstant,527); + typenums.Bind (Reco_DummyNode,528); + typenums.Bind (Reco_CurveElementLocation,529); + typenums.Bind (Reco_ElementGeometricRelationship,530); + typenums.Bind (Reco_ElementGroup,531); + typenums.Bind (Reco_ElementRepresentation,532); + typenums.Bind (Reco_FeaAreaDensity,533); + typenums.Bind (Reco_FeaAxis2Placement3d,534); + typenums.Bind (Reco_FeaGroup,535); + typenums.Bind (Reco_FeaLinearElasticity,536); + typenums.Bind (Reco_FeaMassDensity,537); + typenums.Bind (Reco_FeaMaterialPropertyRepresentation,538); + typenums.Bind (Reco_FeaMaterialPropertyRepresentationItem,539); + typenums.Bind (Reco_FeaModel,540); + typenums.Bind (Reco_FeaModel3d,541); + typenums.Bind (Reco_FeaMoistureAbsorption,542); + typenums.Bind (Reco_FeaParametricPoint,543); + typenums.Bind (Reco_FeaRepresentationItem,544); + typenums.Bind (Reco_FeaSecantCoefficientOfLinearThermalExpansion,545); + typenums.Bind (Reco_FeaShellBendingStiffness,546); + typenums.Bind (Reco_FeaShellMembraneBendingCouplingStiffness,547); + typenums.Bind (Reco_FeaShellMembraneStiffness,548); + typenums.Bind (Reco_FeaShellShearStiffness,549); + typenums.Bind (Reco_GeometricNode,550); + typenums.Bind (Reco_FeaTangentialCoefficientOfLinearThermalExpansion,551); + typenums.Bind (Reco_NodeGroup,552); + typenums.Bind (Reco_NodeRepresentation,553); + typenums.Bind (Reco_NodeSet,554); + typenums.Bind (Reco_NodeWithSolutionCoordinateSystem,555); + typenums.Bind (Reco_NodeWithVector,556); + typenums.Bind (Reco_ParametricCurve3dElementCoordinateDirection,557); + typenums.Bind (Reco_ParametricCurve3dElementCoordinateSystem,558); + typenums.Bind (Reco_ParametricSurface3dElementCoordinateSystem,559); + typenums.Bind (Reco_Surface3dElementRepresentation,560); +// typenums.Bind (Reco_SymmetricTensor22d,561); +// typenums.Bind (Reco_SymmetricTensor42d,562); +// typenums.Bind (Reco_SymmetricTensor43d,563); + typenums.Bind (Reco_Volume3dElementRepresentation,564); + typenums.Bind (Reco_DataEnvironment,565); + typenums.Bind (Reco_MaterialPropertyRepresentation,566); + typenums.Bind (Reco_PropertyDefinitionRelationship,567); + typenums.Bind (Reco_PointRepresentation,568); + typenums.Bind (Reco_MaterialProperty,569); + typenums.Bind (Reco_FeaModelDefinition,570); + typenums.Bind (Reco_FreedomAndCoefficient,571); + typenums.Bind (Reco_FreedomsList,572); + typenums.Bind (Reco_ProductDefinitionFormationRelationship,573); +// typenums.Bind (Reco_FeaModelDefinition,574); + typenums.Bind (Reco_NodeDefinition,575); + typenums.Bind (Reco_StructuralResponseProperty,576); + typenums.Bind (Reco_StructuralResponsePropertyDefinitionRepresentation,577); + typenums.Bind (Reco_AlignedSurface3dElementCoordinateSystem,579); + typenums.Bind (Reco_ConstantSurface3dElementCoordinateSystem,580); + typenums.Bind (Reco_CurveElementIntervalLinearlyVarying,581); + typenums.Bind (Reco_FeaCurveSectionGeometricRelationship,582); + typenums.Bind (Reco_FeaSurfaceSectionGeometricRelationship,583); // ptv 28.01.2003 - typenums->SetItem (Reco_DocumentProductAssociation,600); - typenums->SetItem (Reco_DocumentProductEquivalence,601); + typenums.Bind (Reco_DocumentProductAssociation,600); + typenums.Bind (Reco_DocumentProductEquivalence,601); // Added by SKL 18.06.2003 for Dimensional Tolerances (CAX-IF TRJ11) - typenums->SetItem (Reco_CylindricityTolerance,609); - typenums->SetItem (Reco_ShapeRepresentationWithParameters,610); - typenums->SetItem (Reco_AngularityTolerance,611); - typenums->SetItem (Reco_ConcentricityTolerance,612); - typenums->SetItem (Reco_CircularRunoutTolerance,613); - typenums->SetItem (Reco_CoaxialityTolerance,614); - typenums->SetItem (Reco_FlatnessTolerance,615); - typenums->SetItem (Reco_LineProfileTolerance,616); - typenums->SetItem (Reco_ParallelismTolerance,617); - typenums->SetItem (Reco_PerpendicularityTolerance,618); - typenums->SetItem (Reco_PositionTolerance,619); - typenums->SetItem (Reco_RoundnessTolerance,620); - typenums->SetItem (Reco_StraightnessTolerance,621); - typenums->SetItem (Reco_SurfaceProfileTolerance,622); - typenums->SetItem (Reco_SymmetryTolerance,623); - typenums->SetItem (Reco_TotalRunoutTolerance,624); - typenums->SetItem (Reco_GeometricTolerance,625); - typenums->SetItem (Reco_GeometricToleranceRelationship,626); - typenums->SetItem (Reco_GeometricToleranceWithDatumReference,627); - typenums->SetItem (Reco_ModifiedGeometricTolerance,628); - typenums->SetItem (Reco_Datum,629); - typenums->SetItem (Reco_DatumFeature,630); - typenums->SetItem (Reco_DatumReference,631); - typenums->SetItem (Reco_CommonDatum,632); - typenums->SetItem (Reco_DatumTarget,633); - typenums->SetItem (Reco_PlacedDatumTargetFeature,634); + typenums.Bind (Reco_CylindricityTolerance,609); + typenums.Bind (Reco_ShapeRepresentationWithParameters,610); + typenums.Bind (Reco_AngularityTolerance,611); + typenums.Bind (Reco_ConcentricityTolerance,612); + typenums.Bind (Reco_CircularRunoutTolerance,613); + typenums.Bind (Reco_CoaxialityTolerance,614); + typenums.Bind (Reco_FlatnessTolerance,615); + typenums.Bind (Reco_LineProfileTolerance,616); + typenums.Bind (Reco_ParallelismTolerance,617); + typenums.Bind (Reco_PerpendicularityTolerance,618); + typenums.Bind (Reco_PositionTolerance,619); + typenums.Bind (Reco_RoundnessTolerance,620); + typenums.Bind (Reco_StraightnessTolerance,621); + typenums.Bind (Reco_SurfaceProfileTolerance,622); + typenums.Bind (Reco_SymmetryTolerance,623); + typenums.Bind (Reco_TotalRunoutTolerance,624); + typenums.Bind (Reco_GeometricTolerance,625); + typenums.Bind (Reco_GeometricToleranceRelationship,626); + typenums.Bind (Reco_GeometricToleranceWithDatumReference,627); + typenums.Bind (Reco_ModifiedGeometricTolerance,628); + typenums.Bind (Reco_Datum,629); + typenums.Bind (Reco_DatumFeature,630); + typenums.Bind (Reco_DatumReference,631); + typenums.Bind (Reco_CommonDatum,632); + typenums.Bind (Reco_DatumTarget,633); + typenums.Bind (Reco_PlacedDatumTargetFeature,634); - typenums->SetItem (Reco_MassMeasureWithUnit,651); + typenums.Bind (Reco_MassMeasureWithUnit,651); //Added by ika for GD&T AP242 - typenums->SetItem (Reco_Apex, 660); - typenums->SetItem (Reco_CentreOfSymmetry, 661); - typenums->SetItem (Reco_GeometricAlignment, 662); - typenums->SetItem (Reco_PerpendicularTo, 663); - typenums->SetItem (Reco_Tangent, 664); - typenums->SetItem (Reco_ParallelOffset, 665); - typenums->SetItem (Reco_GeometricItemSpecificUsage, 666); - typenums->SetItem (Reco_IdAttribute, 667); - typenums->SetItem (Reco_ItemIdentifiedRepresentationUsage, 668); - typenums->SetItem (Reco_AllAroundShapeAspect, 669); - typenums->SetItem (Reco_BetweenShapeAspect, 670); - typenums->SetItem (Reco_CompositeGroupShapeAspect, 671); - typenums->SetItem (Reco_ContinuosShapeAspect, 672); - typenums->SetItem (Reco_GeometricToleranceWithDefinedAreaUnit, 673); - typenums->SetItem (Reco_GeometricToleranceWithDefinedUnit, 674); - typenums->SetItem (Reco_GeometricToleranceWithMaximumTolerance, 675); - typenums->SetItem (Reco_GeometricToleranceWithModifiers, 676); - typenums->SetItem (Reco_UnequallyDisposedGeometricTolerance, 677); - typenums->SetItem (Reco_NonUniformZoneDefinition, 678); - typenums->SetItem (Reco_ProjectedZoneDefinition, 679); - typenums->SetItem (Reco_RunoutZoneDefinition, 680); - typenums->SetItem (Reco_RunoutZoneOrientation, 681); - typenums->SetItem (Reco_ToleranceZone, 682); - typenums->SetItem (Reco_ToleranceZoneDefinition, 683); - typenums->SetItem (Reco_ToleranceZoneForm, 684); - typenums->SetItem (Reco_ValueFormatTypeQualifier, 685); - typenums->SetItem (Reco_DatumReferenceCompartment, 686); - typenums->SetItem (Reco_DatumReferenceElement, 687); - typenums->SetItem (Reco_DatumReferenceModifierWithValue, 688); - typenums->SetItem (Reco_DatumSystem, 689); - typenums->SetItem (Reco_GeneralDatumReference, 690); - typenums->SetItem (Reco_IntegerRepresentationItem, 700); - typenums->SetItem (Reco_ValueRepresentationItem, 701); - typenums->SetItem (Reco_FeatureForDatumTargetRelationship, 702); - typenums->SetItem (Reco_DraughtingModelItemAssociation, 703); - typenums->SetItem (Reco_AnnotationPlane, 704); + typenums.Bind (Reco_Apex, 660); + typenums.Bind (Reco_CentreOfSymmetry, 661); + typenums.Bind (Reco_GeometricAlignment, 662); + typenums.Bind (Reco_PerpendicularTo, 663); + typenums.Bind (Reco_Tangent, 664); + typenums.Bind (Reco_ParallelOffset, 665); + typenums.Bind (Reco_GeometricItemSpecificUsage, 666); + typenums.Bind (Reco_IdAttribute, 667); + typenums.Bind (Reco_ItemIdentifiedRepresentationUsage, 668); + typenums.Bind (Reco_AllAroundShapeAspect, 669); + typenums.Bind (Reco_BetweenShapeAspect, 670); + typenums.Bind (Reco_CompositeGroupShapeAspect, 671); + typenums.Bind (Reco_ContinuosShapeAspect, 672); + typenums.Bind (Reco_GeometricToleranceWithDefinedAreaUnit, 673); + typenums.Bind (Reco_GeometricToleranceWithDefinedUnit, 674); + typenums.Bind (Reco_GeometricToleranceWithMaximumTolerance, 675); + typenums.Bind (Reco_GeometricToleranceWithModifiers, 676); + typenums.Bind (Reco_UnequallyDisposedGeometricTolerance, 677); + typenums.Bind (Reco_NonUniformZoneDefinition, 678); + typenums.Bind (Reco_ProjectedZoneDefinition, 679); + typenums.Bind (Reco_RunoutZoneDefinition, 680); + typenums.Bind (Reco_RunoutZoneOrientation, 681); + typenums.Bind (Reco_ToleranceZone, 682); + typenums.Bind (Reco_ToleranceZoneDefinition, 683); + typenums.Bind (Reco_ToleranceZoneForm, 684); + typenums.Bind (Reco_ValueFormatTypeQualifier, 685); + typenums.Bind (Reco_DatumReferenceCompartment, 686); + typenums.Bind (Reco_DatumReferenceElement, 687); + typenums.Bind (Reco_DatumReferenceModifierWithValue, 688); + typenums.Bind (Reco_DatumSystem, 689); + typenums.Bind (Reco_GeneralDatumReference, 690); + typenums.Bind (Reco_IntegerRepresentationItem, 700); + typenums.Bind (Reco_ValueRepresentationItem, 701); + typenums.Bind (Reco_FeatureForDatumTargetRelationship, 702); + typenums.Bind (Reco_DraughtingModelItemAssociation, 703); + typenums.Bind (Reco_AnnotationPlane, 704); - typenums->SetItem (Reco_TessellatedAnnotationOccurrence,707); - typenums->SetItem (Reco_TessellatedGeometricSet, 709); + typenums.Bind (Reco_TessellatedAnnotationOccurrence,707); + typenums.Bind (Reco_TessellatedGeometricSet, 709); - typenums->SetItem ( Reco_TessellatedCurveSet, 710); - typenums->SetItem ( Reco_CoordinatesList, 711); - typenums->SetItem ( Reco_ConstructiveGeometryRepresentation, 712); - typenums->SetItem ( Reco_ConstructiveGeometryRepresentationRelationship, 713); - typenums->SetItem ( Reco_CharacterizedRepresentation, 714); + typenums.Bind ( Reco_TessellatedCurveSet, 710); + typenums.Bind ( Reco_CoordinatesList, 711); + typenums.Bind ( Reco_ConstructiveGeometryRepresentation, 712); + typenums.Bind ( Reco_ConstructiveGeometryRepresentationRelationship, 713); + typenums.Bind ( Reco_CharacterizedRepresentation, 714); // SHORT NAMES @@ -2696,541 +2694,539 @@ RWStepAP214_ReadWriteModule::RWStepAP214_ReadWriteModule () // Pour les types complexes, l option prise est de convertir les noms courts // en noms longs et de refaire l essai - typeshor = new Dico_DictionaryOfInteger; +//203 typeshor.Bind ("ACTASS",ACTION_ASSIGNMENT); +//203 typeshor.Bind ("ACTDRC",ACTION_DIRECTIVE); +//203 typeshor.Bind ("ACTMTH",ACTION_METHOD); +//203 typeshor.Bind ("ACRQAS",ACTION_REQUEST_ASSIGNMENT); +//203 typeshor.Bind ("ACRQSL",ACTION_REQUEST_SOLUTION); +//203 typeshor.Bind ("ACRQST",ACTION_REQUEST_STATUS); +//203 typeshor.Bind ("ACTSTT",ACTION_STATUS); + typeshor.Bind ("ADDRSS",1); + typeshor.Bind ("ABSR",2); + typeshor.Bind ("ADVFC",3); + typeshor.Bind ("ANCROC",4); + typeshor.Bind ("ANFLAR",5); + typeshor.Bind ("AFAO",6); + typeshor.Bind ("ANNOCC",7); + typeshor.Bind ("ANSBOC",8); + typeshor.Bind ("ANNSYM",9); + typeshor.Bind ("ANSYOC",10); + typeshor.Bind ("ANNTXT",11); + typeshor.Bind ("ANTXOC",12); +//203 typeshor.Bind ("ALPRRL",ALTERNATE_PRODUCT_RELATIONSHIP); + typeshor.Bind ("APPCNT",13); + typeshor.Bind ("APCNEL",14); + typeshor.Bind ("APPRDF",15); + typeshor.Bind ("APPRVL",16); + typeshor.Bind ("APPASS",17); + typeshor.Bind ("APDTTM",348); + typeshor.Bind ("APPROR",18); + typeshor.Bind ("APPRLT",19); + typeshor.Bind ("APPRL",20); + typeshor.Bind ("APPSTT",21); + typeshor.Bind ("ARINST",22); +//203 typeshor.Bind ("AMWU",AREA_MEASURE_WITH_UNIT); +//203 typeshor.Bind ("ARUNT",AREA_UNIT); + typeshor.Bind ("ASCMUS",379); + typeshor.Bind ("ACUS",384); + typeshor.Bind ("AX1PLC",35); + typeshor.Bind ("A2PL2D",36); + typeshor.Bind ("A2PL3D",37); + typeshor.Bind ("BZRCRV",43); + typeshor.Bind ("BZRSRF",44); + typeshor.Bind ("BLNRSL",46); + typeshor.Bind ("BNDCR",47); + typeshor.Bind ("BNDCRV",48); + typeshor.Bind ("BNDSRF",49); + typeshor.Bind ("BRWTVD",52); + typeshor.Bind ("BSPCR",38); + typeshor.Bind ("BSCWK",39); + typeshor.Bind ("BSPSR",40); + typeshor.Bind ("BSSWK",41); + typeshor.Bind ("BXDMN",50); + typeshor.Bind ("BXHLSP",51); + typeshor.Bind ("CLNDT",53); + typeshor.Bind ("CMRIMG",54); + typeshor.Bind ("CMRMDL",55); + typeshor.Bind ("CMMDD3",57); + typeshor.Bind ("CMRUSG",58); + typeshor.Bind ("CRTPNT",59); + typeshor.Bind ("CRTROP",60); +//203 typeshor.Bind ("CTO2",CARTESIAN_TRANSFORMATION_OPERATOR_2D); + typeshor.Bind ("CTO3",61); +//203 typeshor.Bind ("CCDSAP",CC_DESIGN_APPROVAL); +//203 typeshor.Bind ("CCDSCR",CC_DESIGN_CERTIFICATION); +//203 typeshor.Bind ("CCDSCN",CC_DESIGN_CONTRACT); +//203 typeshor.Bind ("CDDATA",CC_DESIGN_DATE_AND_TIME_ASSIGNMENT); +//203 typeshor.Bind ("CDPAOA",CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT); +//203 typeshor.Bind ("CDSC",CC_DESIGN_SECURITY_CLASSIFICATION); +//203 typeshor.Bind ("CDS",CC_DESIGN_SPECIFICATION_REFERENCE); +//203 typeshor.Bind ("CRTFCT",CERTIFICATION); +//203 typeshor.Bind ("CRTASS",CERTIFICATION_ASSIGNMENT); +//203 typeshor.Bind ("CRTTYP",CERTIFICATION_TYPE); -//203 typeshor->SetItem ("ACTASS",ACTION_ASSIGNMENT); -//203 typeshor->SetItem ("ACTDRC",ACTION_DIRECTIVE); -//203 typeshor->SetItem ("ACTMTH",ACTION_METHOD); -//203 typeshor->SetItem ("ACRQAS",ACTION_REQUEST_ASSIGNMENT); -//203 typeshor->SetItem ("ACRQSL",ACTION_REQUEST_SOLUTION); -//203 typeshor->SetItem ("ACRQST",ACTION_REQUEST_STATUS); -//203 typeshor->SetItem ("ACTSTT",ACTION_STATUS); - typeshor->SetItem ("ADDRSS",1); - typeshor->SetItem ("ABSR",2); - typeshor->SetItem ("ADVFC",3); - typeshor->SetItem ("ANCROC",4); - typeshor->SetItem ("ANFLAR",5); - typeshor->SetItem ("AFAO",6); - typeshor->SetItem ("ANNOCC",7); - typeshor->SetItem ("ANSBOC",8); - typeshor->SetItem ("ANNSYM",9); - typeshor->SetItem ("ANSYOC",10); - typeshor->SetItem ("ANNTXT",11); - typeshor->SetItem ("ANTXOC",12); -//203 typeshor->SetItem ("ALPRRL",ALTERNATE_PRODUCT_RELATIONSHIP); - typeshor->SetItem ("APPCNT",13); - typeshor->SetItem ("APCNEL",14); - typeshor->SetItem ("APPRDF",15); - typeshor->SetItem ("APPRVL",16); - typeshor->SetItem ("APPASS",17); - typeshor->SetItem ("APDTTM",348); - typeshor->SetItem ("APPROR",18); - typeshor->SetItem ("APPRLT",19); - typeshor->SetItem ("APPRL",20); - typeshor->SetItem ("APPSTT",21); - typeshor->SetItem ("ARINST",22); -//203 typeshor->SetItem ("AMWU",AREA_MEASURE_WITH_UNIT); -//203 typeshor->SetItem ("ARUNT",AREA_UNIT); - typeshor->SetItem ("ASCMUS",379); - typeshor->SetItem ("ACUS",384); - typeshor->SetItem ("AX1PLC",35); - typeshor->SetItem ("A2PL2D",36); - typeshor->SetItem ("A2PL3D",37); - typeshor->SetItem ("BZRCRV",43); - typeshor->SetItem ("BZRSRF",44); - typeshor->SetItem ("BLNRSL",46); - typeshor->SetItem ("BNDCR",47); - typeshor->SetItem ("BNDCRV",48); - typeshor->SetItem ("BNDSRF",49); - typeshor->SetItem ("BRWTVD",52); - typeshor->SetItem ("BSPCR",38); - typeshor->SetItem ("BSCWK",39); - typeshor->SetItem ("BSPSR",40); - typeshor->SetItem ("BSSWK",41); - typeshor->SetItem ("BXDMN",50); - typeshor->SetItem ("BXHLSP",51); - typeshor->SetItem ("CLNDT",53); - typeshor->SetItem ("CMRIMG",54); - typeshor->SetItem ("CMRMDL",55); - typeshor->SetItem ("CMMDD3",57); - typeshor->SetItem ("CMRUSG",58); - typeshor->SetItem ("CRTPNT",59); - typeshor->SetItem ("CRTROP",60); -//203 typeshor->SetItem ("CTO2",CARTESIAN_TRANSFORMATION_OPERATOR_2D); - typeshor->SetItem ("CTO3",61); -//203 typeshor->SetItem ("CCDSAP",CC_DESIGN_APPROVAL); -//203 typeshor->SetItem ("CCDSCR",CC_DESIGN_CERTIFICATION); -//203 typeshor->SetItem ("CCDSCN",CC_DESIGN_CONTRACT); -//203 typeshor->SetItem ("CDDATA",CC_DESIGN_DATE_AND_TIME_ASSIGNMENT); -//203 typeshor->SetItem ("CDPAOA",CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT); -//203 typeshor->SetItem ("CDSC",CC_DESIGN_SECURITY_CLASSIFICATION); -//203 typeshor->SetItem ("CDS",CC_DESIGN_SPECIFICATION_REFERENCE); -//203 typeshor->SetItem ("CRTFCT",CERTIFICATION); -//203 typeshor->SetItem ("CRTASS",CERTIFICATION_ASSIGNMENT); -//203 typeshor->SetItem ("CRTTYP",CERTIFICATION_TYPE); +//203 typeshor.Bind ("CHNRQS",CHANGE_REQUEST); -//203 typeshor->SetItem ("CHNRQS",CHANGE_REQUEST); + typeshor.Bind ("CLSSHL",63); + typeshor.Bind ("CLRRGB",65); + typeshor.Bind ("CLRSPC",66); + typeshor.Bind ("CMPCRV",67); + typeshor.Bind ("CCOS",68); + typeshor.Bind ("CMCRSG",69); +//203 typeshor.Bind ("CNFDSG",CONFIGURATION_DESIGN); +//203 typeshor.Bind ("CNFEFF",CONFIGURATION_EFFECTIVITY); +//203 typeshor.Bind ("CNFITM",CONFIGURATION_ITEM); - typeshor->SetItem ("CLSSHL",63); - typeshor->SetItem ("CLRRGB",65); - typeshor->SetItem ("CLRSPC",66); - typeshor->SetItem ("CMPCRV",67); - typeshor->SetItem ("CCOS",68); - typeshor->SetItem ("CMCRSG",69); -//203 typeshor->SetItem ("CNFDSG",CONFIGURATION_DESIGN); -//203 typeshor->SetItem ("CNFEFF",CONFIGURATION_EFFECTIVITY); -//203 typeshor->SetItem ("CNFITM",CONFIGURATION_ITEM); + typeshor.Bind ("CMPTXT",70); + typeshor.Bind ("CTWAC",71); + typeshor.Bind ("CTWBB",72); + typeshor.Bind ("CTWE",73); + typeshor.Bind ("CNCSRF",75); +//203 typeshor.Bind ("CNEDST",CONNECTED_EDGE_SET); + typeshor.Bind ("CNFCST",76); + typeshor.Bind ("CNDPIN",77); + typeshor.Bind ("CDORSI",78); + typeshor.Bind ("CDSR",391); +//203 typeshor.Bind ("CNDPUN",CONTEXT_DEPENDENT_UNIT); +//203 typeshor.Bind ("CNTRCT",CONTRACT); +//203 typeshor.Bind ("CNTASS",CONTRACT_ASSIGNMENT); +//203 typeshor.Bind ("CNTTYP",CONTRACT_TYPE); + typeshor.Bind ("CNBSUN",79); + typeshor.Bind ("CUTO",80); + typeshor.Bind ("CSSHRP",82); + typeshor.Bind ("CSGSLD",83); - typeshor->SetItem ("CMPTXT",70); - typeshor->SetItem ("CTWAC",71); - typeshor->SetItem ("CTWBB",72); - typeshor->SetItem ("CTWE",73); - typeshor->SetItem ("CNCSRF",75); -//203 typeshor->SetItem ("CNEDST",CONNECTED_EDGE_SET); - typeshor->SetItem ("CNFCST",76); - typeshor->SetItem ("CNDPIN",77); - typeshor->SetItem ("CDORSI",78); - typeshor->SetItem ("CDSR",391); -//203 typeshor->SetItem ("CNDPUN",CONTEXT_DEPENDENT_UNIT); -//203 typeshor->SetItem ("CNTRCT",CONTRACT); -//203 typeshor->SetItem ("CNTASS",CONTRACT_ASSIGNMENT); -//203 typeshor->SetItem ("CNTTYP",CONTRACT_TYPE); - typeshor->SetItem ("CNBSUN",79); - typeshor->SetItem ("CUTO",80); - typeshor->SetItem ("CSSHRP",82); - typeshor->SetItem ("CSGSLD",83); + typeshor.Bind ("CRBNSR",85); + typeshor.Bind ("CRVRPL",86); + typeshor.Bind ("CRVSTY",87); + typeshor.Bind ("CRSTFN",88); + typeshor.Bind ("CSFP",89); + typeshor.Bind ("CYLSRF",90); - typeshor->SetItem ("CRBNSR",85); - typeshor->SetItem ("CRVRPL",86); - typeshor->SetItem ("CRVSTY",87); - typeshor->SetItem ("CRSTFN",88); - typeshor->SetItem ("CSFP",89); - typeshor->SetItem ("CYLSRF",90); +//203 typeshor.Bind ("DTDEFF",DATED_EFFECTIVITY); + typeshor.Bind ("DTANTM",92); + typeshor.Bind ("DATA",93); + typeshor.Bind ("DTASS",94); + typeshor.Bind ("DTRL",95); + typeshor.Bind ("DTTMRL",96); + typeshor.Bind ("DFNSYM",97); + typeshor.Bind ("DFNRPR",98); + typeshor.Bind ("DGNPCR",99); + typeshor.Bind ("DGTRSR",100); + typeshor.Bind ("DSRPIT",101); + typeshor.Bind ("DMNCRV",102); + typeshor.Bind ("DMCRTR",103); + typeshor.Bind ("DSGCNT",340); +//203 typeshor.Bind ("DMFR",DESIGN_MAKE_FROM_RELATIONSHIP); + typeshor.Bind ("DMNEXP",104); +//203 typeshor.Bind ("DRCACT",DIRECTED_ACTION); + typeshor.Bind ("DRCTN",105); + typeshor.Bind ("DRANOC",106); + typeshor.Bind ("DRGCLL",107); + typeshor.Bind ("DPDC",108); + typeshor.Bind ("DPDCF",109); + typeshor.Bind ("DRSBRP",110); + typeshor.Bind ("DRSYRP",111); + typeshor.Bind ("DTLWD",112); + typeshor.Bind ("DRWDFN",113); + typeshor.Bind ("DRWRVS",114); + typeshor.Bind ("DCMNT",367); +//203 typeshor.Bind ("DCMRFR",DOCUMENT_REFERENCE); + typeshor.Bind ("DCMRLT",369); + typeshor.Bind ("DCMTYP",370); + typeshor.Bind ("DCUSCN",371); +//203 typeshor.Bind ("DCWTCL",DOCUMENT_WITH_CLASS); -//203 typeshor->SetItem ("DTDEFF",DATED_EFFECTIVITY); - typeshor->SetItem ("DTANTM",92); - typeshor->SetItem ("DATA",93); - typeshor->SetItem ("DTASS",94); - typeshor->SetItem ("DTRL",95); - typeshor->SetItem ("DTTMRL",96); - typeshor->SetItem ("DFNSYM",97); - typeshor->SetItem ("DFNRPR",98); - typeshor->SetItem ("DGNPCR",99); - typeshor->SetItem ("DGTRSR",100); - typeshor->SetItem ("DSRPIT",101); - typeshor->SetItem ("DMNCRV",102); - typeshor->SetItem ("DMCRTR",103); - typeshor->SetItem ("DSGCNT",340); -//203 typeshor->SetItem ("DMFR",DESIGN_MAKE_FROM_RELATIONSHIP); - typeshor->SetItem ("DMNEXP",104); -//203 typeshor->SetItem ("DRCACT",DIRECTED_ACTION); - typeshor->SetItem ("DRCTN",105); - typeshor->SetItem ("DRANOC",106); - typeshor->SetItem ("DRGCLL",107); - typeshor->SetItem ("DPDC",108); - typeshor->SetItem ("DPDCF",109); - typeshor->SetItem ("DRSBRP",110); - typeshor->SetItem ("DRSYRP",111); - typeshor->SetItem ("DTLWD",112); - typeshor->SetItem ("DRWDFN",113); - typeshor->SetItem ("DRWRVS",114); - typeshor->SetItem ("DCMNT",367); -//203 typeshor->SetItem ("DCMRFR",DOCUMENT_REFERENCE); - typeshor->SetItem ("DCMRLT",369); - typeshor->SetItem ("DCMTYP",370); - typeshor->SetItem ("DCUSCN",371); -//203 typeshor->SetItem ("DCWTCL",DOCUMENT_WITH_CLASS); +//203 typeshor.Bind ("EBWM",EDGE_BASED_WIREFRAME_MODEL); +//203 typeshor.Bind ("EBWSR",EDGE_BASED_WIREFRAME_SHAPE_REPRESENTATION); + typeshor.Bind ("EDGCRV",116); + typeshor.Bind ("EDGLP",117); + typeshor.Bind ("EFFCTV",372); + typeshor.Bind ("ELMSRF",118); + typeshor.Bind ("ELLPS",119); + typeshor.Bind ("EVDGPC",120); + typeshor.Bind ("EXTSRC",121); + typeshor.Bind ("EDCF",122); + typeshor.Bind ("EDHS",123); + typeshor.Bind ("EXDFIT",124); + typeshor.Bind ("EXDFSY",125); + typeshor.Bind ("EDTF",126); + typeshor.Bind ("EDTS",127); + typeshor.Bind ("EXARSL",128); +//203 typeshor.Bind ("EXCACT",EXECUTED_ACTION); -//203 typeshor->SetItem ("EBWM",EDGE_BASED_WIREFRAME_MODEL); -//203 typeshor->SetItem ("EBWSR",EDGE_BASED_WIREFRAME_SHAPE_REPRESENTATION); - typeshor->SetItem ("EDGCRV",116); - typeshor->SetItem ("EDGLP",117); - typeshor->SetItem ("EFFCTV",372); - typeshor->SetItem ("ELMSRF",118); - typeshor->SetItem ("ELLPS",119); - typeshor->SetItem ("EVDGPC",120); - typeshor->SetItem ("EXTSRC",121); - typeshor->SetItem ("EDCF",122); - typeshor->SetItem ("EDHS",123); - typeshor->SetItem ("EXDFIT",124); - typeshor->SetItem ("EXDFSY",125); - typeshor->SetItem ("EDTF",126); - typeshor->SetItem ("EDTS",127); - typeshor->SetItem ("EXARSL",128); -//203 typeshor->SetItem ("EXCACT",EXECUTED_ACTION); + typeshor.Bind ("FCBND",131); + typeshor.Bind ("FCOTBN",132); + typeshor.Bind ("FCSRF",133); + typeshor.Bind ("FCTBR",134); + typeshor.Bind ("FBSR",135); + typeshor.Bind ("FLARST",136); + typeshor.Bind ("FASC",137); + typeshor.Bind ("FASH",138); + typeshor.Bind ("FASTSW",139); + typeshor.Bind ("FAST",140); + typeshor.Bind ("FNDFTR",141); + typeshor.Bind ("GBSSR",146); + typeshor.Bind ("GBWSR",147); + typeshor.Bind ("GMCRST",142); + typeshor.Bind ("GMRPCN",143); + typeshor.Bind ("GMRPIT",144); + typeshor.Bind ("GMTST",145); + typeshor.Bind ("GC",148); + typeshor.Bind ("GUAC",149); + typeshor.Bind ("GRPASS",151); + typeshor.Bind ("GRPRLT",152); + typeshor.Bind ("HLSPSL",153); + typeshor.Bind ("HYPRBL",154); + typeshor.Bind ("INTCRV",155); + typeshor.Bind ("INVSBL",156); + typeshor.Bind ("ITDFTR",354); + typeshor.Bind ("LMWU",157); + typeshor.Bind ("LNGUNT",158); - typeshor->SetItem ("FCBND",131); - typeshor->SetItem ("FCOTBN",132); - typeshor->SetItem ("FCSRF",133); - typeshor->SetItem ("FCTBR",134); - typeshor->SetItem ("FBSR",135); - typeshor->SetItem ("FLARST",136); - typeshor->SetItem ("FASC",137); - typeshor->SetItem ("FASH",138); - typeshor->SetItem ("FASTSW",139); - typeshor->SetItem ("FAST",140); - typeshor->SetItem ("FNDFTR",141); - typeshor->SetItem ("GBSSR",146); - typeshor->SetItem ("GBWSR",147); - typeshor->SetItem ("GMCRST",142); - typeshor->SetItem ("GMRPCN",143); - typeshor->SetItem ("GMRPIT",144); - typeshor->SetItem ("GMTST",145); - typeshor->SetItem ("GC",148); - typeshor->SetItem ("GUAC",149); - typeshor->SetItem ("GRPASS",151); - typeshor->SetItem ("GRPRLT",152); - typeshor->SetItem ("HLSPSL",153); - typeshor->SetItem ("HYPRBL",154); - typeshor->SetItem ("INTCRV",155); - typeshor->SetItem ("INVSBL",156); - typeshor->SetItem ("ITDFTR",354); - typeshor->SetItem ("LMWU",157); - typeshor->SetItem ("LNGUNT",158); + typeshor.Bind ("LCLTM",160); - typeshor->SetItem ("LCLTM",160); +//203 typeshor.Bind ("LTEFF",LOT_EFFECTIVITY); + typeshor.Bind ("MNSLBR",162); + typeshor.Bind ("MSSR",163); + typeshor.Bind ("MPPITM",164); + typeshor.Bind ("MDGPA",166); + typeshor.Bind ("MDGPR",167); +//203 typeshor.Bind ("MMWU",MASS_MEASURE_WITH_UNIT); +//203 typeshor.Bind ("MSSUNT",MASS_UNIT); + typeshor.Bind ("MSWTUN",165); + typeshor.Bind ("MCHCNT",339); + typeshor.Bind ("NMDUNT",169); + typeshor.Bind ("NAUO",380); +//203 typeshor.Bind ("OFCR2D",OFFSET_CURVE_2D); + typeshor.Bind ("OFCR3D",171); + typeshor.Bind ("OFFSRF",172); + typeshor.Bind ("ODRF",173); + typeshor.Bind ("OPNSHL",174); + typeshor.Bind ("ORDDT",175); + typeshor.Bind ("ORGNZT",176); + typeshor.Bind ("ORGASS",177); + typeshor.Bind ("ORGRL",178); + typeshor.Bind ("ORGADD",179); +//203 typeshor.Bind ("ORGPRJ",ORGANIZATIONAL_PROJECT); +//203 typeshor.Bind ("ORGRLT",ORGANIZATION_RELATIONSHIP); + typeshor.Bind ("ORCLSH",180); + typeshor.Bind ("ORNEDG",181); + typeshor.Bind ("ORNFC",182); + typeshor.Bind ("OROPSH",183); + typeshor.Bind ("ORNPTH",184); + typeshor.Bind ("OTBNCR",185); + typeshor.Bind ("ORSI",186); + typeshor.Bind ("PRBL",187); + typeshor.Bind ("PRRPCN",188); -//203 typeshor->SetItem ("LTEFF",LOT_EFFECTIVITY); - typeshor->SetItem ("MNSLBR",162); - typeshor->SetItem ("MSSR",163); - typeshor->SetItem ("MPPITM",164); - typeshor->SetItem ("MDGPA",166); - typeshor->SetItem ("MDGPR",167); -//203 typeshor->SetItem ("MMWU",MASS_MEASURE_WITH_UNIT); -//203 typeshor->SetItem ("MSSUNT",MASS_UNIT); - typeshor->SetItem ("MSWTUN",165); - typeshor->SetItem ("MCHCNT",339); - typeshor->SetItem ("NMDUNT",169); - typeshor->SetItem ("NAUO",380); -//203 typeshor->SetItem ("OFCR2D",OFFSET_CURVE_2D); - typeshor->SetItem ("OFCR3D",171); - typeshor->SetItem ("OFFSRF",172); - typeshor->SetItem ("ODRF",173); - typeshor->SetItem ("OPNSHL",174); - typeshor->SetItem ("ORDDT",175); - typeshor->SetItem ("ORGNZT",176); - typeshor->SetItem ("ORGASS",177); - typeshor->SetItem ("ORGRL",178); - typeshor->SetItem ("ORGADD",179); -//203 typeshor->SetItem ("ORGPRJ",ORGANIZATIONAL_PROJECT); -//203 typeshor->SetItem ("ORGRLT",ORGANIZATION_RELATIONSHIP); - typeshor->SetItem ("ORCLSH",180); - typeshor->SetItem ("ORNEDG",181); - typeshor->SetItem ("ORNFC",182); - typeshor->SetItem ("OROPSH",183); - typeshor->SetItem ("ORNPTH",184); - typeshor->SetItem ("OTBNCR",185); - typeshor->SetItem ("ORSI",186); - typeshor->SetItem ("PRBL",187); - typeshor->SetItem ("PRRPCN",188); + typeshor.Bind ("PRANOR",192); + typeshor.Bind ("PAOA",193); + typeshor.Bind ("PAOR",194); + typeshor.Bind ("PRSADD",195); + typeshor.Bind ("PLCMNT",196); + typeshor.Bind ("PLNBX",197); + typeshor.Bind ("PLNEXT",198); - typeshor->SetItem ("PRANOR",192); - typeshor->SetItem ("PAOA",193); - typeshor->SetItem ("PAOR",194); - typeshor->SetItem ("PRSADD",195); - typeshor->SetItem ("PLCMNT",196); - typeshor->SetItem ("PLNBX",197); - typeshor->SetItem ("PLNEXT",198); + typeshor.Bind ("PAMWU",200); + typeshor.Bind ("PLANUN",201); - typeshor->SetItem ("PAMWU",200); - typeshor->SetItem ("PLANUN",201); + typeshor.Bind ("PNONCR",203); + typeshor.Bind ("PNONSR",204); + typeshor.Bind ("PNTRPL",205); + typeshor.Bind ("PNTSTY",206); + typeshor.Bind ("PLYLP",207); + typeshor.Bind ("PLYLN",208); + typeshor.Bind ("PRDFCL",209); + typeshor.Bind ("PDCF",210); + typeshor.Bind ("PRDFIT",211); + typeshor.Bind ("PRDFSY",212); + typeshor.Bind ("PDTF",213); + typeshor.Bind ("PRSAR",214); + typeshor.Bind ("PRLYAS",215); + typeshor.Bind ("PRSRPR",216); + typeshor.Bind ("PRSST",217); + typeshor.Bind ("PRSSZ",218); + typeshor.Bind ("PRSTAS",219); + typeshor.Bind ("PSBC",220); + typeshor.Bind ("PRSVW",221); + typeshor.Bind ("PRSITM",222); + typeshor.Bind ("PRDCT",223); + typeshor.Bind ("PRDCTG",224); +//203 typeshor.Bind ("PRCTRL",PRODUCT_CATEGORY_RELATIONSHIP); +//203 typeshor.Bind ("PRDCNC",PRODUCT_CONCEPT); +//203 typeshor.Bind ("PRCNCN",PRODUCT_CONCEPT_CONTEXT); + typeshor.Bind ("PRDCNT",225); + typeshor.Bind ("PRDDFN",227); + typeshor.Bind ("PRDFCN",228); + typeshor.Bind ("PRDFEF",373); + typeshor.Bind ("PRDFFR",229); + typeshor.Bind ("PDFWSS",230); + typeshor.Bind ("PRDFRL",374); + typeshor.Bind ("PRDFSH",231); + typeshor.Bind ("PRDFUS",377); + typeshor.Bind ("PDWAD",375); + typeshor.Bind ("PRPC",232); + typeshor.Bind ("PRUSOC",381); + typeshor.Bind ("PRPDFN",234); + typeshor.Bind ("PRDFRP",235); + typeshor.Bind ("QACU",382); + typeshor.Bind ("QSUNCR",236); + typeshor.Bind ("QSUNSR",237); + typeshor.Bind ("RMWU",238); + typeshor.Bind ("RBSC",239); + typeshor.Bind ("RBSS",240); + typeshor.Bind ("RCCMSR",241); + typeshor.Bind ("RCTRSR",242); + typeshor.Bind ("RPITGR",243); + typeshor.Bind ("RCCS",244); + typeshor.Bind ("RPRSNT",245); + typeshor.Bind ("RPRCNT",246); + typeshor.Bind ("RPRITM",247); + typeshor.Bind ("RPRMP",248); + typeshor.Bind ("RPRRLT",249); + typeshor.Bind ("RVARSL",250); + typeshor.Bind ("RGANWD",251); + typeshor.Bind ("RGCRCN",252); + typeshor.Bind ("RGCRCY",253); + typeshor.Bind ("RRWT",388); + typeshor.Bind ("SMCRV",254); + typeshor.Bind ("SCRCLS",255); + typeshor.Bind ("SCCLAS",256); + typeshor.Bind ("SCCLLV",257); +//203 typeshor.Bind ("SRNMEF",SERIAL_NUMBERED_EFFECTIVITY); + typeshor.Bind ("SHPASP",258); + typeshor.Bind ("SHASRL",259); + typeshor.Bind ("SHDFRP",261); + typeshor.Bind ("SHPRPR",262); + typeshor.Bind ("SHRPRL",387); + typeshor.Bind ("SBSM",263); +//203 typeshor.Bind ("SBWM",SHELL_BASED_WIREFRAME_MODEL); +//203 typeshor.Bind ("SBWSR",SHELL_BASED_WIREFRAME_SHAPE_REPRESENTATION); + typeshor.Bind ("SUNT",264); + typeshor.Bind ("SAMWU",265); + typeshor.Bind ("SLANUN",336); + typeshor.Bind ("SLDMDL",266); + typeshor.Bind ("SLDRPL",267); + typeshor.Bind ("SHUO",383); + typeshor.Bind ("SPHSRF",269); + typeshor.Bind ("STYITM",270); +//203 typeshor.Bind ("STRRQS",START_REQUEST); +//203 typeshor.Bind ("STRWRK",START_WORK); + typeshor.Bind ("SPPRRL",385); + typeshor.Bind ("SRFC",271); + typeshor.Bind ("SRFCRV",272); + typeshor.Bind ("SL",273); + typeshor.Bind ("SROFRV",274); + typeshor.Bind ("SRFPTC",275); + typeshor.Bind ("SRFRPL",276); + typeshor.Bind ("SRSDST",277); + typeshor.Bind ("SRSTBN",278); + typeshor.Bind ("SSCG",279); + typeshor.Bind ("SSFA",280); + typeshor.Bind ("SSPL",281); + typeshor.Bind ("SSSC",282); + typeshor.Bind ("SRSTSL",283); + typeshor.Bind ("SRSTUS",284); + typeshor.Bind ("SWARSL",285); + typeshor.Bind ("SWPSRF",286); + typeshor.Bind ("SYMCLR",287); + typeshor.Bind ("SYMRPR",288); + typeshor.Bind ("SYRPMP",289); + typeshor.Bind ("SYMSTY",290); + typeshor.Bind ("SYMTRG",291); + typeshor.Bind ("TRMSYM",294); + typeshor.Bind ("TXTLTR",295); + typeshor.Bind ("TLWAC",296); + typeshor.Bind ("TLWBB",297); + typeshor.Bind ("TLWD",298); + typeshor.Bind ("TLWE",299); + typeshor.Bind ("TXTSTY",300); + typeshor.Bind ("TSFDF",301); + typeshor.Bind ("TSWBC",302); + typeshor.Bind ("TSWM",303); + typeshor.Bind ("TPRPIT",304); + typeshor.Bind ("TRDSRF",305); + typeshor.Bind ("TRMCRV",308); + typeshor.Bind ("TDRF",309); + typeshor.Bind ("UMWU",310); + typeshor.Bind ("UNFCRV",311); + typeshor.Bind ("UNFSRF",312); - typeshor->SetItem ("PNONCR",203); - typeshor->SetItem ("PNONSR",204); - typeshor->SetItem ("PNTRPL",205); - typeshor->SetItem ("PNTSTY",206); - typeshor->SetItem ("PLYLP",207); - typeshor->SetItem ("PLYLN",208); - typeshor->SetItem ("PRDFCL",209); - typeshor->SetItem ("PDCF",210); - typeshor->SetItem ("PRDFIT",211); - typeshor->SetItem ("PRDFSY",212); - typeshor->SetItem ("PDTF",213); - typeshor->SetItem ("PRSAR",214); - typeshor->SetItem ("PRLYAS",215); - typeshor->SetItem ("PRSRPR",216); - typeshor->SetItem ("PRSST",217); - typeshor->SetItem ("PRSSZ",218); - typeshor->SetItem ("PRSTAS",219); - typeshor->SetItem ("PSBC",220); - typeshor->SetItem ("PRSVW",221); - typeshor->SetItem ("PRSITM",222); - typeshor->SetItem ("PRDCT",223); - typeshor->SetItem ("PRDCTG",224); -//203 typeshor->SetItem ("PRCTRL",PRODUCT_CATEGORY_RELATIONSHIP); -//203 typeshor->SetItem ("PRDCNC",PRODUCT_CONCEPT); -//203 typeshor->SetItem ("PRCNCN",PRODUCT_CONCEPT_CONTEXT); - typeshor->SetItem ("PRDCNT",225); - typeshor->SetItem ("PRDDFN",227); - typeshor->SetItem ("PRDFCN",228); - typeshor->SetItem ("PRDFEF",373); - typeshor->SetItem ("PRDFFR",229); - typeshor->SetItem ("PDFWSS",230); - typeshor->SetItem ("PRDFRL",374); - typeshor->SetItem ("PRDFSH",231); - typeshor->SetItem ("PRDFUS",377); - typeshor->SetItem ("PDWAD",375); - typeshor->SetItem ("PRPC",232); - typeshor->SetItem ("PRUSOC",381); - typeshor->SetItem ("PRPDFN",234); - typeshor->SetItem ("PRDFRP",235); - typeshor->SetItem ("QACU",382); - typeshor->SetItem ("QSUNCR",236); - typeshor->SetItem ("QSUNSR",237); - typeshor->SetItem ("RMWU",238); - typeshor->SetItem ("RBSC",239); - typeshor->SetItem ("RBSS",240); - typeshor->SetItem ("RCCMSR",241); - typeshor->SetItem ("RCTRSR",242); - typeshor->SetItem ("RPITGR",243); - typeshor->SetItem ("RCCS",244); - typeshor->SetItem ("RPRSNT",245); - typeshor->SetItem ("RPRCNT",246); - typeshor->SetItem ("RPRITM",247); - typeshor->SetItem ("RPRMP",248); - typeshor->SetItem ("RPRRLT",249); - typeshor->SetItem ("RVARSL",250); - typeshor->SetItem ("RGANWD",251); - typeshor->SetItem ("RGCRCN",252); - typeshor->SetItem ("RGCRCY",253); - typeshor->SetItem ("RRWT",388); - typeshor->SetItem ("SMCRV",254); - typeshor->SetItem ("SCRCLS",255); - typeshor->SetItem ("SCCLAS",256); - typeshor->SetItem ("SCCLLV",257); -//203 typeshor->SetItem ("SRNMEF",SERIAL_NUMBERED_EFFECTIVITY); - typeshor->SetItem ("SHPASP",258); - typeshor->SetItem ("SHASRL",259); - typeshor->SetItem ("SHDFRP",261); - typeshor->SetItem ("SHPRPR",262); - typeshor->SetItem ("SHRPRL",387); - typeshor->SetItem ("SBSM",263); -//203 typeshor->SetItem ("SBWM",SHELL_BASED_WIREFRAME_MODEL); -//203 typeshor->SetItem ("SBWSR",SHELL_BASED_WIREFRAME_SHAPE_REPRESENTATION); - typeshor->SetItem ("SUNT",264); - typeshor->SetItem ("SAMWU",265); - typeshor->SetItem ("SLANUN",336); - typeshor->SetItem ("SLDMDL",266); - typeshor->SetItem ("SLDRPL",267); - typeshor->SetItem ("SHUO",383); - typeshor->SetItem ("SPHSRF",269); - typeshor->SetItem ("STYITM",270); -//203 typeshor->SetItem ("STRRQS",START_REQUEST); -//203 typeshor->SetItem ("STRWRK",START_WORK); - typeshor->SetItem ("SPPRRL",385); - typeshor->SetItem ("SRFC",271); - typeshor->SetItem ("SRFCRV",272); - typeshor->SetItem ("SL",273); - typeshor->SetItem ("SROFRV",274); - typeshor->SetItem ("SRFPTC",275); - typeshor->SetItem ("SRFRPL",276); - typeshor->SetItem ("SRSDST",277); - typeshor->SetItem ("SRSTBN",278); - typeshor->SetItem ("SSCG",279); - typeshor->SetItem ("SSFA",280); - typeshor->SetItem ("SSPL",281); - typeshor->SetItem ("SSSC",282); - typeshor->SetItem ("SRSTSL",283); - typeshor->SetItem ("SRSTUS",284); - typeshor->SetItem ("SWARSL",285); - typeshor->SetItem ("SWPSRF",286); - typeshor->SetItem ("SYMCLR",287); - typeshor->SetItem ("SYMRPR",288); - typeshor->SetItem ("SYRPMP",289); - typeshor->SetItem ("SYMSTY",290); - typeshor->SetItem ("SYMTRG",291); - typeshor->SetItem ("TRMSYM",294); - typeshor->SetItem ("TXTLTR",295); - typeshor->SetItem ("TLWAC",296); - typeshor->SetItem ("TLWBB",297); - typeshor->SetItem ("TLWD",298); - typeshor->SetItem ("TLWE",299); - typeshor->SetItem ("TXTSTY",300); - typeshor->SetItem ("TSFDF",301); - typeshor->SetItem ("TSWBC",302); - typeshor->SetItem ("TSWM",303); - typeshor->SetItem ("TPRPIT",304); - typeshor->SetItem ("TRDSRF",305); - typeshor->SetItem ("TRMCRV",308); - typeshor->SetItem ("TDRF",309); - typeshor->SetItem ("UMWU",310); - typeshor->SetItem ("UNFCRV",311); - typeshor->SetItem ("UNFSRF",312); +//203 typeshor.Bind ("VRACRQ",VERSIONED_ACTION_REQUEST); -//203 typeshor->SetItem ("VRACRQ",VERSIONED_ACTION_REQUEST); - - typeshor->SetItem ("VRTLP",315); - typeshor->SetItem ("VRTPNT",316); -//203 typeshor->SetItem ("VRTSHL",VERTEX_SHELL); -//203 typeshor->SetItem ("VMWU",VOLUME_MEASURE_WITH_UNIT); -//203 typeshor->SetItem ("VLMUNT",VOLUME_UNIT); - typeshor->SetItem ("VWVLM",317); - typeshor->SetItem ("WOYADD",318); - typeshor->SetItem ("TMWU",341); - typeshor->SetItem ("RTUNT",342); - typeshor->SetItem ("TMUNT",343); - typeshor->SetItem ("CI3WS",350); - typeshor->SetItem ("CTO2",351); - typeshor->SetItem ("DRVUNT",352); - typeshor->SetItem ("DRUNEL",353); - typeshor->SetItem ("PRITRP",355); - typeshor->SetItem ("MFUO",378); -//203 typeshor->SetItem ("WRSHL",WIRE_SHELL); - typeshor->SetItem ("MTRDSG",390); - typeshor->SetItem ("ADATA",392); - typeshor->SetItem ("APDTAS",393); - typeshor->SetItem ("APGRAS",395); - typeshor->SetItem ("APORAS",396); - typeshor->SetItem ("APAOA",397); - typeshor->SetItem ("APPRIT",398); - typeshor->SetItem ("ASCA",399); - typeshor->SetItem ("APDCRF",400); - typeshor->SetItem ("DCMFL",401); - typeshor->SetItem ("CHROBJ",402); - typeshor->SetItem ("EXFCSL",403); - typeshor->SetItem ("RVFCSL",404); - typeshor->SetItem ("SWFCSL",405); + typeshor.Bind ("VRTLP",315); + typeshor.Bind ("VRTPNT",316); +//203 typeshor.Bind ("VRTSHL",VERTEX_SHELL); +//203 typeshor.Bind ("VMWU",VOLUME_MEASURE_WITH_UNIT); +//203 typeshor.Bind ("VLMUNT",VOLUME_UNIT); + typeshor.Bind ("VWVLM",317); + typeshor.Bind ("WOYADD",318); + typeshor.Bind ("TMWU",341); + typeshor.Bind ("RTUNT",342); + typeshor.Bind ("TMUNT",343); + typeshor.Bind ("CI3WS",350); + typeshor.Bind ("CTO2",351); + typeshor.Bind ("DRVUNT",352); + typeshor.Bind ("DRUNEL",353); + typeshor.Bind ("PRITRP",355); + typeshor.Bind ("MFUO",378); +//203 typeshor.Bind ("WRSHL",WIRE_SHELL); + typeshor.Bind ("MTRDSG",390); + typeshor.Bind ("ADATA",392); + typeshor.Bind ("APDTAS",393); + typeshor.Bind ("APGRAS",395); + typeshor.Bind ("APORAS",396); + typeshor.Bind ("APAOA",397); + typeshor.Bind ("APPRIT",398); + typeshor.Bind ("ASCA",399); + typeshor.Bind ("APDCRF",400); + typeshor.Bind ("DCMFL",401); + typeshor.Bind ("CHROBJ",402); + typeshor.Bind ("EXFCSL",403); + typeshor.Bind ("RVFCSL",404); + typeshor.Bind ("SWFCSL",405); // Added by ABV 08.09.99 for CAX TRJ 2 (validation properties) - typeshor->SetItem ("MSRPIT",406); - typeshor->SetItem ("ARUNT",407); - typeshor->SetItem ("VLMUNT",408); + typeshor.Bind ("MSRPIT",406); + typeshor.Bind ("ARUNT",407); + typeshor.Bind ("VLMUNT",408); // Added by ABV 10.11.99 for AP203 - typeshor->SetItem ("ACTION",413); - typeshor->SetItem ("ACTASS",414); - typeshor->SetItem ("ACTMTH",415); - typeshor->SetItem ("ACRQAS",416); - typeshor->SetItem ("CCDSAP",417); - typeshor->SetItem ("CCDSCR",418); - typeshor->SetItem ("CCDSCN",419); - typeshor->SetItem ("CDDATA",420); - typeshor->SetItem ("CDPAOA",421); - typeshor->SetItem ("CDSC",422); - typeshor->SetItem ("CDS",423); - typeshor->SetItem ("CRTFCT",424); - typeshor->SetItem ("CRTASS",425); - typeshor->SetItem ("CRTTYP",426); - typeshor->SetItem ("CHANGE",427); - typeshor->SetItem ("CHNRQS",428); - typeshor->SetItem ("CNFDSG",429); - typeshor->SetItem ("CNFEFF",430); - typeshor->SetItem ("CNTRCT",431); - typeshor->SetItem ("CNTASS",432); - typeshor->SetItem ("CNTTYP",433); - typeshor->SetItem ("PRDCNC",434); - typeshor->SetItem ("PRCNCN",435); - typeshor->SetItem ("STRRQS",436); - typeshor->SetItem ("STRWRK",437); - typeshor->SetItem ("VRACRQ",438); - typeshor->SetItem ("PRCTRL",439); - typeshor->SetItem ("ACRQSL",440); - typeshor->SetItem ("DRGMDL",441); - typeshor->SetItem ("ANGLCT",442); - typeshor->SetItem ("ANGSZ",443); - typeshor->SetItem ("DMCHRP",444); - typeshor->SetItem ("DMNLCT",445); - typeshor->SetItem ("DLWP",446); - typeshor->SetItem ("DMNSZ",447); - typeshor->SetItem ("DSWP",448); - typeshor->SetItem ("SHDMRP",449); - typeshor->SetItem ("DCRPTY",450); - typeshor->SetItem ("OBJRL",451); - typeshor->SetItem ("RLASS",452); - typeshor->SetItem ("IDNRL",453); - typeshor->SetItem ("IDNASS",454); - typeshor->SetItem ("EXIDAS",455); - typeshor->SetItem ("EFFASS",456); - typeshor->SetItem ("NMASS",457); - typeshor->SetItem ("GNRPRP",458); - typeshor->SetItem ("EDGP",461); - typeshor->SetItem ("AEIA",462); - typeshor->SetItem ("CMSHAS",470); - typeshor->SetItem ("DRSHAS",471); - typeshor->SetItem ("EXTNSN",472); - typeshor->SetItem ("DRDMLC",473); - typeshor->SetItem ("LMANFT",474); - typeshor->SetItem ("TLRVL",475); - typeshor->SetItem ("MSRQLF",476); - typeshor->SetItem ("PLMNTL",477); - typeshor->SetItem ("PRCQLF",478); - typeshor->SetItem ("TYPQLF",479); - typeshor->SetItem ("QLRPIT", 480); - typeshor->SetItem ("CMRPIT", 482); - typeshor->SetItem ("CMRPIT", 483); - typeshor->SetItem ("CMS0", 485); - typeshor->SetItem ("CNEDST", 486); - typeshor->SetItem ("EBWM", 488); - typeshor->SetItem ("EBWSR", 489); - typeshor->SetItem ("NMSSR", 491); - typeshor->SetItem ("ORNSRF", 492); - typeshor->SetItem ("SBFC", 493); - typeshor->SetItem ("SBDG", 494); - typeshor->SetItem ("CFSS", 496); - typeshor->SetItem ("MSSUNT", 501); - typeshor->SetItem ("THTMUN", 502); - typeshor->SetItem ("DTENV", 565); - typeshor->SetItem ("MTPRRP", 566); - typeshor->SetItem ("PRDFR", 567); - typeshor->SetItem ("MTRPRP", 569); - typeshor->SetItem ("PDFR", 573); - typeshor->SetItem ("DCP1", 600); - typeshor->SetItem ("DCPREQ", 601); -// typeshor->SetItem (AngularLocation); -// typeshor->SetItem (AngularSize); -// typeshor->SetItem (DimensionalCharacteristicRepresentation); -// typeshor->SetItem (DimensionalLocation); -// typeshor->SetItem (DimensionalLocationWithPath); -// typeshor->SetItem (DimensionalSize); -// typeshor->SetItem (DimensionalSizeWithPath); -// typeshor->SetItem (ShapeDimensionRepresentation); - typeshor->SetItem ("CYLTLR", 609); - typeshor->SetItem ("SRWP", 610); - typeshor->SetItem ("ANGTLR", 611); - typeshor->SetItem ("CNCTLR", 612); - typeshor->SetItem ("CRRNTL", 613); - typeshor->SetItem ("CXLTLR", 614); - typeshor->SetItem ("FLTTLR", 615); - typeshor->SetItem ("LNP0", 616); - typeshor->SetItem ("PRLTLR", 617); - typeshor->SetItem ("PRPTLR", 618); - typeshor->SetItem ("PSTTLR", 619); - typeshor->SetItem ("RNDTLR", 620); - typeshor->SetItem ("STRTLR", 621); - typeshor->SetItem ("SRPRTL", 622); - typeshor->SetItem ("SYMTLR", 623); - typeshor->SetItem ("TTRNTL", 624); - typeshor->SetItem ("GMTTLR", 625); - typeshor->SetItem ("GMTLRL", 626); - typeshor->SetItem ("GTWDR", 627); - typeshor->SetItem ("MDGMTL", 628); - typeshor->SetItem ("DTMFTR", 630); - typeshor->SetItem ("DTMRFR", 631); - typeshor->SetItem ("CMMDTM", 632); - typeshor->SetItem ("DTMTRG", 633); - typeshor->SetItem ("PDT0", 634); - typeshor->SetItem ("MMWU",651); - typeshor->SetItem ("CNOFSY",661); - typeshor->SetItem ("GMTALG",662); - typeshor->SetItem ("PRPT",663); - typeshor->SetItem ("TNGNT",664); - typeshor->SetItem ("PRLOFF",665); - typeshor->SetItem ("GISU",666); - typeshor->SetItem ("IDATT",667); - typeshor->SetItem ("IIRU",668); - typeshor->SetItem ("GTWDU",674); - typeshor->SetItem ("PRZNDF",679); - typeshor->SetItem ("RNZNDF",680); - typeshor->SetItem ("RNZNOR",681); - typeshor->SetItem ("TLRZN",682); - typeshor->SetItem ("TLZNDF",683); - typeshor->SetItem ("TLZNFR",684); - typeshor->SetItem ("INRPIT",700); - typeshor->SetItem ("VLRPIT",701); - typeshor->SetItem ("DMIA", 703); - typeshor->SetItem ("ANNPLN", 704); - typeshor->SetItem ("CNGMRP", 712); - typeshor->SetItem ("CGRR", 713); + typeshor.Bind ("ACTION",413); + typeshor.Bind ("ACTASS",414); + typeshor.Bind ("ACTMTH",415); + typeshor.Bind ("ACRQAS",416); + typeshor.Bind ("CCDSAP",417); + typeshor.Bind ("CCDSCR",418); + typeshor.Bind ("CCDSCN",419); + typeshor.Bind ("CDDATA",420); + typeshor.Bind ("CDPAOA",421); + typeshor.Bind ("CDSC",422); + typeshor.Bind ("CDS",423); + typeshor.Bind ("CRTFCT",424); + typeshor.Bind ("CRTASS",425); + typeshor.Bind ("CRTTYP",426); + typeshor.Bind ("CHANGE",427); + typeshor.Bind ("CHNRQS",428); + typeshor.Bind ("CNFDSG",429); + typeshor.Bind ("CNFEFF",430); + typeshor.Bind ("CNTRCT",431); + typeshor.Bind ("CNTASS",432); + typeshor.Bind ("CNTTYP",433); + typeshor.Bind ("PRDCNC",434); + typeshor.Bind ("PRCNCN",435); + typeshor.Bind ("STRRQS",436); + typeshor.Bind ("STRWRK",437); + typeshor.Bind ("VRACRQ",438); + typeshor.Bind ("PRCTRL",439); + typeshor.Bind ("ACRQSL",440); + typeshor.Bind ("DRGMDL",441); + typeshor.Bind ("ANGLCT",442); + typeshor.Bind ("ANGSZ",443); + typeshor.Bind ("DMCHRP",444); + typeshor.Bind ("DMNLCT",445); + typeshor.Bind ("DLWP",446); + typeshor.Bind ("DMNSZ",447); + typeshor.Bind ("DSWP",448); + typeshor.Bind ("SHDMRP",449); + typeshor.Bind ("DCRPTY",450); + typeshor.Bind ("OBJRL",451); + typeshor.Bind ("RLASS",452); + typeshor.Bind ("IDNRL",453); + typeshor.Bind ("IDNASS",454); + typeshor.Bind ("EXIDAS",455); + typeshor.Bind ("EFFASS",456); + typeshor.Bind ("NMASS",457); + typeshor.Bind ("GNRPRP",458); + typeshor.Bind ("EDGP",461); + typeshor.Bind ("AEIA",462); + typeshor.Bind ("CMSHAS",470); + typeshor.Bind ("DRSHAS",471); + typeshor.Bind ("EXTNSN",472); + typeshor.Bind ("DRDMLC",473); + typeshor.Bind ("LMANFT",474); + typeshor.Bind ("TLRVL",475); + typeshor.Bind ("MSRQLF",476); + typeshor.Bind ("PLMNTL",477); + typeshor.Bind ("PRCQLF",478); + typeshor.Bind ("TYPQLF",479); + typeshor.Bind ("QLRPIT", 480); + typeshor.Bind ("CMRPIT", 482); + typeshor.Bind ("CMRPIT", 483); + typeshor.Bind ("CMS0", 485); + typeshor.Bind ("CNEDST", 486); + typeshor.Bind ("EBWM", 488); + typeshor.Bind ("EBWSR", 489); + typeshor.Bind ("NMSSR", 491); + typeshor.Bind ("ORNSRF", 492); + typeshor.Bind ("SBFC", 493); + typeshor.Bind ("SBDG", 494); + typeshor.Bind ("CFSS", 496); + typeshor.Bind ("MSSUNT", 501); + typeshor.Bind ("THTMUN", 502); + typeshor.Bind ("DTENV", 565); + typeshor.Bind ("MTPRRP", 566); + typeshor.Bind ("PRDFR", 567); + typeshor.Bind ("MTRPRP", 569); + typeshor.Bind ("PDFR", 573); + typeshor.Bind ("DCP1", 600); + typeshor.Bind ("DCPREQ", 601); +// typeshor.Bind (AngularLocation); +// typeshor.Bind (AngularSize); +// typeshor.Bind (DimensionalCharacteristicRepresentation); +// typeshor.Bind (DimensionalLocation); +// typeshor.Bind (DimensionalLocationWithPath); +// typeshor.Bind (DimensionalSize); +// typeshor.Bind (DimensionalSizeWithPath); +// typeshor.Bind (ShapeDimensionRepresentation); + typeshor.Bind ("CYLTLR", 609); + typeshor.Bind ("SRWP", 610); + typeshor.Bind ("ANGTLR", 611); + typeshor.Bind ("CNCTLR", 612); + typeshor.Bind ("CRRNTL", 613); + typeshor.Bind ("CXLTLR", 614); + typeshor.Bind ("FLTTLR", 615); + typeshor.Bind ("LNP0", 616); + typeshor.Bind ("PRLTLR", 617); + typeshor.Bind ("PRPTLR", 618); + typeshor.Bind ("PSTTLR", 619); + typeshor.Bind ("RNDTLR", 620); + typeshor.Bind ("STRTLR", 621); + typeshor.Bind ("SRPRTL", 622); + typeshor.Bind ("SYMTLR", 623); + typeshor.Bind ("TTRNTL", 624); + typeshor.Bind ("GMTTLR", 625); + typeshor.Bind ("GMTLRL", 626); + typeshor.Bind ("GTWDR", 627); + typeshor.Bind ("MDGMTL", 628); + typeshor.Bind ("DTMFTR", 630); + typeshor.Bind ("DTMRFR", 631); + typeshor.Bind ("CMMDTM", 632); + typeshor.Bind ("DTMTRG", 633); + typeshor.Bind ("PDT0", 634); + typeshor.Bind ("MMWU",651); + typeshor.Bind ("CNOFSY",661); + typeshor.Bind ("GMTALG",662); + typeshor.Bind ("PRPT",663); + typeshor.Bind ("TNGNT",664); + typeshor.Bind ("PRLOFF",665); + typeshor.Bind ("GISU",666); + typeshor.Bind ("IDATT",667); + typeshor.Bind ("IIRU",668); + typeshor.Bind ("GTWDU",674); + typeshor.Bind ("PRZNDF",679); + typeshor.Bind ("RNZNDF",680); + typeshor.Bind ("RNZNOR",681); + typeshor.Bind ("TLRZN",682); + typeshor.Bind ("TLZNDF",683); + typeshor.Bind ("TLZNFR",684); + typeshor.Bind ("INRPIT",700); + typeshor.Bind ("VLRPIT",701); + typeshor.Bind ("DMIA", 703); + typeshor.Bind ("ANNPLN", 704); + typeshor.Bind ("CNGMRP", 712); + typeshor.Bind ("CGRR", 713); } @@ -3242,10 +3238,9 @@ Standard_Integer RWStepAP214_ReadWriteModule::CaseStep // FMA - le 25-07-96 : Optimisation -> on teste en premier les types les plus // frequents dans le fichier cad geometry/topology Standard_Integer num; - if (key.IsEqual(Reco_CartesianPoint)) return 59; // car tres courant - if (typenums->GetItem (key,num)) return num; - if (typeshor->GetItem (key,num)) return num; // AJOUT DES TYPES COURTS + if (typenums.Find(key, num)) return num; + if (typeshor.Find(key, num)) return num; // AJOUT DES TYPES COURTS return 0; } @@ -3276,13 +3271,13 @@ Standard_Integer RWStepAP214_ReadWriteModule::CaseStep // Sinon, il faudrait sortir des routines Standard_Integer i,num = 0; for (i = 1; i <= NbComp; i ++) { - if (typeshor->HasItem (theTypes(i))) { num = 1; break; } + if (typeshor.IsBound(theTypes(i))) { num = 1; break; } } if (num > 0) { TColStd_SequenceOfAsciiString longs; for (i = 1; i <= NbComp; i ++) { - if (typeshor->GetItem (theTypes(i),num)) longs.Append (StepType(num)); - else longs.Append (theTypes(i)); + if (typeshor.Find (theTypes(i), num)) longs.Append(StepType(num)); + else longs.Append (theTypes(i)); } return CaseStep (longs); } diff --git a/src/STEPCAFControl/FILES b/src/STEPCAFControl/FILES index 82343b85de..2bf47657f2 100644 --- a/src/STEPCAFControl/FILES +++ b/src/STEPCAFControl/FILES @@ -14,17 +14,11 @@ STEPCAFControl_DataMapOfPDExternFile.hxx STEPCAFControl_DataMapOfSDRExternFile.hxx STEPCAFControl_DataMapOfShapePD.hxx STEPCAFControl_DataMapOfShapeSDR.hxx -STEPCAFControl_DictionaryOfExternFile.hxx -STEPCAFControl_DictionaryOfExternFile_0.cxx STEPCAFControl_ExternFile.cxx STEPCAFControl_ExternFile.hxx STEPCAFControl_ExternFile.lxx -STEPCAFControl_IteratorOfDictionaryOfExternFile.hxx -STEPCAFControl_IteratorOfDictionaryOfExternFile_0.cxx STEPCAFControl_Reader.cxx STEPCAFControl_Reader.hxx -STEPCAFControl_StackItemOfDictionaryOfExternFile.hxx -STEPCAFControl_StackItemOfDictionaryOfExternFile_0.cxx STEPCAFControl_Writer.cxx STEPCAFControl_Writer.hxx STEPCAFControl_GDTProperty.hxx diff --git a/src/STEPCAFControl/STEPCAFControl_DictionaryOfExternFile.hxx b/src/STEPCAFControl/STEPCAFControl_DictionaryOfExternFile.hxx deleted file mode 100644 index 62e4091ef0..0000000000 --- a/src/STEPCAFControl/STEPCAFControl_DictionaryOfExternFile.hxx +++ /dev/null @@ -1,209 +0,0 @@ -// Created on: 2000-04-09 -// Created by: Sergey MOZOKHIN -// Copyright (c) 2000-2014 OPEN CASCADE SAS -// -// This file is part of Open CASCADE Technology software library. -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License version 2.1 as published -// by the Free Software Foundation, with special exception defined in the file -// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT -// distribution for complete text of the license and disclaimer of any warranty. -// -// Alternatively, this file may be used under the terms of Open CASCADE -// commercial license or contractual agreement. - -#ifndef _STEPCAFControl_DictionaryOfExternFile_HeaderFile -#define _STEPCAFControl_DictionaryOfExternFile_HeaderFile - -#include -#include - -#include -#include -#include -#include -#include -#include -class STEPCAFControl_ExternFile; -class Standard_NoSuchObject; -class STEPCAFControl_IteratorOfDictionaryOfExternFile; -class STEPCAFControl_StackItemOfDictionaryOfExternFile; -class TCollection_AsciiString; - - -class STEPCAFControl_DictionaryOfExternFile; -DEFINE_STANDARD_HANDLE(STEPCAFControl_DictionaryOfExternFile, MMgt_TShared) - - -class STEPCAFControl_DictionaryOfExternFile : public MMgt_TShared -{ - -public: - - - //! Creates a Dictionary cell. - //! A Dictionary is always created then handled by its first cell - //! After creating a Dictionary, user can call methods HasItem, - //! Item, SetItem ... (internal cells and entries are also - //! defined as objects from the same class) - //! Also iteration can be made, by an Iterator on this Dictionary - Standard_EXPORT STEPCAFControl_DictionaryOfExternFile(); - - //! Returns True if an Item is bound to a Name in the Dictionnary - //! : if True, commands exact matching - //! if False, accept completion, only if ONE AND ONLY ONE - //! Dictionnary Entry has as beginning of its name - Standard_EXPORT Standard_Boolean HasItem (const Standard_CString name, const Standard_Boolean exact = Standard_False) const; - - //! Works as above method but accepts a String from TCollection - Standard_EXPORT Standard_Boolean HasItem (const TCollection_AsciiString& name, const Standard_Boolean exact = Standard_True) const; - - //! Returns item bound to a name in the Dictionnary - //! : same as for HasItem - Standard_EXPORT const Handle(STEPCAFControl_ExternFile)& Item (const Standard_CString name, const Standard_Boolean exact = Standard_True) const; - - //! Works as above method but accepts a String from TCollection - Standard_EXPORT const Handle(STEPCAFControl_ExternFile)& Item (const TCollection_AsciiString& name, const Standard_Boolean exact = Standard_True) const; - - //! Gathers HasItem and Item, in a less regular but faster way - //! If return is True, is returned too, else it is not - //! : same as for HasItem - Standard_EXPORT Standard_Boolean GetItem (const Standard_CString name, Handle(STEPCAFControl_ExternFile)& anitem, const Standard_Boolean exact = Standard_True) const; - - //! Works as above method but accepts a String from TCollection - Standard_EXPORT Standard_Boolean GetItem (const TCollection_AsciiString& name, Handle(STEPCAFControl_ExternFile)& anitem, const Standard_Boolean exact = Standard_True) const; - - //! Binds an item to a dictionnary entry - //! If is already known in the dictionary, its value - //! is changed. Else, the dictionary entry is created. - //! If is given False, completion is tried, it is accepted - //! If it gives a UNIQUE entry : hence this one will be modified - //! Else, new entry is created with the exact name given - Standard_EXPORT void SetItem (const Standard_CString name, const Handle(STEPCAFControl_ExternFile)& anitem, const Standard_Boolean exact = Standard_True); - - //! Works as above method but accepts a String from TCollection - Standard_EXPORT void SetItem (const TCollection_AsciiString& name, const Handle(STEPCAFControl_ExternFile)& anitem, const Standard_Boolean exact = Standard_True); - - //! Returns the Item AS AN ADDRESS which corresponds to a Name, - //! in order to be changed or set. - //! If this name is not yet recorded, the Dictionary creates it. - //! is returned True if the Item is recorded in the - //! Dictionary, False else, in that case the Item is reserved and - //! the name is noted as beeing valued now. - Standard_EXPORT Handle(STEPCAFControl_ExternFile)& NewItem (const Standard_CString name, Standard_Boolean& isvalued, const Standard_Boolean exact = Standard_True); - - //! Works as above method but accepts a String from TCollection - Standard_EXPORT Handle(STEPCAFControl_ExternFile)& NewItem (const TCollection_AsciiString& name, Standard_Boolean& isvalued, const Standard_Boolean exact = Standard_True); - - //! Removes a dictionary entry given by its name then Returns True - //! If the entry does not exists, Does nothing then Returns False - //! : as for HasItem, if completion works, the found entry - //! is removed (else returned value is False) - //! commands cleaning dictionary (to recover memory space) - //! For an isolated call, it is recommanded to give it at True - //! For a sequence of calls, rather give False, then call Clean - Standard_EXPORT Standard_Boolean RemoveItem (const Standard_CString name, const Standard_Boolean cln = Standard_True, const Standard_Boolean exact = Standard_True); - - //! Works as above method but accepts a String from TCollection - Standard_EXPORT Standard_Boolean RemoveItem (const TCollection_AsciiString& name, const Standard_Boolean cln = Standard_True, const Standard_Boolean exact = Standard_True); - - //! Deletes physically in one step the entries which were removed - //! (can be used for a more efficient Memory Management : first - //! Remove several Items ( = False), then Clean the Memory) - Standard_EXPORT void Clean(); - - //! Returns True if no Item is recorded - Standard_EXPORT Standard_Boolean IsEmpty() const; - - //! Clears all the Dictionary : all recorded Items are removed - Standard_EXPORT void Clear(); - - //! Copies the Dictionary as a Tree, without Copying the Items - Standard_EXPORT Handle(STEPCAFControl_DictionaryOfExternFile) Copy() const; - - //! Internal routine used for completion (returns True if success) - Standard_EXPORT Standard_Boolean Complete (Handle(STEPCAFControl_DictionaryOfExternFile)& acell) const; - - -friend class STEPCAFControl_IteratorOfDictionaryOfExternFile; - - - DEFINE_STANDARD_RTTI_INLINE(STEPCAFControl_DictionaryOfExternFile,MMgt_TShared) - -protected: - - - - -private: - - - //! Defines cell's character (internal use, to build dict. tree) - Standard_EXPORT void SetChar (const Standard_Character car); - - //! Returns True if this cell has a subcell - Standard_EXPORT Standard_Boolean HasSub() const; - - //! Returns subcell - Standard_EXPORT Handle(STEPCAFControl_DictionaryOfExternFile) Sub() const; - - //! Returns True if this cell has a next cell - Standard_EXPORT Standard_Boolean HasNext() const; - - //! Returns next cell - Standard_EXPORT Handle(STEPCAFControl_DictionaryOfExternFile) Next() const; - - //! Defines subcell - Standard_EXPORT void SetSub (const Handle(STEPCAFControl_DictionaryOfExternFile)& acell); - - //! Defines next cell - Standard_EXPORT void SetNext (const Handle(STEPCAFControl_DictionaryOfExternFile)& acell); - - //! Internal method used to get an entry from a given name - Standard_EXPORT void SearchCell (const Standard_CString name, const Standard_Size lmax, const Standard_Character car, const Standard_Size level, Handle(STEPCAFControl_DictionaryOfExternFile)& acell, Standard_Size& reslev, Standard_Integer& stat) const; - - //! Internal method used to create a new entry for a name - Standard_EXPORT void NewCell (const Standard_CString name, const Standard_Size namlen, Handle(STEPCAFControl_DictionaryOfExternFile)& acell, const Standard_Size reslev, const Standard_Integer stat); - - //! Returns True if a cell has an associated item value - Standard_EXPORT Standard_Boolean HasIt() const; - - //! Returns item value associated to a cell - Standard_EXPORT const Handle(STEPCAFControl_ExternFile)& It() const; - - //! Returns item address associated to a cell - Standard_EXPORT Handle(STEPCAFControl_ExternFile)& ItAdr(); - - //! Binds an item value to a cell - Standard_EXPORT void SetIt (const Handle(STEPCAFControl_ExternFile)& anitem); - - //! Declares a cell as Valued : used by NewItem (when an Item - //! is created if it did not exist and is returned) - Standard_EXPORT void DeclIt(); - - //! Removes item bound to a cell (cancels effect of DeclIt) - Standard_EXPORT void RemoveIt(); - - //! Returns cell's character as a node feature - Standard_EXPORT Standard_Character CellChar() const; - - //! Performs Copy from an original to - //! Called by Copy - Standard_EXPORT void GetCopied (const Handle(STEPCAFControl_DictionaryOfExternFile)& fromcell); - - Standard_Character thecars[4]; - Handle(STEPCAFControl_DictionaryOfExternFile) thesub; - Handle(STEPCAFControl_DictionaryOfExternFile) thenext; - Handle(STEPCAFControl_ExternFile) theitem; - - -}; - - - - - - - -#endif // _STEPCAFControl_DictionaryOfExternFile_HeaderFile diff --git a/src/STEPCAFControl/STEPCAFControl_DictionaryOfExternFile_0.cxx b/src/STEPCAFControl/STEPCAFControl_DictionaryOfExternFile_0.cxx deleted file mode 100644 index feed9c4454..0000000000 --- a/src/STEPCAFControl/STEPCAFControl_DictionaryOfExternFile_0.cxx +++ /dev/null @@ -1,47 +0,0 @@ -// Created on: 2000-04-09 -// Created by: Sergey MOZOKHIN -// Copyright (c) 2000-2014 OPEN CASCADE SAS -// -// This file is part of Open CASCADE Technology software library. -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License version 2.1 as published -// by the Free Software Foundation, with special exception defined in the file -// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT -// distribution for complete text of the license and disclaimer of any warranty. -// -// Alternatively, this file may be used under the terms of Open CASCADE -// commercial license or contractual agreement. - -#include - -#include - -#include -#include -#include -#include -#include -#include - - - - - - - - - - -#define TheItem Handle(STEPCAFControl_ExternFile) -#define TheItem_hxx -#define Dico_Iterator STEPCAFControl_IteratorOfDictionaryOfExternFile -#define Dico_Iterator_hxx -#define Dico_StackItem STEPCAFControl_StackItemOfDictionaryOfExternFile -#define Dico_StackItem_hxx -#define Handle_Dico_StackItem Handle(STEPCAFControl_StackItemOfDictionaryOfExternFile) -#define Dico_Dictionary STEPCAFControl_DictionaryOfExternFile -#define Dico_Dictionary_hxx -#define Handle_Dico_Dictionary Handle(STEPCAFControl_DictionaryOfExternFile) -#include - diff --git a/src/STEPCAFControl/STEPCAFControl_IteratorOfDictionaryOfExternFile.hxx b/src/STEPCAFControl/STEPCAFControl_IteratorOfDictionaryOfExternFile.hxx deleted file mode 100644 index f3eda980a2..0000000000 --- a/src/STEPCAFControl/STEPCAFControl_IteratorOfDictionaryOfExternFile.hxx +++ /dev/null @@ -1,103 +0,0 @@ -// Created on: 2000-04-09 -// Created by: Sergey MOZOKHIN -// Copyright (c) 2000-2014 OPEN CASCADE SAS -// -// This file is part of Open CASCADE Technology software library. -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License version 2.1 as published -// by the Free Software Foundation, with special exception defined in the file -// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT -// distribution for complete text of the license and disclaimer of any warranty. -// -// Alternatively, this file may be used under the terms of Open CASCADE -// commercial license or contractual agreement. - -#ifndef _STEPCAFControl_IteratorOfDictionaryOfExternFile_HeaderFile -#define _STEPCAFControl_IteratorOfDictionaryOfExternFile_HeaderFile - -#include -#include -#include - -#include -#include -#include -#include -class STEPCAFControl_DictionaryOfExternFile; -class STEPCAFControl_StackItemOfDictionaryOfExternFile; -class Standard_NoSuchObject; -class STEPCAFControl_ExternFile; -class TCollection_AsciiString; - - - -class STEPCAFControl_IteratorOfDictionaryOfExternFile -{ -public: - - DEFINE_STANDARD_ALLOC - - - //! Creates an iterator which will work on all the dictionary - Standard_EXPORT STEPCAFControl_IteratorOfDictionaryOfExternFile(const Handle(STEPCAFControl_DictionaryOfExternFile)& acell); - - //! Creates an iterator which will consider only entries - //! which name begin by the string given as basename (subpart) - Standard_EXPORT STEPCAFControl_IteratorOfDictionaryOfExternFile(const Handle(STEPCAFControl_DictionaryOfExternFile)& acell, const Standard_CString basename); - - //! Creates an iterator which will consider only entries - //! which name begin by the string given as basename (subpart) - //! Same as above, but basename is String instead of CString - Standard_EXPORT STEPCAFControl_IteratorOfDictionaryOfExternFile(const Handle(STEPCAFControl_DictionaryOfExternFile)& acell, const TCollection_AsciiString& basename); - - //! Allows to Start a new Iteration from beginning - Standard_EXPORT void Start(); - - //! Returns True if there are more entries to return - Standard_EXPORT Standard_Boolean More(); - - //! Go to the next entry - //! (if there is not, Value will raise an exception) - Standard_EXPORT void Next(); - - //! Returns item value of current entry - Standard_EXPORT const Handle(STEPCAFControl_ExternFile)& Value() const; - - //! Returns name of current entry - Standard_EXPORT TCollection_AsciiString Name() const; - - - - -protected: - - - - - -private: - - - //! Appends a new value to the Iteration Stack - Standard_EXPORT void AppendStack (const Handle(STEPCAFControl_DictionaryOfExternFile)& val); - - - Handle(STEPCAFControl_DictionaryOfExternFile) thebase; - TCollection_AsciiString thename; - Handle(STEPCAFControl_StackItemOfDictionaryOfExternFile) thelast; - Standard_Integer thenb; - Standard_Boolean themore; - Standard_Boolean theinit; - Standard_Boolean thenext; - - -}; - - - - - - - -#endif // _STEPCAFControl_IteratorOfDictionaryOfExternFile_HeaderFile diff --git a/src/STEPCAFControl/STEPCAFControl_IteratorOfDictionaryOfExternFile_0.cxx b/src/STEPCAFControl/STEPCAFControl_IteratorOfDictionaryOfExternFile_0.cxx deleted file mode 100644 index f9770971c5..0000000000 --- a/src/STEPCAFControl/STEPCAFControl_IteratorOfDictionaryOfExternFile_0.cxx +++ /dev/null @@ -1,36 +0,0 @@ -// Created on: 2000-04-09 -// Created by: Sergey MOZOKHIN -// Copyright (c) 2000-2014 OPEN CASCADE SAS -// -// This file is part of Open CASCADE Technology software library. -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License version 2.1 as published -// by the Free Software Foundation, with special exception defined in the file -// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT -// distribution for complete text of the license and disclaimer of any warranty. -// -// Alternatively, this file may be used under the terms of Open CASCADE -// commercial license or contractual agreement. - -#include - -#include -#include -#include -#include -#include - - -#define TheItem Handle(STEPCAFControl_ExternFile) -#define TheItem_hxx -#define Dico_Iterator STEPCAFControl_IteratorOfDictionaryOfExternFile -#define Dico_Iterator_hxx -#define Dico_StackItem STEPCAFControl_StackItemOfDictionaryOfExternFile -#define Dico_StackItem_hxx -#define Handle_Dico_StackItem Handle(STEPCAFControl_StackItemOfDictionaryOfExternFile) -#define Dico_Dictionary STEPCAFControl_DictionaryOfExternFile -#define Dico_Dictionary_hxx -#define Handle_Dico_Dictionary Handle(STEPCAFControl_DictionaryOfExternFile) -#include - diff --git a/src/STEPCAFControl/STEPCAFControl_Reader.cxx b/src/STEPCAFControl/STEPCAFControl_Reader.cxx index 99665f2834..1a22acf516 100644 --- a/src/STEPCAFControl/STEPCAFControl_Reader.cxx +++ b/src/STEPCAFControl/STEPCAFControl_Reader.cxx @@ -44,7 +44,6 @@ #include #include #include -#include #include #include #include @@ -322,7 +321,6 @@ STEPCAFControl_Reader::STEPCAFControl_Reader (): myMatMode ( Standard_True ) { STEPCAFControl_Controller::Init(); - myFiles = new STEPCAFControl_DictionaryOfExternFile; } @@ -356,7 +354,7 @@ void STEPCAFControl_Reader::Init (const Handle(XSControl_WorkSession)& WS, { // necessary only in Writer, to set good actor: WS->SelectNorm ( "STEP" ); myReader.SetWS (WS,scratch); - myFiles = new STEPCAFControl_DictionaryOfExternFile; + myFiles.Clear(); } @@ -438,7 +436,7 @@ Standard_Boolean STEPCAFControl_Reader::Perform (const TCollection_AsciiString & //purpose : //======================================================================= -const Handle(STEPCAFControl_DictionaryOfExternFile) &STEPCAFControl_Reader::ExternFiles () const +const NCollection_DataMap& STEPCAFControl_Reader::ExternFiles () const { return myFiles; } @@ -453,9 +451,9 @@ Standard_Boolean STEPCAFControl_Reader::ExternFile (const Standard_CString name, Handle(STEPCAFControl_ExternFile) &ef) const { ef.Nullify(); - if ( myFiles.IsNull() || ! myFiles->HasItem ( name ) ) + if ( myFiles.IsEmpty() || !myFiles.IsBound ( name ) ) return Standard_False; - ef = myFiles->Item ( name ); + ef = myFiles.Find ( name ); return Standard_True; } @@ -800,8 +798,8 @@ Handle(STEPCAFControl_ExternFile) STEPCAFControl_Reader::ReadExternFile (const S Handle(TDocStd_Document)& doc) { // if the file is already read, associate it with SDR - if ( myFiles->HasItem ( file, Standard_True ) ) { - return myFiles->Item ( file ); + if ( myFiles.IsBound ( file ) ) { + return myFiles.ChangeFind ( file ); } #ifdef OCCT_DEBUG @@ -829,7 +827,7 @@ Handle(STEPCAFControl_ExternFile) STEPCAFControl_Reader::ReadExternFile (const S } // add read file to dictionary - myFiles->SetItem ( file, EF ); + myFiles.Bind( file, EF ); return EF; } diff --git a/src/STEPCAFControl/STEPCAFControl_Reader.hxx b/src/STEPCAFControl/STEPCAFControl_Reader.hxx index 0cd42c9f72..07e9eb55ea 100644 --- a/src/STEPCAFControl/STEPCAFControl_Reader.hxx +++ b/src/STEPCAFControl/STEPCAFControl_Reader.hxx @@ -31,7 +31,6 @@ #include #include #include -class STEPCAFControl_DictionaryOfExternFile; class XSControl_WorkSession; class TDocStd_Document; class TCollection_AsciiString; @@ -104,7 +103,7 @@ public: //! Returns data on external files //! Returns Null handle if no external files are read - Standard_EXPORT const Handle(STEPCAFControl_DictionaryOfExternFile)& ExternFiles() const; + Standard_EXPORT const NCollection_DataMap & ExternFiles() const; //! Returns data on external file by its name //! Returns False if no external file with given name is read @@ -242,7 +241,7 @@ private: STEPControl_Reader myReader; - Handle(STEPCAFControl_DictionaryOfExternFile) myFiles; + NCollection_DataMap myFiles; Standard_Boolean myColorMode; Standard_Boolean myNameMode; Standard_Boolean myLayerMode; diff --git a/src/STEPCAFControl/STEPCAFControl_StackItemOfDictionaryOfExternFile.hxx b/src/STEPCAFControl/STEPCAFControl_StackItemOfDictionaryOfExternFile.hxx deleted file mode 100644 index 935d7fb3d4..0000000000 --- a/src/STEPCAFControl/STEPCAFControl_StackItemOfDictionaryOfExternFile.hxx +++ /dev/null @@ -1,78 +0,0 @@ -// Created on: 2000-04-09 -// Created by: Sergey MOZOKHIN -// Copyright (c) 2000-2014 OPEN CASCADE SAS -// -// This file is part of Open CASCADE Technology software library. -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License version 2.1 as published -// by the Free Software Foundation, with special exception defined in the file -// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT -// distribution for complete text of the license and disclaimer of any warranty. -// -// Alternatively, this file may be used under the terms of Open CASCADE -// commercial license or contractual agreement. - -#ifndef _STEPCAFControl_StackItemOfDictionaryOfExternFile_HeaderFile -#define _STEPCAFControl_StackItemOfDictionaryOfExternFile_HeaderFile - -#include -#include - -#include -class STEPCAFControl_DictionaryOfExternFile; -class STEPCAFControl_ExternFile; -class STEPCAFControl_IteratorOfDictionaryOfExternFile; - - -class STEPCAFControl_StackItemOfDictionaryOfExternFile; -DEFINE_STANDARD_HANDLE(STEPCAFControl_StackItemOfDictionaryOfExternFile, MMgt_TShared) - - -class STEPCAFControl_StackItemOfDictionaryOfExternFile : public MMgt_TShared -{ - -public: - - - //! Creates a StackItem with no Previous one - Standard_EXPORT STEPCAFControl_StackItemOfDictionaryOfExternFile(); - - //! Creates a StackItem with a Previous one - Standard_EXPORT STEPCAFControl_StackItemOfDictionaryOfExternFile(const Handle(STEPCAFControl_StackItemOfDictionaryOfExternFile)& previous); - - //! Returns the Previous Item (is Null if no Previous defined) - Standard_EXPORT Handle(STEPCAFControl_StackItemOfDictionaryOfExternFile) Previous() const; - - //! Returns the Dictionary Cell corresponding to an Item - Standard_EXPORT Handle(STEPCAFControl_DictionaryOfExternFile) Value() const; - - //! Sets a new Dictionary Cell as Value of an Item - Standard_EXPORT void SetValue (const Handle(STEPCAFControl_DictionaryOfExternFile)& cval); - - - - - DEFINE_STANDARD_RTTI_INLINE(STEPCAFControl_StackItemOfDictionaryOfExternFile,MMgt_TShared) - -protected: - - - - -private: - - - Handle(STEPCAFControl_DictionaryOfExternFile) thevalue; - Handle(STEPCAFControl_StackItemOfDictionaryOfExternFile) theprev; - - -}; - - - - - - - -#endif // _STEPCAFControl_StackItemOfDictionaryOfExternFile_HeaderFile diff --git a/src/STEPCAFControl/STEPCAFControl_StackItemOfDictionaryOfExternFile_0.cxx b/src/STEPCAFControl/STEPCAFControl_StackItemOfDictionaryOfExternFile_0.cxx deleted file mode 100644 index 564c58da09..0000000000 --- a/src/STEPCAFControl/STEPCAFControl_StackItemOfDictionaryOfExternFile_0.cxx +++ /dev/null @@ -1,45 +0,0 @@ -// Created on: 2000-04-09 -// Created by: Sergey MOZOKHIN -// Copyright (c) 2000-2014 OPEN CASCADE SAS -// -// This file is part of Open CASCADE Technology software library. -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License version 2.1 as published -// by the Free Software Foundation, with special exception defined in the file -// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT -// distribution for complete text of the license and disclaimer of any warranty. -// -// Alternatively, this file may be used under the terms of Open CASCADE -// commercial license or contractual agreement. - -#include - -#include - -#include -#include -#include -#include - - - - - - - - - - -#define TheItem Handle(STEPCAFControl_ExternFile) -#define TheItem_hxx -#define Dico_Iterator STEPCAFControl_IteratorOfDictionaryOfExternFile -#define Dico_Iterator_hxx -#define Dico_StackItem STEPCAFControl_StackItemOfDictionaryOfExternFile -#define Dico_StackItem_hxx -#define Handle_Dico_StackItem Handle(STEPCAFControl_StackItemOfDictionaryOfExternFile) -#define Dico_Dictionary STEPCAFControl_DictionaryOfExternFile -#define Dico_Dictionary_hxx -#define Handle_Dico_Dictionary Handle(STEPCAFControl_DictionaryOfExternFile) -#include - diff --git a/src/STEPCAFControl/STEPCAFControl_Writer.cxx b/src/STEPCAFControl/STEPCAFControl_Writer.cxx index b5b4f3e447..708e3e7299 100644 --- a/src/STEPCAFControl/STEPCAFControl_Writer.cxx +++ b/src/STEPCAFControl/STEPCAFControl_Writer.cxx @@ -47,9 +47,7 @@ #include #include #include -#include #include -#include #include #include #include @@ -317,7 +315,7 @@ void STEPCAFControl_Writer::Init (const Handle(XSControl_WorkSession)& WS, { WS->SelectNorm ( "STEP" ); myWriter.SetWS (WS,scratch); - myFiles = new STEPCAFControl_DictionaryOfExternFile; + myFiles.Clear(); myLabEF.Clear(); myLabels.Clear(); } @@ -339,7 +337,7 @@ IFSelect_ReturnStatus STEPCAFControl_Writer::Write (const Standard_CString filen TCollection_AsciiString dpath; mainfile.SystemName ( dpath ); - STEPCAFControl_IteratorOfDictionaryOfExternFile it ( myFiles ); + NCollection_DataMap::Iterator it(myFiles); for ( ; it.More(); it.Next() ) { Handle(STEPCAFControl_ExternFile) EF = it.Value(); if ( EF->GetWriteStatus() != IFSelect_RetVoid ) continue; @@ -433,7 +431,7 @@ Standard_Boolean STEPCAFControl_Writer::Perform (const Handle(TDocStd_Document) //purpose : //======================================================================= -const Handle(STEPCAFControl_DictionaryOfExternFile) &STEPCAFControl_Writer::ExternFiles () const +const NCollection_DataMap& STEPCAFControl_Writer::ExternFiles () const { return myFiles; } @@ -463,9 +461,9 @@ Standard_Boolean STEPCAFControl_Writer::ExternFile (const Standard_CString name, Handle(STEPCAFControl_ExternFile) &ef) const { ef.Nullify(); - if ( ! myFiles.IsNull() || ! myFiles->HasItem ( name ) ) + if ( ! myFiles.IsEmpty() || ! myFiles.IsBound ( name ) ) return Standard_False; - ef = myFiles->Item ( name ); + ef = myFiles.Find( name ); return Standard_True; } @@ -741,13 +739,13 @@ TopoDS_Shape STEPCAFControl_Writer::TransferExternFiles (const TDF_Label &L, GetLabelName ( L, basename ); Handle(TCollection_HAsciiString) name = new TCollection_HAsciiString ( basename ); name->AssignCat ( ".stp" ); - if ( myFiles->HasItem ( name->ToCString() ) ) { // avoid confusions + if ( myFiles.IsBound( name->ToCString() ) ) { // avoid confusions for ( Standard_Integer k=1; k < 32000; k++ ) { - name = new TCollection_HAsciiString ( basename ); - name->AssignCat ( "_" ); - name->AssignCat ( TCollection_AsciiString ( k ).ToCString() ); - name->AssignCat ( ".stp" ); - if ( ! myFiles->HasItem ( name->ToCString() ) ) break; + name = new TCollection_HAsciiString ( basename ); + name->AssignCat ( "_" ); + name->AssignCat ( TCollection_AsciiString ( k ).ToCString() ); + name->AssignCat ( ".stp" ); + if ( ! myFiles.IsBound ( name->ToCString() ) ) break; } } @@ -762,7 +760,7 @@ TopoDS_Shape STEPCAFControl_Writer::TransferExternFiles (const TDF_Label &L, EF->SetTransferStatus ( Transfer ( sw, Lseq, mode, multi, Standard_True ) ); Interface_Static::SetIVal ("write.step.assembly", assemblymode); myLabEF.Bind ( L, EF ); - myFiles->SetItem ( name->ToCString(), EF ); + myFiles.Bind ( name->ToCString(), EF ); // return empty compound as replacement for the shape myLabels.Bind ( L, C ); diff --git a/src/STEPCAFControl/STEPCAFControl_Writer.hxx b/src/STEPCAFControl/STEPCAFControl_Writer.hxx index 4223f2aa15..9a1db4d95d 100644 --- a/src/STEPCAFControl/STEPCAFControl_Writer.hxx +++ b/src/STEPCAFControl/STEPCAFControl_Writer.hxx @@ -29,7 +29,6 @@ #include #include #include -class STEPCAFControl_DictionaryOfExternFile; class XSControl_WorkSession; class TDocStd_Document; class TDF_Label; @@ -91,7 +90,7 @@ public: //! Returns data on external files //! Returns Null handle if no external files are read - Standard_EXPORT const Handle(STEPCAFControl_DictionaryOfExternFile)& ExternFiles() const; + Standard_EXPORT const NCollection_DataMap& ExternFiles() const; //! Returns data on external file by its original label //! Returns False if no external file with given name is read @@ -197,7 +196,7 @@ private: STEPControl_Writer myWriter; - Handle(STEPCAFControl_DictionaryOfExternFile) myFiles; + NCollection_DataMap myFiles; STEPCAFControl_DataMapOfLabelShape myLabels; STEPCAFControl_DataMapOfLabelExternFile myLabEF; Standard_Boolean myColorMode; diff --git a/src/ShapeProcess/FILES b/src/ShapeProcess/FILES index 4df6697807..129e7ea70b 100755 --- a/src/ShapeProcess/FILES +++ b/src/ShapeProcess/FILES @@ -2,10 +2,6 @@ ShapeProcess.cxx ShapeProcess.hxx ShapeProcess_Context.cxx ShapeProcess_Context.hxx -ShapeProcess_DictionaryOfOperator.hxx -ShapeProcess_DictionaryOfOperator_0.cxx -ShapeProcess_IteratorOfDictionaryOfOperator.hxx -ShapeProcess_IteratorOfDictionaryOfOperator_0.cxx ShapeProcess_Operator.cxx ShapeProcess_Operator.hxx ShapeProcess_OperFunc.hxx @@ -13,7 +9,5 @@ ShapeProcess_OperLibrary.cxx ShapeProcess_OperLibrary.hxx ShapeProcess_ShapeContext.cxx ShapeProcess_ShapeContext.hxx -ShapeProcess_StackItemOfDictionaryOfOperator.hxx -ShapeProcess_StackItemOfDictionaryOfOperator_0.cxx ShapeProcess_UOperator.cxx ShapeProcess_UOperator.hxx diff --git a/src/ShapeProcess/ShapeProcess.cxx b/src/ShapeProcess/ShapeProcess.cxx index 5eba8fa031..968aaa325e 100644 --- a/src/ShapeProcess/ShapeProcess.cxx +++ b/src/ShapeProcess/ShapeProcess.cxx @@ -13,20 +13,18 @@ // Alternatively, this file may be used under the terms of Open CASCADE // commercial license or contractual agreement. - +#include #include #include #include #include -#include #include #include #include #include #include -static Handle(ShapeProcess_DictionaryOfOperator) dic; - +static NCollection_DataMap aMapOfOperators; //======================================================================= //function : RegisterOperator //purpose : @@ -35,14 +33,13 @@ static Handle(ShapeProcess_DictionaryOfOperator) dic; Standard_Boolean ShapeProcess::RegisterOperator (const Standard_CString name, const Handle(ShapeProcess_Operator)& op) { - if ( dic.IsNull() ) dic = new ShapeProcess_DictionaryOfOperator; - if ( dic->HasItem ( name, Standard_True ) ) { + if (aMapOfOperators.IsBound(name)) { #ifdef OCCT_DEBUG cout << "Warning: operator with name " << name << " is already registered!" << endl; #endif return Standard_False; } - dic->SetItem ( name, op ); + aMapOfOperators.Bind( name, op ); return Standard_True; } @@ -54,14 +51,13 @@ Standard_Boolean ShapeProcess::RegisterOperator (const Standard_CString name, Standard_Boolean ShapeProcess::FindOperator (const Standard_CString name, Handle(ShapeProcess_Operator)& op) { - if ( dic.IsNull() ) dic = new ShapeProcess_DictionaryOfOperator; - if ( ! dic->HasItem ( name, Standard_True ) ) { + if (!aMapOfOperators.IsBound(name)) { #ifdef OCCT_DEBUG cout << "Error: no operator with name " << name << " registered!" << endl; #endif return Standard_False; } - op = dic->Item ( name ); + op = aMapOfOperators.ChangeFind(name); return !op.IsNull(); } diff --git a/src/ShapeProcess/ShapeProcess.hxx b/src/ShapeProcess/ShapeProcess.hxx index a228e7ddaa..bfd54fef5d 100644 --- a/src/ShapeProcess/ShapeProcess.hxx +++ b/src/ShapeProcess/ShapeProcess.hxx @@ -29,10 +29,6 @@ class ShapeProcess_ShapeContext; class ShapeProcess_Operator; class ShapeProcess_UOperator; class ShapeProcess_OperLibrary; -class ShapeProcess_DictionaryOfOperator; -class ShapeProcess_IteratorOfDictionaryOfOperator; -class ShapeProcess_StackItemOfDictionaryOfOperator; - //! Shape Processing module //! allows to define and apply general Shape Processing as a @@ -77,9 +73,6 @@ friend class ShapeProcess_ShapeContext; friend class ShapeProcess_Operator; friend class ShapeProcess_UOperator; friend class ShapeProcess_OperLibrary; -friend class ShapeProcess_DictionaryOfOperator; -friend class ShapeProcess_IteratorOfDictionaryOfOperator; -friend class ShapeProcess_StackItemOfDictionaryOfOperator; }; diff --git a/src/ShapeProcess/ShapeProcess_DictionaryOfOperator.hxx b/src/ShapeProcess/ShapeProcess_DictionaryOfOperator.hxx deleted file mode 100644 index b6b8840fca..0000000000 --- a/src/ShapeProcess/ShapeProcess_DictionaryOfOperator.hxx +++ /dev/null @@ -1,209 +0,0 @@ -// Created on: 2000-08-21 -// Created by: Andrey BETENEV -// Copyright (c) 2000-2014 OPEN CASCADE SAS -// -// This file is part of Open CASCADE Technology software library. -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License version 2.1 as published -// by the Free Software Foundation, with special exception defined in the file -// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT -// distribution for complete text of the license and disclaimer of any warranty. -// -// Alternatively, this file may be used under the terms of Open CASCADE -// commercial license or contractual agreement. - -#ifndef _ShapeProcess_DictionaryOfOperator_HeaderFile -#define _ShapeProcess_DictionaryOfOperator_HeaderFile - -#include -#include - -#include -#include -#include -#include -#include -#include -class ShapeProcess_Operator; -class Standard_NoSuchObject; -class ShapeProcess_IteratorOfDictionaryOfOperator; -class ShapeProcess_StackItemOfDictionaryOfOperator; -class TCollection_AsciiString; - - -class ShapeProcess_DictionaryOfOperator; -DEFINE_STANDARD_HANDLE(ShapeProcess_DictionaryOfOperator, MMgt_TShared) - - -class ShapeProcess_DictionaryOfOperator : public MMgt_TShared -{ - -public: - - - //! Creates a Dictionary cell. - //! A Dictionary is always created then handled by its first cell - //! After creating a Dictionary, user can call methods HasItem, - //! Item, SetItem ... (internal cells and entries are also - //! defined as objects from the same class) - //! Also iteration can be made, by an Iterator on this Dictionary - Standard_EXPORT ShapeProcess_DictionaryOfOperator(); - - //! Returns True if an Item is bound to a Name in the Dictionnary - //! : if True, commands exact matching - //! if False, accept completion, only if ONE AND ONLY ONE - //! Dictionnary Entry has as beginning of its name - Standard_EXPORT Standard_Boolean HasItem (const Standard_CString name, const Standard_Boolean exact = Standard_False) const; - - //! Works as above method but accepts a String from TCollection - Standard_EXPORT Standard_Boolean HasItem (const TCollection_AsciiString& name, const Standard_Boolean exact = Standard_True) const; - - //! Returns item bound to a name in the Dictionnary - //! : same as for HasItem - Standard_EXPORT const Handle(ShapeProcess_Operator)& Item (const Standard_CString name, const Standard_Boolean exact = Standard_True) const; - - //! Works as above method but accepts a String from TCollection - Standard_EXPORT const Handle(ShapeProcess_Operator)& Item (const TCollection_AsciiString& name, const Standard_Boolean exact = Standard_True) const; - - //! Gathers HasItem and Item, in a less regular but faster way - //! If return is True, is returned too, else it is not - //! : same as for HasItem - Standard_EXPORT Standard_Boolean GetItem (const Standard_CString name, Handle(ShapeProcess_Operator)& anitem, const Standard_Boolean exact = Standard_True) const; - - //! Works as above method but accepts a String from TCollection - Standard_EXPORT Standard_Boolean GetItem (const TCollection_AsciiString& name, Handle(ShapeProcess_Operator)& anitem, const Standard_Boolean exact = Standard_True) const; - - //! Binds an item to a dictionnary entry - //! If is already known in the dictionary, its value - //! is changed. Else, the dictionary entry is created. - //! If is given False, completion is tried, it is accepted - //! If it gives a UNIQUE entry : hence this one will be modified - //! Else, new entry is created with the exact name given - Standard_EXPORT void SetItem (const Standard_CString name, const Handle(ShapeProcess_Operator)& anitem, const Standard_Boolean exact = Standard_True); - - //! Works as above method but accepts a String from TCollection - Standard_EXPORT void SetItem (const TCollection_AsciiString& name, const Handle(ShapeProcess_Operator)& anitem, const Standard_Boolean exact = Standard_True); - - //! Returns the Item AS AN ADDRESS which corresponds to a Name, - //! in order to be changed or set. - //! If this name is not yet recorded, the Dictionary creates it. - //! is returned True if the Item is recorded in the - //! Dictionary, False else, in that case the Item is reserved and - //! the name is noted as beeing valued now. - Standard_EXPORT Handle(ShapeProcess_Operator)& NewItem (const Standard_CString name, Standard_Boolean& isvalued, const Standard_Boolean exact = Standard_True); - - //! Works as above method but accepts a String from TCollection - Standard_EXPORT Handle(ShapeProcess_Operator)& NewItem (const TCollection_AsciiString& name, Standard_Boolean& isvalued, const Standard_Boolean exact = Standard_True); - - //! Removes a dictionary entry given by its name then Returns True - //! If the entry does not exists, Does nothing then Returns False - //! : as for HasItem, if completion works, the found entry - //! is removed (else returned value is False) - //! commands cleaning dictionary (to recover memory space) - //! For an isolated call, it is recommanded to give it at True - //! For a sequence of calls, rather give False, then call Clean - Standard_EXPORT Standard_Boolean RemoveItem (const Standard_CString name, const Standard_Boolean cln = Standard_True, const Standard_Boolean exact = Standard_True); - - //! Works as above method but accepts a String from TCollection - Standard_EXPORT Standard_Boolean RemoveItem (const TCollection_AsciiString& name, const Standard_Boolean cln = Standard_True, const Standard_Boolean exact = Standard_True); - - //! Deletes physically in one step the entries which were removed - //! (can be used for a more efficient Memory Management : first - //! Remove several Items ( = False), then Clean the Memory) - Standard_EXPORT void Clean(); - - //! Returns True if no Item is recorded - Standard_EXPORT Standard_Boolean IsEmpty() const; - - //! Clears all the Dictionary : all recorded Items are removed - Standard_EXPORT void Clear(); - - //! Copies the Dictionary as a Tree, without Copying the Items - Standard_EXPORT Handle(ShapeProcess_DictionaryOfOperator) Copy() const; - - //! Internal routine used for completion (returns True if success) - Standard_EXPORT Standard_Boolean Complete (Handle(ShapeProcess_DictionaryOfOperator)& acell) const; - - -friend class ShapeProcess_IteratorOfDictionaryOfOperator; - - - DEFINE_STANDARD_RTTI_INLINE(ShapeProcess_DictionaryOfOperator,MMgt_TShared) - -protected: - - - - -private: - - - //! Defines cell's character (internal use, to build dict. tree) - Standard_EXPORT void SetChar (const Standard_Character car); - - //! Returns True if this cell has a subcell - Standard_EXPORT Standard_Boolean HasSub() const; - - //! Returns subcell - Standard_EXPORT Handle(ShapeProcess_DictionaryOfOperator) Sub() const; - - //! Returns True if this cell has a next cell - Standard_EXPORT Standard_Boolean HasNext() const; - - //! Returns next cell - Standard_EXPORT Handle(ShapeProcess_DictionaryOfOperator) Next() const; - - //! Defines subcell - Standard_EXPORT void SetSub (const Handle(ShapeProcess_DictionaryOfOperator)& acell); - - //! Defines next cell - Standard_EXPORT void SetNext (const Handle(ShapeProcess_DictionaryOfOperator)& acell); - - //! Internal method used to get an entry from a given name - Standard_EXPORT void SearchCell (const Standard_CString name, const Standard_Size lmax, const Standard_Character car, const Standard_Size level, Handle(ShapeProcess_DictionaryOfOperator)& acell, Standard_Size& reslev, Standard_Integer& stat) const; - - //! Internal method used to create a new entry for a name - Standard_EXPORT void NewCell (const Standard_CString name, const Standard_Size namlen, Handle(ShapeProcess_DictionaryOfOperator)& acell, const Standard_Size reslev, const Standard_Integer stat); - - //! Returns True if a cell has an associated item value - Standard_EXPORT Standard_Boolean HasIt() const; - - //! Returns item value associated to a cell - Standard_EXPORT const Handle(ShapeProcess_Operator)& It() const; - - //! Returns item address associated to a cell - Standard_EXPORT Handle(ShapeProcess_Operator)& ItAdr(); - - //! Binds an item value to a cell - Standard_EXPORT void SetIt (const Handle(ShapeProcess_Operator)& anitem); - - //! Declares a cell as Valued : used by NewItem (when an Item - //! is created if it did not exist and is returned) - Standard_EXPORT void DeclIt(); - - //! Removes item bound to a cell (cancels effect of DeclIt) - Standard_EXPORT void RemoveIt(); - - //! Returns cell's character as a node feature - Standard_EXPORT Standard_Character CellChar() const; - - //! Performs Copy from an original to - //! Called by Copy - Standard_EXPORT void GetCopied (const Handle(ShapeProcess_DictionaryOfOperator)& fromcell); - - Standard_Character thecars[4]; - Handle(ShapeProcess_DictionaryOfOperator) thesub; - Handle(ShapeProcess_DictionaryOfOperator) thenext; - Handle(ShapeProcess_Operator) theitem; - - -}; - - - - - - - -#endif // _ShapeProcess_DictionaryOfOperator_HeaderFile diff --git a/src/ShapeProcess/ShapeProcess_DictionaryOfOperator_0.cxx b/src/ShapeProcess/ShapeProcess_DictionaryOfOperator_0.cxx deleted file mode 100644 index 1b9eda6f7f..0000000000 --- a/src/ShapeProcess/ShapeProcess_DictionaryOfOperator_0.cxx +++ /dev/null @@ -1,47 +0,0 @@ -// Created on: 2000-08-21 -// Created by: Andrey BETENEV -// Copyright (c) 2000-2014 OPEN CASCADE SAS -// -// This file is part of Open CASCADE Technology software library. -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License version 2.1 as published -// by the Free Software Foundation, with special exception defined in the file -// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT -// distribution for complete text of the license and disclaimer of any warranty. -// -// Alternatively, this file may be used under the terms of Open CASCADE -// commercial license or contractual agreement. - -#include - -#include - -#include -#include -#include -#include -#include -#include - - - - - - - - - - -#define TheItem Handle(ShapeProcess_Operator) -#define TheItem_hxx -#define Dico_Iterator ShapeProcess_IteratorOfDictionaryOfOperator -#define Dico_Iterator_hxx -#define Dico_StackItem ShapeProcess_StackItemOfDictionaryOfOperator -#define Dico_StackItem_hxx -#define Handle_Dico_StackItem Handle(ShapeProcess_StackItemOfDictionaryOfOperator) -#define Dico_Dictionary ShapeProcess_DictionaryOfOperator -#define Dico_Dictionary_hxx -#define Handle_Dico_Dictionary Handle(ShapeProcess_DictionaryOfOperator) -#include - diff --git a/src/ShapeProcess/ShapeProcess_IteratorOfDictionaryOfOperator.hxx b/src/ShapeProcess/ShapeProcess_IteratorOfDictionaryOfOperator.hxx deleted file mode 100644 index 5fd914b36b..0000000000 --- a/src/ShapeProcess/ShapeProcess_IteratorOfDictionaryOfOperator.hxx +++ /dev/null @@ -1,103 +0,0 @@ -// Created on: 2000-08-21 -// Created by: Andrey BETENEV -// Copyright (c) 2000-2014 OPEN CASCADE SAS -// -// This file is part of Open CASCADE Technology software library. -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License version 2.1 as published -// by the Free Software Foundation, with special exception defined in the file -// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT -// distribution for complete text of the license and disclaimer of any warranty. -// -// Alternatively, this file may be used under the terms of Open CASCADE -// commercial license or contractual agreement. - -#ifndef _ShapeProcess_IteratorOfDictionaryOfOperator_HeaderFile -#define _ShapeProcess_IteratorOfDictionaryOfOperator_HeaderFile - -#include -#include -#include - -#include -#include -#include -#include -class ShapeProcess_DictionaryOfOperator; -class ShapeProcess_StackItemOfDictionaryOfOperator; -class Standard_NoSuchObject; -class ShapeProcess_Operator; -class TCollection_AsciiString; - - - -class ShapeProcess_IteratorOfDictionaryOfOperator -{ -public: - - DEFINE_STANDARD_ALLOC - - - //! Creates an iterator which will work on all the dictionary - Standard_EXPORT ShapeProcess_IteratorOfDictionaryOfOperator(const Handle(ShapeProcess_DictionaryOfOperator)& acell); - - //! Creates an iterator which will consider only entries - //! which name begin by the string given as basename (subpart) - Standard_EXPORT ShapeProcess_IteratorOfDictionaryOfOperator(const Handle(ShapeProcess_DictionaryOfOperator)& acell, const Standard_CString basename); - - //! Creates an iterator which will consider only entries - //! which name begin by the string given as basename (subpart) - //! Same as above, but basename is String instead of CString - Standard_EXPORT ShapeProcess_IteratorOfDictionaryOfOperator(const Handle(ShapeProcess_DictionaryOfOperator)& acell, const TCollection_AsciiString& basename); - - //! Allows to Start a new Iteration from beginning - Standard_EXPORT void Start(); - - //! Returns True if there are more entries to return - Standard_EXPORT Standard_Boolean More(); - - //! Go to the next entry - //! (if there is not, Value will raise an exception) - Standard_EXPORT void Next(); - - //! Returns item value of current entry - Standard_EXPORT const Handle(ShapeProcess_Operator)& Value() const; - - //! Returns name of current entry - Standard_EXPORT TCollection_AsciiString Name() const; - - - - -protected: - - - - - -private: - - - //! Appends a new value to the Iteration Stack - Standard_EXPORT void AppendStack (const Handle(ShapeProcess_DictionaryOfOperator)& val); - - - Handle(ShapeProcess_DictionaryOfOperator) thebase; - TCollection_AsciiString thename; - Handle(ShapeProcess_StackItemOfDictionaryOfOperator) thelast; - Standard_Integer thenb; - Standard_Boolean themore; - Standard_Boolean theinit; - Standard_Boolean thenext; - - -}; - - - - - - - -#endif // _ShapeProcess_IteratorOfDictionaryOfOperator_HeaderFile diff --git a/src/ShapeProcess/ShapeProcess_IteratorOfDictionaryOfOperator_0.cxx b/src/ShapeProcess/ShapeProcess_IteratorOfDictionaryOfOperator_0.cxx deleted file mode 100644 index 18f3ee9df9..0000000000 --- a/src/ShapeProcess/ShapeProcess_IteratorOfDictionaryOfOperator_0.cxx +++ /dev/null @@ -1,36 +0,0 @@ -// Created on: 2000-08-21 -// Created by: Andrey BETENEV -// Copyright (c) 2000-2014 OPEN CASCADE SAS -// -// This file is part of Open CASCADE Technology software library. -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License version 2.1 as published -// by the Free Software Foundation, with special exception defined in the file -// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT -// distribution for complete text of the license and disclaimer of any warranty. -// -// Alternatively, this file may be used under the terms of Open CASCADE -// commercial license or contractual agreement. - -#include - -#include -#include -#include -#include -#include - - -#define TheItem Handle(ShapeProcess_Operator) -#define TheItem_hxx -#define Dico_Iterator ShapeProcess_IteratorOfDictionaryOfOperator -#define Dico_Iterator_hxx -#define Dico_StackItem ShapeProcess_StackItemOfDictionaryOfOperator -#define Dico_StackItem_hxx -#define Handle_Dico_StackItem Handle(ShapeProcess_StackItemOfDictionaryOfOperator) -#define Dico_Dictionary ShapeProcess_DictionaryOfOperator -#define Dico_Dictionary_hxx -#define Handle_Dico_Dictionary Handle(ShapeProcess_DictionaryOfOperator) -#include - diff --git a/src/ShapeProcess/ShapeProcess_StackItemOfDictionaryOfOperator.hxx b/src/ShapeProcess/ShapeProcess_StackItemOfDictionaryOfOperator.hxx deleted file mode 100644 index 0d10cbf0ee..0000000000 --- a/src/ShapeProcess/ShapeProcess_StackItemOfDictionaryOfOperator.hxx +++ /dev/null @@ -1,78 +0,0 @@ -// Created on: 2000-08-21 -// Created by: Andrey BETENEV -// Copyright (c) 2000-2014 OPEN CASCADE SAS -// -// This file is part of Open CASCADE Technology software library. -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License version 2.1 as published -// by the Free Software Foundation, with special exception defined in the file -// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT -// distribution for complete text of the license and disclaimer of any warranty. -// -// Alternatively, this file may be used under the terms of Open CASCADE -// commercial license or contractual agreement. - -#ifndef _ShapeProcess_StackItemOfDictionaryOfOperator_HeaderFile -#define _ShapeProcess_StackItemOfDictionaryOfOperator_HeaderFile - -#include -#include - -#include -class ShapeProcess_DictionaryOfOperator; -class ShapeProcess_Operator; -class ShapeProcess_IteratorOfDictionaryOfOperator; - - -class ShapeProcess_StackItemOfDictionaryOfOperator; -DEFINE_STANDARD_HANDLE(ShapeProcess_StackItemOfDictionaryOfOperator, MMgt_TShared) - - -class ShapeProcess_StackItemOfDictionaryOfOperator : public MMgt_TShared -{ - -public: - - - //! Creates a StackItem with no Previous one - Standard_EXPORT ShapeProcess_StackItemOfDictionaryOfOperator(); - - //! Creates a StackItem with a Previous one - Standard_EXPORT ShapeProcess_StackItemOfDictionaryOfOperator(const Handle(ShapeProcess_StackItemOfDictionaryOfOperator)& previous); - - //! Returns the Previous Item (is Null if no Previous defined) - Standard_EXPORT Handle(ShapeProcess_StackItemOfDictionaryOfOperator) Previous() const; - - //! Returns the Dictionary Cell corresponding to an Item - Standard_EXPORT Handle(ShapeProcess_DictionaryOfOperator) Value() const; - - //! Sets a new Dictionary Cell as Value of an Item - Standard_EXPORT void SetValue (const Handle(ShapeProcess_DictionaryOfOperator)& cval); - - - - - DEFINE_STANDARD_RTTI_INLINE(ShapeProcess_StackItemOfDictionaryOfOperator,MMgt_TShared) - -protected: - - - - -private: - - - Handle(ShapeProcess_DictionaryOfOperator) thevalue; - Handle(ShapeProcess_StackItemOfDictionaryOfOperator) theprev; - - -}; - - - - - - - -#endif // _ShapeProcess_StackItemOfDictionaryOfOperator_HeaderFile diff --git a/src/ShapeProcess/ShapeProcess_StackItemOfDictionaryOfOperator_0.cxx b/src/ShapeProcess/ShapeProcess_StackItemOfDictionaryOfOperator_0.cxx deleted file mode 100644 index 08594ea8b6..0000000000 --- a/src/ShapeProcess/ShapeProcess_StackItemOfDictionaryOfOperator_0.cxx +++ /dev/null @@ -1,45 +0,0 @@ -// Created on: 2000-08-21 -// Created by: Andrey BETENEV -// Copyright (c) 2000-2014 OPEN CASCADE SAS -// -// This file is part of Open CASCADE Technology software library. -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License version 2.1 as published -// by the Free Software Foundation, with special exception defined in the file -// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT -// distribution for complete text of the license and disclaimer of any warranty. -// -// Alternatively, this file may be used under the terms of Open CASCADE -// commercial license or contractual agreement. - -#include - -#include - -#include -#include -#include -#include - - - - - - - - - - -#define TheItem Handle(ShapeProcess_Operator) -#define TheItem_hxx -#define Dico_Iterator ShapeProcess_IteratorOfDictionaryOfOperator -#define Dico_Iterator_hxx -#define Dico_StackItem ShapeProcess_StackItemOfDictionaryOfOperator -#define Dico_StackItem_hxx -#define Handle_Dico_StackItem Handle(ShapeProcess_StackItemOfDictionaryOfOperator) -#define Dico_Dictionary ShapeProcess_DictionaryOfOperator -#define Dico_Dictionary_hxx -#define Handle_Dico_Dictionary Handle(ShapeProcess_DictionaryOfOperator) -#include - diff --git a/src/StepData/StepData_ESDescr.cxx b/src/StepData/StepData_ESDescr.cxx index 596b003c8a..5f2c8c707a 100644 --- a/src/StepData/StepData_ESDescr.cxx +++ b/src/StepData/StepData_ESDescr.cxx @@ -12,7 +12,6 @@ // commercial license or contractual agreement. -#include #include #include #include @@ -24,19 +23,19 @@ IMPLEMENT_STANDARD_RTTIEXT(StepData_ESDescr,StepData_EDescr) StepData_ESDescr::StepData_ESDescr (const Standard_CString name) -: thenom (name) { thenames = new Dico_DictionaryOfInteger; } +: thenom (name) { } void StepData_ESDescr::SetNbFields (const Standard_Integer nb) { Standard_Integer minb,i, oldnb = NbFields(); - thenames->Clear(); + thenames.Clear(); if (nb == 0) { thedescr.Nullify(); return; } Handle(TColStd_HArray1OfTransient) li = new TColStd_HArray1OfTransient(1,nb); if (oldnb == 0) { thedescr = li; return; } minb = (oldnb > nb ? nb : oldnb); for (i = 1; i <= minb; i ++) { DeclareAndCast(StepData_PDescr,pde,thedescr->Value(i)); - if (!pde.IsNull()) thenames->SetItem (pde->Name(),i); + if (!pde.IsNull()) thenames.Bind(pde->Name(),i); li->SetValue (i, pde); } thedescr = li; @@ -52,7 +51,7 @@ void StepData_ESDescr::SetNbFields (const Standard_Integer nb) pde->SetFrom (descr); pde->SetName (name); thedescr->SetValue (num,pde); - thenames->SetItem (name,num); + thenames.Bind(name,num); } void StepData_ESDescr::SetBase (const Handle(StepData_ESDescr)& base) @@ -100,7 +99,8 @@ void StepData_ESDescr::SetNbFields (const Standard_Integer nb) Standard_Integer StepData_ESDescr::Rank (const Standard_CString name) const { Standard_Integer rank; - if (!thenames->GetItem (name,rank)) return 0; + if (!thenames.Find(name, rank)) + return 0; return rank; } diff --git a/src/StepData/StepData_ESDescr.hxx b/src/StepData/StepData_ESDescr.hxx index fd265dc671..193a582b30 100644 --- a/src/StepData/StepData_ESDescr.hxx +++ b/src/StepData/StepData_ESDescr.hxx @@ -26,9 +26,10 @@ #include #include #include -class Dico_DictionaryOfInteger; +#include +#include +#include class StepData_PDescr; -class TCollection_AsciiString; class StepData_Described; @@ -117,7 +118,7 @@ private: TCollection_AsciiString thenom; Handle(TColStd_HArray1OfTransient) thedescr; - Handle(Dico_DictionaryOfInteger) thenames; + NCollection_DataMap thenames; Handle(StepData_ESDescr) thebase; Handle(StepData_ESDescr) thesuper; diff --git a/src/StepData/StepData_FreeFormEntity.cxx b/src/StepData/StepData_FreeFormEntity.cxx index 3fd0ed647e..c0ad1b987e 100644 --- a/src/StepData/StepData_FreeFormEntity.cxx +++ b/src/StepData/StepData_FreeFormEntity.cxx @@ -12,12 +12,12 @@ // commercial license or contractual agreement. -#include -#include #include #include #include #include +#include +#include IMPLEMENT_STANDARD_RTTIEXT(StepData_FreeFormEntity,MMgt_TShared) @@ -81,20 +81,20 @@ void StepData_FreeFormEntity::SetStepType (const Standard_CString typenam) if (!afr) return afr; // remise en ordre avec un dictionnaire e1 = ent; e2.Nullify(); - Handle(Dico_DictionaryOfTransient) dic = new Dico_DictionaryOfTransient; + NCollection_DataMap dic; while (!e1.IsNull()) { - dic->SetItem (e1->StepType(), e1); + dic.Bind(e1->StepType(), e1); e1 = e1->Next(); } // d abord effacer les next en cours ... - Dico_IteratorOfDictionaryOfTransient iter(dic); - for (iter.Start(); iter.More(); iter.Next()) { + NCollection_DataMap::Iterator iter(dic); + for (; iter.More(); iter.Next()) { e1 = GetCasted(StepData_FreeFormEntity,iter.Value()); if (!e1.IsNull()) e1->SetNext(e2); } // ... puis les remettre dans l ordre e1.Nullify(); - for (iter.Start(); iter.More(); iter.Next()) { + for (iter.Reset(); iter.More(); iter.Next()) { e2 = GetCasted(StepData_FreeFormEntity,iter.Value()); if (!e1.IsNull()) e1->SetNext(e2); e1 = e2; diff --git a/src/StepData/StepData_Protocol.cxx b/src/StepData/StepData_Protocol.cxx index a018c8e103..614fde78a6 100644 --- a/src/StepData/StepData_Protocol.cxx +++ b/src/StepData/StepData_Protocol.cxx @@ -11,13 +11,11 @@ // Alternatively, this file may be used under the terms of Open CASCADE // commercial license or contractual agreement. - -#include +#include +#include #include #include #include -#include -#include #include #include #include @@ -125,17 +123,16 @@ void StepData_Protocol::AddDescr // Simple : memorisee selon son nom // sinon que faire ? on memorise selon le numero passe en alpha-num ... // (temporaire) - if (thedscnam.IsNull()) thedscnam = new Dico_DictionaryOfTransient; - if (!sd.IsNull()) thedscnam->SetItem (sd->TypeName(),sd); + if (!sd.IsNull()) thedscnam.Bind(sd->TypeName(),sd); char fonom[10]; sprintf(fonom,"%d",CN); - thedscnam->SetItem (fonom,adescr); + thedscnam.Bind(fonom,adescr); } Standard_Boolean StepData_Protocol::HasDescr () const { - return !thedscnam.IsNull(); + return !thedscnam.IsEmpty(); } @@ -143,10 +140,14 @@ Handle(StepData_EDescr) StepData_Protocol::Descr (const Standard_Integer num) const { Handle(StepData_EDescr) dsc; - if (thedscnam.IsNull()) return dsc; + if (thedscnam.IsEmpty()) return dsc; char fonom[10]; sprintf(fonom,"%d",num); - if (!thedscnam->GetItem (fonom,dsc)) dsc.Nullify(); + Handle(Standard_Transient) aTDsc; + if (thedscnam.Find(fonom, aTDsc)) + dsc = Handle(StepData_EDescr)::DownCast(aTDsc); + else + dsc.Nullify(); return dsc; } @@ -155,8 +156,10 @@ Handle(StepData_EDescr) StepData_Protocol::Descr (const Standard_CString name, const Standard_Boolean anylevel) const { Handle(StepData_EDescr) sd; - if (!thedscnam.IsNull()) { - if (thedscnam->GetItem (name,sd)) return sd; + if (!thedscnam.IsEmpty()) { + Handle(Standard_Transient) aTSd; + if (thedscnam.Find(name, aTSd)) + return Handle(StepData_EDescr)::DownCast(aTSd); } if (!anylevel) return sd; @@ -211,8 +214,7 @@ Handle(StepData_ECDescr) StepData_Protocol::ECDescr void StepData_Protocol::AddPDescr (const Handle(StepData_PDescr)& pdescr) { - if (thepdescr.IsNull()) thepdescr = new Dico_DictionaryOfTransient; - thepdescr->SetItem (pdescr->Name(),pdescr); + thepdescr.Bind(pdescr->Name(),pdescr); } @@ -220,8 +222,10 @@ Handle(StepData_PDescr) StepData_Protocol::PDescr (const Standard_CString name, const Standard_Boolean anylevel) const { Handle(StepData_PDescr) sd; - if (!thepdescr.IsNull()) { - if (thepdescr->GetItem (name,sd)) return sd; + if (!thepdescr.IsEmpty()) { + Handle(Standard_Transient) aTSd; + if (thepdescr.Find(name, aTSd)) + return Handle(StepData_PDescr)::DownCast(aTSd); } if (!anylevel) return sd; @@ -239,8 +243,7 @@ Handle(StepData_PDescr) StepData_Protocol::PDescr void StepData_Protocol::AddBasicDescr (const Handle(StepData_ESDescr)& esdescr) { - if (thedscbas.IsNull()) thedscbas = new Dico_DictionaryOfTransient; - thedscbas->SetItem (esdescr->TypeName(),esdescr); + thedscbas.Bind(esdescr->TypeName(),esdescr); } @@ -248,8 +251,10 @@ Handle(StepData_EDescr) StepData_Protocol::BasicDescr (const Standard_CString name, const Standard_Boolean anylevel) const { Handle(StepData_EDescr) sd; - if (!thedscbas.IsNull()) { - if (thedscbas->GetItem (name,sd)) return sd; + if (!thedscbas.IsEmpty()) { + Handle(Standard_Transient) aTSd; + if (thedscbas.Find(name, aTSd)) + return Handle(StepData_EDescr)::DownCast(aTSd); } if (!anylevel) return sd; diff --git a/src/StepData/StepData_Protocol.hxx b/src/StepData/StepData_Protocol.hxx index 7e905b1903..c6bba9699c 100644 --- a/src/StepData/StepData_Protocol.hxx +++ b/src/StepData/StepData_Protocol.hxx @@ -27,7 +27,6 @@ #include #include #include -class Dico_DictionaryOfTransient; class Interface_Protocol; class Standard_Transient; class Interface_InterfaceModel; @@ -149,9 +148,9 @@ private: Interface_DataMapOfTransientInteger thedscnum; - Handle(Dico_DictionaryOfTransient) thedscnam; - Handle(Dico_DictionaryOfTransient) thepdescr; - Handle(Dico_DictionaryOfTransient) thedscbas; + NCollection_DataMap thedscnam; + NCollection_DataMap thepdescr; + NCollection_DataMap thedscbas; }; diff --git a/src/TKernel/PACKAGES b/src/TKernel/PACKAGES index 501e8c4357..5af488abe8 100755 --- a/src/TKernel/PACKAGES +++ b/src/TKernel/PACKAGES @@ -12,6 +12,5 @@ TCollection TShort Units UnitsAPI -Dico NCollection Message diff --git a/src/Transfer/Transfer_Finder.cxx b/src/Transfer/Transfer_Finder.cxx index d1f67652ba..85d6016bb9 100644 --- a/src/Transfer/Transfer_Finder.cxx +++ b/src/Transfer/Transfer_Finder.cxx @@ -12,8 +12,6 @@ // commercial license or contractual agreement. -#include -#include #include #include #include @@ -44,23 +42,22 @@ void Transfer_Finder::SetHashCode (const Standard_Integer code) void Transfer_Finder::SetAttribute (const Standard_CString name, const Handle(Standard_Transient)& val) { - if (theattrib.IsNull()) theattrib = new Dico_DictionaryOfTransient; - theattrib->SetItem (name,val); + theattrib.Bind(name,val); } Standard_Boolean Transfer_Finder::RemoveAttribute (const Standard_CString name) { - if (theattrib.IsNull()) return Standard_False; - return theattrib->RemoveItem (name); + if (theattrib.IsEmpty()) return Standard_False; + return theattrib.UnBind (name); } Standard_Boolean Transfer_Finder::GetAttribute (const Standard_CString name, const Handle(Standard_Type)& type, Handle(Standard_Transient)& val) const { - if (theattrib.IsNull()) { val.Nullify(); return Standard_False; } - if (!theattrib->GetItem (name,val)) { val.Nullify(); return Standard_False; } + if (theattrib.IsEmpty()) { val.Nullify(); return Standard_False; } + if (!theattrib.Find(name, val)) { val.Nullify(); return Standard_False; } if (!val->IsKind(type)) { val.Nullify(); return Standard_False; } return Standard_True; } @@ -69,8 +66,8 @@ void Transfer_Finder::SetHashCode (const Standard_Integer code) (const Standard_CString name) const { Handle(Standard_Transient) atr; - if (theattrib.IsNull()) return atr; - if (!theattrib->GetItem (name,atr)) atr.Nullify(); + if (theattrib.IsEmpty()) return atr; + if (!theattrib.Find(name, atr)) atr.Nullify(); return atr; } @@ -166,8 +163,8 @@ void Transfer_Finder::SetHashCode (const Standard_Integer code) return hval->ToCString(); } - Handle(Dico_DictionaryOfTransient) Transfer_Finder::AttrList () const - { return theattrib; } +NCollection_DataMap& Transfer_Finder::AttrList () + { return theattrib; } void Transfer_Finder::SameAttributes (const Handle(Transfer_Finder)& other) { if (!other.IsNull()) theattrib = other->AttrList(); } @@ -176,14 +173,14 @@ void Transfer_Finder::SetHashCode (const Standard_Integer code) (const Handle(Transfer_Finder)& other, const Standard_CString fromname, const Standard_Boolean copied) { - if (other.IsNull()) return; - Handle(Dico_DictionaryOfTransient) list = other->AttrList(); - if (list.IsNull()) return; - if (theattrib.IsNull()) theattrib = new Dico_DictionaryOfTransient; + if (other.IsNull()) return; + NCollection_DataMap& list = other->AttrList(); + if (list.IsEmpty()) return; - for (Dico_IteratorOfDictionaryOfTransient iter (list,fromname); - iter.More(); iter.Next()) { - TCollection_AsciiString name = iter.Name(); + NCollection_DataMap::Iterator iter(list); + for (; iter.More(); iter.Next()) { + TCollection_AsciiString name = iter.Key(); + if (!name.StartsWith(fromname)) continue; Handle(Standard_Transient) atr = iter.Value(); Handle(Standard_Transient) newatr = atr; @@ -211,7 +208,7 @@ void Transfer_Finder::SetHashCode (const Standard_Integer code) } - theattrib->SetItem (name.ToCString(),newatr); + theattrib.Bind(name,newatr); } } diff --git a/src/Transfer/Transfer_Finder.hxx b/src/Transfer/Transfer_Finder.hxx index f25dbb806a..3efeb92a7e 100644 --- a/src/Transfer/Transfer_Finder.hxx +++ b/src/Transfer/Transfer_Finder.hxx @@ -19,7 +19,9 @@ #include #include +#include +#include #include #include #include @@ -27,8 +29,8 @@ #include #include #include -class Dico_DictionaryOfTransient; -class Standard_Transient; +#include + class Transfer_Finder; @@ -123,7 +125,7 @@ public: Standard_EXPORT Standard_CString StringAttribute (const Standard_CString name) const; //! Returns the exhaustive list of attributes - Standard_EXPORT Handle(Dico_DictionaryOfTransient) AttrList() const; + Standard_EXPORT NCollection_DataMap& AttrList(); //! Gets the list of attributes from , as such, i.e. //! not copied : attributes are shared, any attribute edited, @@ -162,7 +164,7 @@ private: Standard_Integer thecode; - Handle(Dico_DictionaryOfTransient) theattrib; + NCollection_DataMap theattrib; }; diff --git a/src/Transfer/Transfer_TransferProcess.gxx b/src/Transfer/Transfer_TransferProcess.gxx index e367b6cd67..d8709bf36b 100644 --- a/src/Transfer/Transfer_TransferProcess.gxx +++ b/src/Transfer/Transfer_TransferProcess.gxx @@ -35,8 +35,6 @@ #include #include -#include -#include #include #include #include diff --git a/src/Transfer/Transfer_TransientProcess.cxx b/src/Transfer/Transfer_TransientProcess.cxx index f124aa6ebb..925920c6a8 100644 --- a/src/Transfer/Transfer_TransientProcess.cxx +++ b/src/Transfer/Transfer_TransientProcess.cxx @@ -12,7 +12,6 @@ // commercial license or contractual agreement. -#include #include #include #include @@ -113,8 +112,7 @@ const Interface_Graph& Transfer_TransientProcess::Graph () const void Transfer_TransientProcess::SetContext(const Standard_CString name, const Handle(Standard_Transient)& ctx) { - if (thectx.IsNull()) thectx = new Dico_DictionaryOfTransient; - thectx->SetItem (name,ctx); + thectx.Bind(name,ctx); } @@ -127,8 +125,10 @@ Standard_Boolean Transfer_TransientProcess::GetContext (const Standard_CString name, const Handle(Standard_Type)& type, Handle(Standard_Transient)& ctx) const { - if (thectx.IsNull()) return Standard_False; - if (!thectx->GetItem (name,ctx)) ctx.Nullify(); + if (thectx.IsEmpty()) return Standard_False; + if (!thectx.Find(name, ctx)) + ctx.Nullify(); + if (ctx.IsNull()) return Standard_False; if (type.IsNull()) return Standard_True; if (!ctx->IsKind(type)) ctx.Nullify(); @@ -141,7 +141,7 @@ Standard_Boolean Transfer_TransientProcess::GetContext //purpose : //======================================================================= -Handle(Dico_DictionaryOfTransient)& Transfer_TransientProcess::Context () +NCollection_DataMap& Transfer_TransientProcess::Context () { return thectx; } diff --git a/src/Transfer/Transfer_TransientProcess.hxx b/src/Transfer/Transfer_TransientProcess.hxx index fe06250dfb..129801fa3b 100644 --- a/src/Transfer/Transfer_TransientProcess.hxx +++ b/src/Transfer/Transfer_TransientProcess.hxx @@ -26,11 +26,12 @@ #include #include #include +#include +#include +#include class Interface_InterfaceModel; class Interface_HGraph; -class Dico_DictionaryOfTransient; class Interface_Graph; -class Standard_Transient; class Message_Messenger; class Interface_EntityIterator; @@ -80,7 +81,7 @@ public: //! Returns (modifiable) the whole definition of Context //! Rather for internal use (ex.: preparing and setting in once) - Standard_EXPORT Handle(Dico_DictionaryOfTransient)& Context(); + Standard_EXPORT NCollection_DataMap& Context(); //! Specific printing to trace an entity : prints label and type //! (if model is set) @@ -128,7 +129,7 @@ private: Handle(Interface_InterfaceModel) themodel; Handle(Interface_HGraph) thegraph; - Handle(Dico_DictionaryOfTransient) thectx; + NCollection_DataMap thectx; Handle(TColStd_HSequenceOfTransient) thetrroots; diff --git a/src/XDEDRAW/XDEDRAW_Common.cxx b/src/XDEDRAW/XDEDRAW_Common.cxx index 5c1a5f8f83..9b347cc8cc 100644 --- a/src/XDEDRAW/XDEDRAW_Common.cxx +++ b/src/XDEDRAW/XDEDRAW_Common.cxx @@ -16,8 +16,6 @@ #include #include -#include -#include #include #include #include @@ -25,9 +23,7 @@ #include #include #include -#include #include -#include #include #include #include @@ -56,11 +52,11 @@ //============================================================ // Support for several models in DRAW //============================================================ -static Handle(Dico_DictionaryOfTransient) thedictws = new Dico_DictionaryOfTransient; +static NCollection_DataMap thedictws; static Standard_Boolean ClearDicWS() { - thedictws->Clear(); + thedictws.Clear(); return Standard_True; } @@ -68,20 +64,20 @@ static void AddWS(TCollection_AsciiString filename, const Handle(XSControl_WorkSession)& WS) { WS->SetVars ( new XSDRAW_Vars ); // support of DRAW variables - thedictws->SetItem( filename, WS ); + thedictws.Bind( filename, WS ); } -static Standard_Boolean FillDicWS(Handle(STEPCAFControl_DictionaryOfExternFile)& dicFile) +static Standard_Boolean FillDicWS(NCollection_DataMap& dicFile) { ClearDicWS(); - if ( dicFile->IsEmpty() ) { + if ( dicFile.IsEmpty() ) { return Standard_False; } Handle(STEPCAFControl_ExternFile) EF; - STEPCAFControl_IteratorOfDictionaryOfExternFile DicEFIt ( dicFile ); + NCollection_DataMap::Iterator DicEFIt(dicFile); for (; DicEFIt.More(); DicEFIt.Next() ) { - TCollection_AsciiString filename = DicEFIt.Name(); + TCollection_AsciiString filename = DicEFIt.Key(); EF = DicEFIt.Value(); AddWS ( filename, EF->GetWS() ); } @@ -90,9 +86,9 @@ static Standard_Boolean FillDicWS(Handle(STEPCAFControl_DictionaryOfExternFile)& static Standard_Boolean SetCurrentWS (TCollection_AsciiString filename) { - if ( !thedictws->HasItem(filename) ) return Standard_False; + if ( !thedictws.IsBound(filename) ) return Standard_False; Handle(XSControl_WorkSession) CurrentWS = - Handle(XSControl_WorkSession)::DownCast( thedictws->Item(filename) ); + Handle(XSControl_WorkSession)::DownCast( thedictws.ChangeFind(filename) ); XSDRAW::Pilot()->SetSession( CurrentWS ); return Standard_True; @@ -123,13 +119,13 @@ static Standard_Integer SetCurWS (Draw_Interpretor& di , Standard_Integer argc, static Standard_Integer GetDicWSList (Draw_Interpretor& di, Standard_Integer /*argc*/, const char** /*argv*/) { - Handle(Dico_DictionaryOfTransient) DictWS = thedictws; - if ( DictWS->IsEmpty() ) return 1; - Dico_IteratorOfDictionaryOfTransient DicIt ( DictWS ); + NCollection_DataMap DictWS = thedictws; + if ( DictWS.IsEmpty() ) return 1; + NCollection_DataMap::Iterator DicIt(DictWS); di << " The list of last translated files:\n"; Standard_Integer num = 0; for (; DicIt.More() ; DicIt.Next(), num++ ) { - TCollection_AsciiString strng ( DicIt.Name() ); + TCollection_AsciiString strng ( DicIt.Key() ); if ( num ) di << "\n"; di << "\"" << strng.ToCString() << "\""; } @@ -162,12 +158,12 @@ static Standard_Integer FromShape (Draw_Interpretor& di, Standard_Integer argc, char command[256]; Sprintf ( command, "fromshape %.200s -1", argv[1] ); - Handle(Dico_DictionaryOfTransient) DictWS = thedictws; - if ( DictWS->IsEmpty() ) return di.Eval ( command ); + NCollection_DataMap DictWS = thedictws; + if ( DictWS.IsEmpty() ) return di.Eval ( command ); Handle(XSControl_WorkSession) WS = XSDRAW::Session(); - Dico_IteratorOfDictionaryOfTransient DicIt ( DictWS ); + NCollection_DataMap::Iterator DicIt ( DictWS ); // di << "Searching for shape among all the loaded files:\n"; Standard_Integer num = 0; for (; DicIt.More() ; DicIt.Next(), num++ ) { @@ -351,7 +347,7 @@ static Standard_Integer ReadStep (Draw_Interpretor& di, Standard_Integer argc, c Draw::Set(argv[1],DD); di << "Document saved with name " << argv[1]; - Handle(STEPCAFControl_DictionaryOfExternFile) DicFile = reader.ExternFiles(); + NCollection_DataMap DicFile = reader.ExternFiles(); FillDicWS( DicFile ); AddWS ( fnom , XSDRAW::Session() ); @@ -460,7 +456,7 @@ static Standard_Integer WriteStep (Draw_Interpretor& di, Standard_Integer argc, case IFSelect_RetDone : { di<<"File "< DicFile = writer.ExternFiles(); FillDicWS( DicFile ); AddWS( argv[2], XSDRAW::Session() ); break; diff --git a/src/XSControl/XSControl_Controller.cxx b/src/XSControl/XSControl_Controller.cxx index 0eae54e9f1..a4b009978a 100644 --- a/src/XSControl/XSControl_Controller.cxx +++ b/src/XSControl/XSControl_Controller.cxx @@ -12,9 +12,6 @@ // commercial license or contractual agreement. -#include -#include -#include #include #include #include @@ -69,12 +66,8 @@ IMPLEMENT_STANDARD_RTTIEXT(XSControl_Controller,MMgt_TShared) // ParamEditor // Transferts -static const Handle(Dico_DictionaryOfTransient)& listadapt() -{ - static Handle(Dico_DictionaryOfTransient) listad; - if (listad.IsNull()) listad = new Dico_DictionaryOfTransient; - return listad; -} + +static NCollection_DataMap listad; //======================================================================= //function : XSControl_Controller @@ -127,16 +120,15 @@ void XSControl_Controller::SetNames (const Standard_CString theLongName, const S void XSControl_Controller::Record (const Standard_CString theName) const { - Standard_Boolean isAlreadyRegistered = Standard_False; - Handle(Standard_Transient)& newadapt = listadapt()->NewItem(theName,isAlreadyRegistered); - if (isAlreadyRegistered) { - Handle(Standard_Transient) thisadapt (this); + if (listad.IsBound(theName)) { + Handle(Standard_Transient) thisadapt(this); + Handle(Standard_Transient) newadapt = listad.ChangeFind(theName); if (newadapt->IsKind(thisadapt->DynamicType())) return; if (!(thisadapt->IsKind(newadapt->DynamicType())) && thisadapt != newadapt) Standard_DomainError::Raise("XSControl_Controller : Record"); } - newadapt = this; + listad.Bind(theName, this); } //======================================================================= @@ -144,10 +136,10 @@ void XSControl_Controller::Record (const Standard_CString theName) const //purpose : //======================================================================= -Handle(XSControl_Controller) XSControl_Controller::Recorded (const Standard_CString theName) +Handle(XSControl_Controller) XSControl_Controller::Recorded(const Standard_CString theName) { Handle(Standard_Transient) recorded; - return (listadapt()->GetItem(theName,recorded)? + return (listad.Find(theName, recorded)? Handle(XSControl_Controller)::DownCast(recorded) : Handle(XSControl_Controller)()); } @@ -366,9 +358,7 @@ void XSControl_Controller::AddSessionItem (const Handle(Standard_Transient)& theItem, const Standard_CString theName, const Standard_Boolean toApply) { if (theItem.IsNull() || theName[0] == '\0') return; - if (myAdaptorSession.IsNull()) - myAdaptorSession = new Dico_DictionaryOfTransient; - myAdaptorSession->SetItem (theName,theItem); + myAdaptorSession.Bind(theName,theItem); if (toApply && theItem->IsKind(STANDARD_TYPE(IFSelect_GeneralModifier))) myAdaptorApplied.Append(theItem); } @@ -381,8 +371,8 @@ void XSControl_Controller::AddSessionItem Handle(Standard_Transient) XSControl_Controller::SessionItem (const Standard_CString theName) const { Handle(Standard_Transient) item; - if (!myAdaptorSession.IsNull()) - myAdaptorSession->GetItem (theName,item); + if (!myAdaptorSession.IsEmpty()) + item = myAdaptorSession.Find(theName); return item; } @@ -396,10 +386,10 @@ void XSControl_Controller::Customise (Handle(XSControl_WorkSession)& WS) WS->SetParams (myParams,myParamUses); // General - if (!myAdaptorSession.IsNull()) { - Dico_IteratorOfDictionaryOfTransient iter(myAdaptorSession); - for (iter.Start(); iter.More(); iter.Next()) - WS->AddNamedItem (iter.Name().ToCString(), iter.Value()); + if (!myAdaptorSession.IsEmpty()) { + NCollection_DataMap::Iterator iter(myAdaptorSession); + for (; iter.More(); iter.Next()) + WS->AddNamedItem (iter.Key().ToCString(), iter.ChangeValue()); } if (WS->NamedItem("xst-model-all").IsNull()) { diff --git a/src/XSControl/XSControl_Controller.hxx b/src/XSControl/XSControl_Controller.hxx index 1c10778dda..b58eea2cd8 100644 --- a/src/XSControl/XSControl_Controller.hxx +++ b/src/XSControl/XSControl_Controller.hxx @@ -28,16 +28,17 @@ #include #include #include +#include +#include +#include class IFSelect_WorkLibrary; class Interface_Protocol; class IFSelect_Signature; class Transfer_ActorOfTransientProcess; class Transfer_ActorOfFinderProcess; -class Dico_DictionaryOfTransient; class Standard_DomainError; class XSControl_WorkSession; class Interface_InterfaceModel; -class Standard_Transient; class Transfer_FinderProcess; class TopoDS_Shape; class Interface_CheckIterator; @@ -187,7 +188,7 @@ class XSControl_Controller : public MMgt_TShared //! Customises a WorkSession, by adding to it the recorded items (by AddSessionItem) Standard_EXPORT virtual void Customise (Handle(XSControl_WorkSession)& WS); - const Handle(Dico_DictionaryOfTransient) & AdaptorSession() const + const NCollection_DataMap & AdaptorSession() const { return myAdaptorSession; } DEFINE_STANDARD_RTTIEXT(XSControl_Controller,MMgt_TShared) @@ -209,7 +210,7 @@ class XSControl_Controller : public MMgt_TShared //szv:Handle(IFSelect_Signature) mySignType; Handle(Transfer_ActorOfTransientProcess) myAdaptorRead; Handle(Transfer_ActorOfFinderProcess) myAdaptorWrite; - Handle(Dico_DictionaryOfTransient) myAdaptorSession; + NCollection_DataMap myAdaptorSession; private: diff --git a/src/XSControl/XSControl_Functions.cxx b/src/XSControl/XSControl_Functions.cxx index 58189c2bd8..7de4276f23 100644 --- a/src/XSControl/XSControl_Functions.cxx +++ b/src/XSControl/XSControl_Functions.cxx @@ -12,7 +12,6 @@ // commercial license or contractual agreement. -#include #include #include #include diff --git a/src/XSControl/XSControl_TransferReader.cxx b/src/XSControl/XSControl_TransferReader.cxx index 36b0cfedca..76e05d4d51 100644 --- a/src/XSControl/XSControl_TransferReader.cxx +++ b/src/XSControl/XSControl_TransferReader.cxx @@ -16,7 +16,6 @@ #include #include -#include #include #include #include @@ -123,8 +122,7 @@ void XSControl_TransferReader::SetGraph(const Handle(Interface_HGraph)& graph) void XSControl_TransferReader::SetContext(const Standard_CString name, const Handle(Standard_Transient)& ctx) { - if (myContext.IsNull()) myContext = new Dico_DictionaryOfTransient; - myContext->SetItem (name,ctx); + myContext.Bind(name,ctx); } @@ -137,8 +135,9 @@ Standard_Boolean XSControl_TransferReader::GetContext (const Standard_CString name, const Handle(Standard_Type)& type, Handle(Standard_Transient)& ctx) const { - if (myContext.IsNull()) return Standard_False; - if (!myContext->GetItem (name,ctx)) ctx.Nullify(); + if (myContext.IsEmpty()) return Standard_False; + if (!myContext.Find(name, ctx)) + ctx.Nullify(); if (ctx.IsNull()) return Standard_False; if (type.IsNull()) return Standard_True; if (!ctx->IsKind(type)) ctx.Nullify(); @@ -755,7 +754,8 @@ Standard_Boolean XSControl_TransferReader::BeginTransfer () actor = Actor(); myTP->SetActor (actor); // Set proprement dit myTP->SetErrorHandle (Standard_True); - myTP->Context() = myContext; + NCollection_DataMap& aTPContext = myTP->Context(); + aTPContext = myContext; return Standard_True; } diff --git a/src/XSControl/XSControl_TransferReader.hxx b/src/XSControl/XSControl_TransferReader.hxx index 0ff7c7ff71..3ccf500bc8 100644 --- a/src/XSControl/XSControl_TransferReader.hxx +++ b/src/XSControl/XSControl_TransferReader.hxx @@ -29,7 +29,6 @@ class XSControl_Controller; class Interface_InterfaceModel; class Interface_HGraph; -class Dico_DictionaryOfTransient; class Transfer_ActorOfTransientProcess; class Transfer_TransientProcess; class Standard_Transient; @@ -104,7 +103,7 @@ class XSControl_TransferReader : public MMgt_TShared //! Returns (modifiable) the whole definition of Context //! Rather for internal use (ex.: preparing and setting in once) - Handle(Dico_DictionaryOfTransient)& Context() + NCollection_DataMap& Context() { return myContext; } //! Sets a new value for (loaded) file name @@ -350,7 +349,7 @@ class XSControl_TransferReader : public MMgt_TShared TCollection_AsciiString myFileName; Handle(Interface_InterfaceModel) myModel; Handle(Interface_HGraph) myGraph; - Handle(Dico_DictionaryOfTransient) myContext; + NCollection_DataMap myContext; Handle(Transfer_ActorOfTransientProcess) myActor; Handle(Transfer_TransientProcess) myTP; TColStd_DataMapOfIntegerTransient myResults; diff --git a/src/XSControl/XSControl_Vars.cxx b/src/XSControl/XSControl_Vars.cxx index 10a2b6ba4c..33c4786b9d 100644 --- a/src/XSControl/XSControl_Vars.cxx +++ b/src/XSControl/XSControl_Vars.cxx @@ -12,7 +12,6 @@ // commercial license or contractual agreement. -#include #include #include #include @@ -30,20 +29,20 @@ IMPLEMENT_STANDARD_RTTIEXT(XSControl_Vars,MMgt_TShared) -XSControl_Vars::XSControl_Vars () - { thevars = new Dico_DictionaryOfTransient; } +XSControl_Vars::XSControl_Vars() { } void XSControl_Vars::Set (const Standard_CString name, const Handle(Standard_Transient)& val) { - thevars->SetItem (name,val); + thevars.Bind(name,val); } Handle(Standard_Transient) XSControl_Vars::Get ( Standard_CString& name) const { Handle(Standard_Transient) val; - if (!thevars->GetItem (name,val)) val.Nullify(); + if (!thevars.Find(name, val)) + val.Nullify(); return val; } diff --git a/src/XSControl/XSControl_Vars.hxx b/src/XSControl/XSControl_Vars.hxx index 2568f5123c..26e7965a1e 100644 --- a/src/XSControl/XSControl_Vars.hxx +++ b/src/XSControl/XSControl_Vars.hxx @@ -23,8 +23,9 @@ #include #include #include -class Dico_DictionaryOfTransient; -class Standard_Transient; +#include +#include +#include class Geom_Geometry; class Geom2d_Curve; class Geom_Curve; @@ -92,7 +93,7 @@ protected: private: - Handle(Dico_DictionaryOfTransient) thevars; + NCollection_DataMap thevars; }; diff --git a/src/XSControl/XSControl_WorkSession.cxx b/src/XSControl/XSControl_WorkSession.cxx index 8c3f8fc776..32e91c8812 100644 --- a/src/XSControl/XSControl_WorkSession.cxx +++ b/src/XSControl/XSControl_WorkSession.cxx @@ -13,8 +13,6 @@ //:i1 pdn 03.04.99 BUC60301 -#include -#include #include #include #include @@ -148,7 +146,7 @@ Standard_CString XSControl_WorkSession::SelectedNorm(const Standard_Boolean rsc) //purpose : //======================================================================= -void XSControl_WorkSession::SetAllContext(const Handle(Dico_DictionaryOfTransient)& context) +void XSControl_WorkSession::SetAllContext(const NCollection_DataMap& context) { myContext = context; myTransferReader->Context() = context; @@ -162,8 +160,8 @@ void XSControl_WorkSession::SetAllContext(const Handle(Dico_DictionaryOfTransien void XSControl_WorkSession::ClearContext () { - myContext.Nullify(); - myTransferReader->Context().Nullify(); + myContext.Clear(); + myTransferReader->Context().Clear(); } diff --git a/src/XSControl/XSControl_WorkSession.hxx b/src/XSControl/XSControl_WorkSession.hxx index 6779456c0e..a164538253 100644 --- a/src/XSControl/XSControl_WorkSession.hxx +++ b/src/XSControl/XSControl_WorkSession.hxx @@ -25,7 +25,6 @@ #include class XSControl_Controller; class XSControl_TransferReader; -class Dico_DictionaryOfTransient; class XSControl_Vars; class Message_Messenger; class Transfer_TransientProcess; @@ -85,12 +84,12 @@ class XSControl_WorkSession : public IFSelect_WorkSession //! Returns the current Context List, Null if not defined //! The Context is given to the TransientProcess for TransferRead - const Handle(Dico_DictionaryOfTransient) & Context() const + const NCollection_DataMap & Context() const { return myContext; } //! Sets the current Context List, as a whole //! Sets it to the TransferReader - Standard_EXPORT void SetAllContext (const Handle(Dico_DictionaryOfTransient)& theContext); + Standard_EXPORT void SetAllContext (const NCollection_DataMap& theContext); //! Clears the whole current Context (nullifies it) Standard_EXPORT void ClearContext(); @@ -198,7 +197,7 @@ class XSControl_WorkSession : public IFSelect_WorkSession Handle(XSControl_Controller) myController; Handle(XSControl_TransferReader) myTransferReader; Handle(XSControl_TransferWriter) myTransferWriter; - Handle(Dico_DictionaryOfTransient) myContext; + NCollection_DataMap myContext; Handle(XSControl_Vars) myVars; }; diff --git a/src/XSDRAW/XSDRAW.cxx b/src/XSDRAW/XSDRAW.cxx index 580d08a80e..60c8341459 100644 --- a/src/XSDRAW/XSDRAW.cxx +++ b/src/XSDRAW/XSDRAW.cxx @@ -13,7 +13,6 @@ #include -#include #include #include #include @@ -44,7 +43,7 @@ static int deja = 0, dejald = 0; //unused variable //static int okxset = 0; -static Handle(Dico_DictionaryOfInteger) theolds; +static NCollection_DataMap theolds; static Handle(TColStd_HSequenceOfAsciiString) thenews; static Handle(IFSelect_SessionPilot) thepilot; // detient Session, Model @@ -64,7 +63,6 @@ static Standard_Integer XSTEPDRAWRUN (Draw_Interpretor& , Standard_Integer argc, void XSDRAW::ChangeCommand (const Standard_CString oldname, const Standard_CString newname) { - if (theolds.IsNull()) theolds = new Dico_DictionaryOfInteger; Standard_Integer num = 0; if (newname[0] != '\0') { if (thenews.IsNull()) thenews = new TColStd_HSequenceOfAsciiString(); @@ -72,7 +70,7 @@ static Standard_Integer XSTEPDRAWRUN (Draw_Interpretor& , Standard_Integer argc, thenews->Append(newstr); num = thenews->Length(); } - theolds->SetItem (oldname,num); + theolds.Bind(oldname,num); } void XSDRAW::RemoveCommand @@ -118,8 +116,8 @@ void XSDRAW::LoadDraw (Draw_Interpretor& theCommands) Standard_Integer nact, num = -1; char help[200]; com = list->Value(i); - if (!theolds.IsNull()) - if (theolds->HasItem(com.ToCString())) num = theolds->Item(com.ToCString()); + if (!theolds.IsEmpty()) + theolds.Find(com, num); if (num == 0) continue; if (!IFSelect_Activator::Select(com.ToCString(),nact,act)) Sprintf (help,"type : xhelp %s for help",com.ToCString());