OpenCASCADE Foundation Classes
Collections, Strings and Unit Conversion
OpenCASCADE基礎庫之集合、字符串和單位轉換
一、集合 Collections
1. 概述 Overview
集合Collections包含可處理動態大小的數據類,包括數組、鏈表、映射等。集合中的類是泛型的,即集合可以保存任何對象數據而不用關心是不是從一個基類派生而來的對象。當使用集合來保存指定的對象時,你必須從指定的類型來實例化。當聲明編譯后,通用集合的所有函數對實例化后的類都可用。
l Each collection directly used as argument in an OpenCASCADE public syntax is instantiated in a OpenCASCADE component;
l The TColStd package(Collections of Standard Objects component)provides numerous instantiations of these generic collections with objects from the Standard package or from the Strings component;
集合部件提供很多通用的集合,如下:
l 數組Arrays:常用于快速訪問數據,盡管其大小是固定的;
l 序列Sequences:是大小不固定的數據結構,可用于大量數據的存儲。但是序列中數據的訪問要比數據中的慢。序列和數組常用于作為復雜對象的數據。
l 映射Maps:映射也是動態的數據結構,但是其大小總是與插入的數據相適應且訪問速度很快。
l 鏈表、隊列、棧與序列類似;
包TCollection中通用的集合Generic general-purpose aggregates:
l Array1
l Array2
l HArray1
l HArray2
l HSequence
l HSet
l List
l Queue
l Sequence
l Set
l Stack
包TCollection中的通用映射類Generic Maps:
l BasicMap
l DataMap
l DoubleMap
l IndexedMap
l IndexedDataMap
l Map
l MapHasher
包TCollection中的遍歷器 Iterators:
l BasicMapIterator;
l DataMapIterator;
l DoubleMapIterator;
l ListIterator;
l MapIterator;
l SetIterator;
l StackIterator;
2. 通用集合 Generic general-purpose Aggregates
TCollection(The collections of standard object)類提供常用的泛型集合。它有個限制:OCCT泛型類需要兼容CDL的定義,所以只能在WOK中被實例化。
NCollection部分是為了滿足不使用WOK開發環境的用戶的需要。它完全可以替換TCollection中的類來使用。
l TCollection_Array1:在現在的Reference文檔中沒有發現,只有NCollection_Array1
l TCollection_Array2:二維數組;
l TCollection_HArray1:
l TCollection_HArray2:
l TCollection_HSequence:
l TCollection_HSet:
l TCollection_List:
l TCollection_Queue:FIFO,First In First Out;
l TCollection_Sequence:
l TCollection_Set:
l TCollection_Stack:LIFO, Last In First Out;
3. 通用映射 Generic Maps
TCollection_BasicMap是Root class for maps。Maps是一種可以通過鍵Key快速訪問其數據的動態可擴展的數據結構。
l TCollection_MapHasher
l TCollection_DataMap
l TCollection_DataMapIterator
l TCollection_MapHasher
l TCollection_DoubleMap
l TCollection_DoubleMapIterator
l TCollection_IndexedDataMap
l TCollection_IndexedMap
l TCollection_Map
4. 遍歷器 Iterators
l TCollection_BasicMapIterator
l TCollection_DataMapIterator
l TCollection_DoubleMapIterator
l TCollection_ListIterator
l TCollection_MapIterator
l TCollection_SetIterator
l TCollection_StackIterator
二、標準對象集合Collections of Standard Objects
略。
三、字符串 Strings
1. 概述 Overview
Strings提供了操作字符串的功能。Strings是可以處理動態大小的字符序列的類,字符包括ASCII(通常為8位字符)和Unicode(16位字符)。Strings也是由手柄控制。
Strings (TCollection 包)
l AsciiString
l ExtendedString
l HAsciiString
l HExtendedString
Conversion (Resource 包)
l Unicode
2. 字符串
l TCollection_AsciiString:處理可變長的ASCII(8位)字符串的類;
l TCollection_ExtendString:處理可變長UNICODE(16位)字符串的類;
其相應的手柄類分別為:
l TCollection_HAsciiString:
l TCollection_HExtendedString:
3. 轉換 Conversion
l Resource_Unicode:提供將非ASCII的字符串(ANSI, EUC, GB, SJIS)轉換成UNICODE字符串。
四、單位轉換 Unit Conversion
包UnitsAPI中的全局函數可以用來將數據在任意單位之間進行轉換。轉換在以下三種單位系統中執行:
l SI System:標準國際單位系統;
l 用戶Local System:
l 用戶Current System: