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: