zoukankan      html  css  js  c++  java
  • Hoops随便记的

    包含图形的段
    ·几何
    ·属性:颜色,可见性,选择功能等等
    ·子段:更低层的段
    段的名称
    ·段可以进行命名
    ·可以像文件系统一样表示路径:绝对路径、相对路径、通配符
    当前段(激活的段)
    ·你可以在任何一个时间来处理段
    ·总存在一个激活的段
    ·激活的段以先入先出的方式压入堆栈

    HC_Open_Segment(const char *segment)
    HC_Close_Segment()
    插入一条线
    void HC_Insert_Line(double xa,double ya,double za,double xb,double yb,double zb)
    xa,ya,za:起点坐标
    xb,yb,zb:终点坐标

    HC_Open_Segment(“XXX”);
    HC_Insert_Line(0,0,0,1,1,1);
    HC_Close_Segment();


    颜色设置
    Void HC_Set_Color(const char *color_spec)
    颜色说明:字符串指定一个形体类型和颜色
    “edges”-包含polygons,shells和meshes
    “faces”-包含shells和meshes
    “markers”-单独的点

    HC_Open_Segment(“XXX”);
    HC_Set_Color(“faces=red,line=white”);
    HC_Close_Segment();


    设置标记点符号
    void HC_Set_Marker_Symbol(const char * symbol)

    符号:字符串来定义符号点
    “()”or“O”:封闭的圆(缺省)
    “*”:星号
    “+”:加号
    “.”:点

    HC_Open_Segment(“XXX”);
    HC_Set_Marker_Symbol(“+”);
    HC_Close_Segment();


    设置标记的大小
    void HC_Set_Marker_Size(double weight);

    大小:缺省大小时场景的0.1%
    HC_Open_Segment(“XXX”);
    HC_Set_Marker_Size(2);
    HC_Close_Segment();


    HC_Set_Line_Weight //设置线宽
    宽度:缺省线宽是场景的0.1%
    HC_Set_Line_Pattern //设置线型
    线型:字符串来定义线型:“实线”,“虚线”,“点划线”,“双点划线”
    HC_Set_Visibility //设置对象的可见性和有效性
    List:字符串定义选项
    edges、faces、markers
    终止应用程序的方法
    释放应用程序使用的数据
    终止HOOPS
    HC_Exit_Program()
    一些编译器和操作系统并不能完成该操作
    释放HOOPS分配的内存
    HC_Reset_System()
    HC_Reset_System()在HC_Exit_Program()中调用

    对每个编译器来说头部名称是不同的
    HC_是作为C/C++的头部名称来使用
    HC_<动词>_<名词>
    HC_Set_Color
    HC_Insert_Circle
    HC_Define_Colormap
    提供相关的函数
    HC_KXXX()
    返回一个段或几何图元的键值
    HC_QXXX()
    内部实现打开和关闭指定段
    HC_QKXXX()
    内部实现打开和关闭指定段
    返回一个段的键值


    字符串可以包含特殊文字
    支持下划线和空格
    缺省情况下不区分大小写字母
    编译器不能发现错误的字符串
    在运行的时候HOOPS会显示错误消息

    段的名称中可以包含路径
    绝对路径
    “/include library/model/airplane”
    相对路径
    “../../fuselage/landing gear”
    通配符
    “*”
    其他
    “.”当前段
    “..”上一层段
    “…”进行递归

    段和几何图元都通过键值(HC_KEY)来管理
    HC_KEY的类型与长整数是相同的
    依赖于系统的结构
    通常是32位或者是64位
    有时它比使用字符串名称更加方便
    将3dGS的对象映射到应用程序对象
    操作另一个结构


    每一个段有一个4×4矩阵
    在段层上进行操作
    对段中的所有几何都是有效的
    两种方法来操作矩阵
    标准函数
    HC_Rotate_Object
    (Moves the represented object about its X-, Y-, or Z-axis.)//旋转
    Rotate_Object_Offaxis
    (Moves the represented object about an arbitrary axis.)//任意轴旋转
    HC_Scale_Object
    (Enlarges or reduces objects within the user data space. Not to be confused with Zoom_Camera.)
    (在用户数据空间中放大或缩小对象。 不要与Zoom_Camera混淆。)
    HC_Transform_Object//(没找到这个方法,但文档上有写)
    HC_Translate_Object//平移
    直接设置矩阵
    HC_Append_Modelling_Metrix级联-矩阵相乘
    HC_Set_Modelling_Metrix重新设
    移动段中指定对象的方法
    将指定的对象移动到其他段中
    修改一个段的矩阵


    HOOPS MVO的段结构
    HDB:
    ·程序启动时就被创建
    ·创建和删除对象
    ·是从CWinApp派生出来的
    ·定义应用程序使用的全局对象
    ·保存驱动器的数目
    ·启动和终止HOOPS
    HBaseModel:处理在包含库下的段
    HBaseView:处理在驱动段下的段和实例
    HBaseOperator:处理图形用户界面/事件循环
    ·相机操作
    ·几何对象操作
    ·选择

  • 相关阅读:
    消息队列 ActiveMQ
    Redis
    SQL 怎么用EXISTS替代IN
    SQL优化
    为什么要重写hashCode()和equals()方法
    Redis的介绍和面试可能问到的问题
    建立私有CA和颁发证书
    修复grub2
    Centos 7 进入救援模式
    Centos 服务的常用命令
  • 原文地址:https://www.cnblogs.com/gin304994/p/6084467.html
Copyright © 2011-2022 走看看