适用于C/C++开发人员的HOOPS
创始人
2024-02-11 00:41:28

1.编译和运行时信息

1.1编制和执行

编译和运行基于C的应用程序需要以下步骤:
编译:

  • 所有3DGS应用:
    • hoops.lib
  • 使用HOOPS/MVO的应用:
    • hoops_mvo.lib
  • 使用HOOPS/Stream的应用:
    • hoops_stream.lib

执行:确保以下本地DLL位于应用程序的目录或PATH中。

  • 所有3DGS应用:
    • hoops< version > _v< Visual Studio version >.dll
  • 使用HOOPS/MVO的应用:
    • hoops_mvo< version >_v< Visual Studio version >.dll
    • hoops_mvo_mgk< version >_v< Visual Studio version >.dll
  • 使用HOOPS/Stream的应用:
    • hoops_stream< version >_v< Visual Studio version >.dll

如果您正在使用文件reader插件(如HOOPS Exchange或DWG),则还必须在应用程序的运行时环境中提供相应的.hio文件。例如,要使用HOOPS Exchange读取文件,请确保提供hioexchange<version>.hio。请注意,这些HIO文件仅是接口-您仍然需要支持的第三方库来使用HIO功能。

上述文件位于/bin/nt_i386_vc目录中。

2.C/C++定义

为了访问包括HOOPS可视化API的HC_rountines函数原型,HOOPS Visualize的用户需要在他们的程序中包含头文件hc.h。
HOOPS I.M.的用户还应包含hic.h来访问中间模式例程。中间模式例程不是Visualize之上的一层。中间模式例程直接访问HOOPS Visualize本身使用的数据和过程。包含hic.h自动为用户包含hoop.h。可视化本身的约定和编码风格体现在hoops.h中。通过查看驱动程序源代码,可以轻松识别这种编码风格。以下词语在hoops.h中定义:

null
countof
true, false
forever
until
global, globaldata
local
nobreak
stack

在HOOPS I.M.程序中不要使用这些词汇。

3.例程名称

3.1例程名称:前缀

Visualize程序中的每个例程名称(例如::Insert_Polyline)必须有前缀,才能在计算机系统上实际使用该名称。前缀取决于您使用的语言,有时还取决于您所使用的语言的品牌。当从C和C++调用时,用户必须在例程前面加上HC_,如::Reset_System。

3.2通用名称

所有HOOPS Visualize例程的名称都遵循一个标准模式:名称的第一部分是一个主动动词,表示要做什么,第二部分是描述性名词。最常见的动词有:

  • Define:更改全局系统状态,或将某些内容添加到系统范围的表中。
  • Insert:将新的图片元素合并到当前片段中,并返回对该元素的引用。
  • DInsert:Insert的双精度版本。传递double而不是float。
  • Edit:更改现有图片元素的定义。
  • DEdit:编辑的双精度版本。传递double而不是float。
  • Set:为属性加载显式新值。
  • UnSet:取消设置。(允许再次从更高级别继承属性值。)
  • Show:从系统中检索一项信息。
  • DShow:双精度版本。返回double而不是float。
  • Begin:初始化数据库信息搜索。
  • Find:逐步进行信息搜索。
  • End:完成信息搜索。

请注意,各种状态修改例程中会出现许多其他动词,例如::Dolly_Camer和::Rename_Seggment。这些不太频繁出现的动词通常是不言自明的。

最常用的名词:

  • Segment: The routine works with a graphics segment (a place for storing picture elements) as one element.
  • Camera: The routine positions or moves the viewing camera.
  • Object: The routine works with the “real” objects (as organized into segments) from which your scene is composed.
  • Text: The routine affects the text labels appearing in the scene.

4.C/C++中的数据类型名称和语言声明

4.1HC_ 约定

HC_subroutines(子例程)使用的数据类型转换如下:
在这里插入图片描述
由于HOOPS使用的位模式可能与“TRUE”宏的位模式不相同,请避免将“布尔值”与“TRUE值”进行显式比较。相反,请依赖“不等于零”的C属性。

如果例程定义指定“通过引用传递”,则C中的参数必须是前面有“&”的简单变量或指针值。

如果例程定义指定了return子句,则可以忽略C中的返回值。这在其他语言中可能不正确。

如果实际参数(字符串)被指定为通过引用传递。返回给用户时,必须提供一个足够大的简单变量的地址,以容纳可能返回的内容。(调用::Define_System_Options可用于指定HOOPS应返回的最大C字符串长度。)

4.2 HIC约定

HIC_子例程使用的其他数据类型转换如下:

HIC_Marker, HIC_Point, HIC_Polygon, HIC_Polyline, and HIC_Text

相关内容

热门资讯

埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...