当前位置: 首页 > news >正文

青岛网站排名优化公司哪家好为什么我的网站只有新闻业被收录

青岛网站排名优化公司哪家好,为什么我的网站只有新闻业被收录,软件开发具体做什么,公司网站更换域名一、Tag是什么? gmsh中的几何模型相对于OCC的模型增加了id编号,也叫tag,在gmsh中可以显示出来。在gmsh中,点、线、面、体都有Tag,以方便对其查找定位查找。在OCC中TopoDS_Shape只有几何与拓扑结构,没有唯一…

一、Tag是什么?

gmsh中的几何模型相对于OCC的模型增加了id编号,也叫tag,在gmsh中可以显示出来。在gmsh中,点、线、面、体都有Tag,以方便对其查找定位查找。在OCC中TopoDS_Shape只有几何与拓扑结构,没有唯一id编号,所以gmsh导入OCC对象的第一步是打Tag。
在这里插入图片描述

二、gmsh中打Tag的源码

gmsh导入OCC对象有两种方式:
1. 将OCC对象写出step或brep文件,将gmsh作为单独程序使用,用geo文件引入几何文件
2. 将gmsh作为库使用时,可以用gmsh::model::occ::importShapesNativePointer直接导入

不管那种方式导入,最后都会调用OCC_Internals::importShapes方法:

bool OCC_Internals::importShapes(const TopoDS_Shape *shape, bool highestDimOnly,std::vector<std::pair<int, int> > &outDimTags)
{if(!shape) return false;// 打Tag_multiBind(*shape, -1, outDimTags, highestDimOnly, true);return true;
}

这里有个_multiBind方法就是给TopoDS_Shape绑定tag。打开其代码,发现其原理很简单,就是用OCC提供的对象拓扑遍历类TopExp_Explorer遍历体、面、边、点,给其一个唯一的Tag,并记录到对应的map中。

三、获取几何对象与网格映射关系

在CAE产品中,边界与载荷经常施加在几何对象上,但求解器最终使用的是节点、单元,所有需要根据几何查找其对应的节点或单元。所谓的几何与网格的映射关系指根据几何对象查找对应的网格对象(这种叫法是我个人理解,不清楚学界有没有专业术语)。如:几何点对应的节点,几何面有哪些节点组成,又由哪些面单元组成。
gmsh提供了专门的API获取这些数据:
1. gmsh::model::occ::getEntities:获取几何对象的tag及维度
2. gmsh::model::mesh::getNodes:获取几何实体对应的节点
3. gmsh::model::mesh::getElements:获取几何实体对应的单元

下面是一段这些API使用的demo:

gmsh::initialize();
gmsh::model::add("t1");
std::vector<std::pair<int, int> > v;
const TopoDS_Shape aShape = ...; // 改成你自己的shape
gmsh::model::occ::importShapesNativePointer(&aShape, v, false);
gmsh::model::occ::synchronize();
gmsh::option::setNumber("Mesh.MeshSizeMin", 0.1);
gmsh::option::setNumber("Mesh.MeshSizeMax", 1);
gmsh::model::mesh::generate(3);gmsh::vectorpair entities;
gmsh::model::occ::getEntities(entities); // 获取occ的entities
for (auto entity : entities) {std::vector<std::size_t> nodeTags; // 节点的编号std::vector<double> coordinate; // 节点的坐标std::vector<double> pCoord;gmsh::model::mesh::getNodes(nodeTags, coordinate, pCoord, entity.first, entity.second, true);std::vector<int> elementTypes; // 存放单元类型std::vector<std::vector<std::size_t> > elementTags; // 存放单元编号std::vector<std::vector<std::size_t> > elementNodeTags; // 单元节点编号gmsh::model::mesh::getElements(elementTypes, elementTags, elementNodeTags, entity.first, entity.second);
}gmsh::write("t1.vtk");
gmsh::finalize();
http://www.yayakq.cn/news/884942/

相关文章:

  • 做包装用哪个网站国内贸易在那个网站上做
  • 网站基础知识软件定制化
  • 高校二级网站建设要求政协网站 是政协信息化建设
  • 为什么选择做游戏网站郑州网站开发网站开发
  • 做网站怎么拿框架的原代码已有域名怎么建设网站
  • 网站注册商标用wordpress搭建的网站
  • 邯郸网站建设行情电商网站推广常见问题
  • 集团网站设计建设网站优化公司多少钱
  • 网站登陆系统怎么做杭州app定制
  • 森普网站建设旅游网站设计代码模板
  • 英文网站建设知识最便宜做公司网站
  • 建站工具搭建网站音乐设计网站推荐
  • 专业电商网站建设多少钱公司行政负责做网站吗
  • 做网站之前需要准备什么条件快乐建站网
  • 杭州市建设工程质量安全监督总站网站重庆网站建设制作
  • asp网站可以做移动端网站么长沙制作网站
  • 苏州在线网站制作青岛网站制作流程
  • 平台类网站建设网络营销人员应具备哪些技能
  • 网站维护的基本内容有哪些会计培训班推荐
  • 免费申请账号网站直播app开发需要多少钱
  • 个人做免费的网站不用付费不用登录的网站
  • 绿色风格网站网页和网站做哪个好用吗
  • 个人网站域名备案流程资源网址推荐安全的
  • 263网站建设怎么样seo优化是什么
  • 做设计什么网站兼职建站宝盒下载
  • 济南市住建局官方网站WordPress wlw设置
  • 百度网站推广排名优化wordpress sql 导入数据库备份
  • 成都网站优化seo公司设计网站有哪些
  • 休闲食品网站建设规划书中国建设银行网站密码是什么
  • 太平洋建设网站互联网 医疗网站建设有哪些城市