PK获取面积
时间:2022-01-24
本文章向大家介绍PK获取面积,主要包括PK获取面积使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
BOOL PK_AskFaceAreas(tag_t face_tag, double tol, double &areas) {//获得面积 tag_t ps_tag = NULL_TAG; double amount[3] = { 0.0, 0.0, 0.0 }; double mass[3] = { 0.0, 0.0, 0.0 }; double c_of_g[3] = { 0.0, 0.0, 0.0 }; double m_of_i[6] = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 }; double periphery[3] = { 0.0, 0.0, 0.0 }; PK_FACE_t pkFace = 0; PK_TOPOL_eval_mass_props_o_t props_o_t; areas = 0.0; if (NULL_TAG == face_tag || UF_PS_ask_ps_tag_of_object(face_tag, &ps_tag)) return FALSE; pkFace = ps_tag; if (tol < 0.99) tol = 0.99; if (tol > 1.0) tol = 1.0; PK_TOPOL_eval_mass_props_o_m(props_o_t); props_o_t.mass = PK_mass_c_of_g_c; PK_TOPOL_eval_mass_props(1, &pkFace, tol, &props_o_t, amount, mass, c_of_g, m_of_i, periphery); areas = amount[0] * 1000.0 * 1000.0; return TRUE; }
BOOL PK_AskFaceAreas(CUIntArray &tFaceTags, double tol, double &areas) {//获得面积 int i = 0; tag_t ps_tag = NULL_TAG; double amount[3] = { 0.0, 0.0, 0.0 }; double mass[3] = { 0.0, 0.0, 0.0 }; double c_of_g[3] = { 0.0, 0.0, 0.0 }; double m_of_i[6] = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 }; double periphery[3] = { 0.0, 0.0, 0.0 }; PK_FACE_t *pkFaces = NULL; CUIntArray temps; PK_TOPOL_eval_mass_props_o_t props_o_t; areas = 0.0; if (0 == tFaceTags.GetSize()) return FALSE; for (i = 0; i < tFaceTags.GetSize(); i++) { if (!UF_PS_ask_ps_tag_of_object(tFaceTags[i], &ps_tag)) { temps.Add(ps_tag); } } if (0 == temps.GetSize()) return FALSE; pkFaces = new PK_FACE_t[temps.GetSize()]; for (i = 0; i < temps.GetSize(); i++) { pkFaces[i] = temps[i]; } if (tol < 0.99) tol = 0.99; if (tol > 1.0) tol = 1.0; PK_TOPOL_eval_mass_props_o_m(props_o_t); props_o_t.mass = PK_mass_c_of_g_c; PK_TOPOL_eval_mass_props(temps.GetSize(), pkFaces, tol, &props_o_t, amount, mass, c_of_g, m_of_i, periphery); areas = amount[0] * 1000.0 * 1000.0; delete pkFaces; pkFaces = NULL; return TRUE; }
————————————————
版权声明:本文为CSDN博主「梅雷」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/raley66/article/details/100764229
原文地址:https://www.cnblogs.com/liuxiaoqing1/p/15840832.html
- 聊一聊大数据的问题和缺陷
- Flash/Flex学习笔记(13):对象拖动(startDrag/stopDrag)
- 原来Silverlight 4中是可以玩UDP的!
- Flash/Flex学习笔记(12):FMS 3.5之如何做视频实时直播
- Flash/Flex学习笔记(11):如何检测摄像头是否被占用
- Flash/Flex学习笔记(10):FMS 3.5之Hello World!
- Swarm基于多主机容器网络-overlay networks 梳理
- 未来AI可能会淘汰180万个工作岗位,你感到恐惧了吗
- css基础:把所有背景图都集成在一张图片上,减少图片服务器请求次数
- Docker可视化界面(Consul+Shipyard+Swarm+Service Discover)部署记录
- windows 2008上启用防火墙后sqlserver 2005经常出现连接超时的解决办法
- 重温delphi之控制台程序:Hello World!
- Docker集中化web界面管理平台-Shipyard部署记录
- "Goole项目托管"及"CodePlex发布开源项目"要点
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 为Plesk PHP7启用Oracle OCI8扩展方法总结
- PHP模版引擎原理、定义与用法实例
- python如何查看安装了的模块
- Linux下源码包安装Swoole及基本使用操作图文详解
- python实现简易版学生成绩管理系统
- PHP中localeconv()函数的用法
- 解决pytorch多GPU训练保存的模型,在单GPU环境下加载出错问题
- PHP数据对象映射模式实例分析
- Pytorch 解决自定义子Module .cuda() tensor失败的问题
- PHP异常类及异常处理操作实例详解
- PHP面向对象程序设计(OOP)之方法重写(override)操作示例
- Python3与fastdfs分布式文件系统如何实现交互
- PHP判断是否微信访问的方法示例
- Pytorch损失函数nn.NLLLoss2d()用法说明
- python实现学生成绩测评系统