2013-05-08 21:33:39|?次阅读|上传:wustguangh【已有?条评论】发表评论
应用程序通过实例化存储在库(catalogs)中的特征startups创建特征对象。这篇文章介绍这些库(catalogs)的属性。
假设你已经熟悉了特征模型的基本概念。
一个库(catalog)是一个文件,该文件包含StartUps,使得一个应用程序可以装载这些StartUps并且将它们实例化到特征(features)中。特征存储在一个称之为容器的固定结构中。库(Catalogs)与动态连接库(shared libraries)非常相似,不同之处是库(catalog)包含数据模型而不是可执行代码。
类似于使用C++或者其它语言编译的动态连接库(shared libraries),库(catalogs)通过OSM文件创建。OSM是用于描述库(catalogs)的内容的语言。库(catalogs)通过一个名字为CATfctEditorAssistant的工具的帮助在编译时(build-time)生成。
如果你有足够的权限,获取与一个库(catalog)对应的OSM内容通常都是可能的。
对于一个被应用程序读取的库,必须被放置在运行视图(run-time view),即在目录OS_directory/resources/graphic中(类似于使用CATGraphicPath环境变量定义)。使用mkCreateRuntimeView命令通过从你的工作空间的多个目录拷贝文件建立运行时视图(run-time view)。库(catalogs)从目录 CNext/resources/graphic拷贝:该目录是你的库(catalogs)应当被保存的位置。
这就是为什么库从不使用它们的路径而仅仅使用他们的名字进行定义。
因为所有库共享同一个运行时视图目录,所以它们的名字选择时必须避免任何可能的冲突。
一个库通过一个名为Client ID的键保护起来。当库被创建时,一个用于作为这个库的Client ID的字符串必须被提供。从那时起,只有这个client ID被正确提供才可以读取这个库,提供这个client ID可以使用应用程序代码或者通过CATfactEditorAssistant工具输入。
注意:客户ID(client ID)一旦在库被创建以后就不再允许被更改。
库无法直接通过转换一个OSM文件生成。首先对OSM文件的内容进行分析,仅仅改变的内容被添加到库中。采用这种模式是为了避免产生破坏已经创建的特征的更改。比如包含StartUp和属性移除这种不兼容的更改。
因而库仅仅创建一次,首先创建一个空的库然后通过从后续的OSM文件版本合并更改对库进行更新。
有两种类型的库(catalog):继承自达索系统的库和通过CAA用户创建的库。每种库的类型有一个不同的文件扩展名:达索系统的库使用.feat作为扩展名,其他库使用.CATfct作为扩展名。
两种库的类型都有相同的用途,即包含可以被实例化或者被继承的StartUps。两种库有不同的读取方式:
l 读取一个.feat库不需要client ID而读取.CATfct库需要。
l .feat库无法使用CATfctEditorAsistant工具处理,因此无法使用那些适用于.CATfct库的操作,比如更新或者获取OSM内容的操作。
在这篇文章中,我们介绍了库(catlog),库(catlog)是存储StartUps的文档。