1、OCC 基础类概述
基础类包括根类组件、 串类组件、 集合容器组件、 标准对象的集合容器组件、向量和矩阵类组件、 基本几何类型组件、 常用数学算法组件、 异常类组件、 数量类组件和应用程序服务组件。
1 根类组件
根类是基本的数据类型和类, 其它所有类都是依此而建立的。 它提供以下类型和类:
(1) 基本类型, 如 Boolean(布尔类型)、 Character(字符型)、 Integer(整型)或者 Real(实型)等。
(2) 动态对象的安全处理, 以确保那些不再被引用的对象能被及时删除(详见 Standard_Transient 类)。
(3)可设置的内存优化管理器。它能改善那些经常使用动态对象的程序性能。
(4) run-time 类型信息扩展机制。它使得复杂程序的创建变得更为简易。
(5)异常管理。
(6) C++各种流的封装。
根类主要在 Standard 和 MMgt 两个包中实现。
2 串类组件
串类用来处理动态大小的 ASCII 和 Unicode 字符序列,可以通过句柄处理,因此也可以被共享。串类在 TCollection 包中实现。
3 集合容器组件
集合容器是处理动态大小的数据集合的类。 集合容器是通用的, 即每一种集合容器定义了一种结构和一些算法, 可持有许多对象——通常这些对象不必从根类继承。 这与 C++模板相似。 如果需要使用一个给定对象类型的集合容器, 则必须对这个元素的指定类型进行实例化。 一旦这个实例声明被编译, 所有基于这个通用集合容器的函数都可以在集合容器对象中实现。
集合容器包含许多通用类, 如 run-time 大小的数组、 列表、 栈、 队列、 集(Set)和散列图(hash map)。集合容器在 TCollection 和 NCollection 包中实现。
4 标准对象的集合容器组件
TColStd 包为 TCollection 包中通用类的一些经常使用的实例化提供对象(来自 Standard 包)或者串(来自TCollection 包)。
5 向量和矩阵类组件
向量和矩阵类提供了有关向量和矩阵的常用数学算法和基本运算(加、乘、转置、求逆等)。
6 基本几何类型组件
基本几何类型提供了基本几何实体和代数实体的实现。这些实现符合 STEP(Standard Exchange of Product data model,即产品数据模型的交换标准)。它们提供基本几何 Shape 的描述(点、 向量、 直线、 圆与圆锥、 平面与基本曲面、 通过坐标轴或坐标系使 Shape 在平面上或空间中定位) 和 Shape 几何变换的定义与应用(平移、旋转、对称、缩放、复合变换、代数计算工具)。
7 常用数学算法组件
常用数学算法为那些经常使用的数学算法提供 C++实现。这些算法有:
(1)求解线性代数方程组的算法 ;
(2)求一元或多元函数最小值的算法;
(3)求解非线性方程或非线性方程组的算法;
(4)求矩阵特征值和特征向量的算法。
8 异常类组件
OCC 提供了一套异常类。所有异常类都是基于它们的根类—— Failure 类的。 异常类描述了函数运行期间可能发生的异常情况。 发生异常时, 程序将不能正常运行。对这种情况的响应称为异常处理。
9 数量类组件
数量类为日期和时间信息提供支持,同时也为表示常用物理量的基本类型(如长度、面积、体积、质量、密度、重量、温度和压力等)提供支持。
10 应用服务组件
应用服务组件包括几种低级服务的实现。借助 OCC 平台,这些服务可以使