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:处理图形用户界面/事件循环
    ·相机操作
    ·几何对象操作
    ·选择

  • 相关阅读:
    [JSOI2007][BZOJ1031] 字符加密Cipher|后缀数组
    leetcode Flatten Binary Tree to Linked List
    leetcode Pascal's Triangle
    leetcode Triangle
    leetcode Valid Palindrome
    leetcode Word Ladder
    leetcode Longest Consecutive Sequence
    leetcode Sum Root to Leaf Numbers
    leetcode Clone Graph
    leetcode Evaluate Reverse Polish Notation
  • 原文地址:https://www.cnblogs.com/gin304994/p/6084467.html
Copyright © 2011-2022 走看看