• ObjectARX ads_point 和AcGePoint3d 的转化


    ads_point 是原来的ADS 编程中定义的一种数据类型,其定义为:

    typedef ads_real ads_point[3];

    而ads_real 则被定义为:

    typedef double ads_real;

    可以看出,ads_point 实际上是一个三维浮点数组,它至今仍在与ADS 相关的编程中使用。从ads_point 转换到AcGePoint3d 类型的点,即可以通过数组元素直接赋值,也可以通过asPnt3d 函数直接转化:
    1. 通过数组元素交换:

    ptInsert[X] = pt[X];
    ptInsert[Y] = pt[Y];
    ptInsert[Z] = pt[Z];

    2.使用asPnt3d 函数(需要包含geassign.h 头文件):

    AcGePoint3d ptInsert = asPnt3d(pt);

    之所以可以使用X、Y 和Z 直接作为数组的下标,是由于这三个字母在ObjectARX 有特殊的定义:

    enum { X = 0, Y = 1, Z = 2 };
    1 // AcgePoint3d转化成ads_point
    2 void LzxCalculation::AcgePoint3dToads_point(const AcGePoint3d& pt, ads_point& adsPoint)
    3 {
    4     adsPoint[X] = pt.x;
    5     adsPoint[Y] = pt.y;
    6     adsPoint[Z] = pt.z;
    7 }
  • 相关阅读:
    IE6不支持hover赋予css样式的解决方法 如div:hover li:hover支持
    导航条
    check的css样式
    css3网站
    时间轴滚动充盈
    html5网站
    图片查看插件
    响应式列表中控制图片高度一致js
    json数组按xxx属性值排序 升序
    H5响应式方案
  • 原文地址:https://www.cnblogs.com/lzx838/p/2633617.html
Copyright © 2020-2023  润新知