查找一个顶点的一层领域边

简介

查找一个顶点的一层领域边

代码一

这个代码使用了太多的auto,其实不利于阅读,代码二,把auto更改了。

#include <iostream>
#include <vector>
// -------------------- OpenMesh
using namespace std;
#include <OpenMesh/Core/IO/MeshIO.hh>
#include <OpenMesh/Core/Mesh/TriMesh_ArrayKernelT.hh>
typedef OpenMesh::TriMesh_ArrayKernelT<>MyMesh;int main()
{MyMesh mesh;// read mesh from stdinint a, x0, y0;if (!OpenMesh::IO::read_mesh(mesh, "output8.off")){cerr << "Error: cannot write mesh to " << endl;return 1;}cout << "请输入您要查找邻域的顶点坐标:" << endl;cout << "x="; cin >> x0;cout << "y="; cin >> y0;for (MyMesh::VertexIter v_it = mesh.vertices_begin(); v_it != mesh.vertices_end(); ++v_it){// circulate around the current vertex  auto point = mesh.point(*v_it);if (point.data()[0] == x0 && point.data()[1] == y0)//找到对应的点for (auto vh_it = mesh.voh_begin(*v_it); vh_it != mesh.voh_end(*v_it); ++vh_it) // 半边迭代器{auto h = mesh.next_halfedge_handle(*vh_it);// 这个顶点的下一条半边auto to_v = mesh.to_vertex_handle(h);// 下一条半边相对的点(handle)auto from_v = mesh.from_vertex_handle(h);// 下一条半边开始的点(handle)auto topoint = mesh.point(to_v);// 把handle转换为点的结构返回出去auto frompoint = mesh.point(from_v);// 同上cout << "邻域边两端顶点1坐标x:" << frompoint.data()[0] << "  y:" << frompoint.data()[1] << "  z:" << frompoint.data()[2] << endl;cout << "邻域边两端顶点2坐标x:" << topoint.data()[0] << "  y:" << topoint.data()[1] << "  z:" << topoint.data()[2] << endl;cout << "\n" << endl;}else continue;}cin >> a;// write mesh to stdoutif (!OpenMesh::IO::write_mesh(mesh, "output9.off")){cerr << "Error: cannot write mesh to " << endl;return 1;}return 0;
}

代码二

#include <iostream>
#include <vector>
// -------------------- OpenMesh
using namespace std;
#include <OpenMesh/Core/IO/MeshIO.hh>
#include <OpenMesh/Core/Mesh/TriMesh_ArrayKernelT.hh>
typedef OpenMesh::TriMesh_ArrayKernelT<>MyMesh;int main()
{MyMesh mesh;// read mesh from stdinint a, x0, y0;if (!OpenMesh::IO::read_mesh(mesh, "output8.off")){cerr << "Error: cannot write mesh to " << endl;return 1;}cout << "请输入您要查找邻域的顶点坐标:" << endl;cout << "x="; cin >> x0;cout << "y="; cin >> y0;for (MyMesh::VertexIter v_it = mesh.vertices_begin(); v_it != mesh.vertices_end(); ++v_it){// circulate around the current vertex  OpenMesh::Vec3f point = mesh.point(*v_it);if (point.data()[0] == x0 && point.data()[1] == y0)//找到对应的点for (auto vh_it = mesh.voh_begin(*v_it); vh_it != mesh.voh_end(*v_it); ++vh_it) // 半边迭代器{auto h = mesh.next_halfedge_handle(*vh_it);// 这个顶点的下一条半边OpenMesh::ArrayKernel::VertexHandle to_v = mesh.to_vertex_handle(h);// 下一条半边相对的点(handle)OpenMesh::ArrayKernel::VertexHandle from_v = mesh.from_vertex_handle(h);// 下一条半边开始的点(handle)OpenMesh::Vec3f topoint = mesh.point(to_v);// 把handle转换为点的结构返回出去OpenMesh::Vec3f frompoint = mesh.point(from_v);// 同上cout << "邻域边两端顶点1坐标x:" << frompoint.data()[0] << "  y:" << frompoint.data()[1] << "  z:" << frompoint.data()[2] << endl;cout << "邻域边两端顶点2坐标x:" << topoint.data()[0] << "  y:" << topoint.data()[1] << "  z:" << topoint.data()[2] << endl;cout << "\n" << endl;}else continue;}cin >> a;// write mesh to stdoutif (!OpenMesh::IO::write_mesh(mesh, "output9.off")){cerr << "Error: cannot write mesh to " << endl;return 1;}return 0;
}

转载于:https://www.cnblogs.com/eat-too-much/p/11157035.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/550230.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

html控制按钮里面的文字,有谁可以告诉我web网页制作中通过三个按钮控制页面上的一段文字放? 爱问知识人...

先下载jquery-1。2。6。pack。js&#xff0c;包含到文件中EnlargeFont-size:12pxSmallAndy Moor – Fake Awake (Eco mix) (Anjunabeats)Humate – Love Stimulation (Glenn Morrison & Bruce Aisher mix) (Poker FlatEnlargeFont-size:12pxSmallAndy Moor – Fake Awake (…

git两个账号切换_Git切换账号方法

Windows修改Git账号 打开控制面板(Win+s快捷键),输入:control 命令行:control 凭证管理器 使用[凭证管理器]修改git账号: 全局范围修改账号 运行git config --global选项:$ git config --global user.name "John Doe" $ git config --global user.email "j…

河海大学计算机学硕导师选择理由,研导师:河海大学统计学考研经验

原标题&#xff1a;研导师&#xff1a;河海大学统计学考研经验写给考研上河海大学的同学们&#xff0c;研导师为大家整理总结一下河海大学统计学考研经验&#xff0c;希望对你们有帮助。初试科目&#xff1a;①101 思想政治理论②201 英语一③616 数学分析④861 高等代数复试科…

查找一个顶点的一层领域面

简介 查找一个顶点的一层领域面 代码 #include <iostream> #include <vector> // -------------------- OpenMesh using namespace std; #include <OpenMesh/Core/IO/MeshIO.hh> #include <OpenMesh/Core/Mesh/TriMesh_ArrayKernelT.hh> #include <…

gv推了sweethearts_3HAC0373-1

3HAC0373-13HAC0373-13HAC0373-1-------------------------------------------------------------------------------------北上广不相信眼泪黑吉辽不相信喝醉江浙沪不相信邮费陕甘宁不相信水费京津翼不相信好肺福建宇创不相信货贵找我买产品不相信服务不到位&#xff01;&…

查找一条边的领域顶点 总觉得不完善

简介 查找一条边的领域顶点 代码 #include <iostream> #include <vector> #include <algorithm> // -------------------- OpenMesh using namespace std; #include <OpenMesh/Core/IO/MeshIO.hh> #include <OpenMesh/Core/Mesh/TriMesh_ArrayKerne…

计算机的应用数据处理,计算机的应用领域:数据处理(或信息处理)

计算机的应用领域:数据处理(或信息处理)发布时间&#xff1a;2008-07-14发布时间&#xff1a;2008-07-14 | 【打印】 【关闭】数据处理是指对各种数据进行收集、存储、整理、分类、统计、加工、利用、传播等一系列活动的统称。据统计&#xff0c;80&#xff05;以上的计算机主…

hiveserver2 和beeline_Hive-cli与Beeline的区别

Hive-cli与Beeline的区别hive-cli 是hive连接hivesever的命令行工具&#xff0c;从hive出生就一直存在&#xff0c;但随着hive功能的增强、bug的修复、版本升级&#xff0c;hive-cli结构的局限性跟不上hive的发展&#xff0c;如果强行更改就不能满足向下兼容&#xff0c;就出现…

交换系统可以在计算机网络应用吗,数据通信交换技术在计算机网络中的应用

【摘要】 本文主要针对于计算机网络中的数据通信交换技术构架进行全面的分析&#xff0c;要充分结合计算机通信的全新理念&#xff0c;对于电路进行交换和分组&#xff0c;从而能够进行技术上的交换。【关键词】 计算机网络 数据通信交换技术 应用随着现阶段的计算机网络不断的…

docker卸载mysql_mysql – 删除容器时docker volume会发生什么

在我们继续之前,我认为有两个概念需要解释. Docker镜像和docker容器.容器是由docker管理的基于docker镜像的运行进程.有两种方法可以创建图像&#xff1a;>您指定具有所有依赖项的Dockerfile,并使用docker build构建它.然后它保存在您的本地注册表中(或者您可以将其推送到中…

深入理解Asp.net MVC路由

深入理解Asp.net MVC路由 吴剑 2012-10-22 原创文章&#xff0c;转载必需注明出处&#xff1a;http://www.cnblogs.com/wu-jian/ 前言 从.Net Framework 1.0时代开始写WebForm&#xff0c;直到最近断断续续看到Razor的语法风格&#xff0c;然后搜了Asp.net MVC的一些介绍&#…

在网络上提供资源的计算机,在计算机网络中通常把提供并管理共享资源的计算机称为...

在计算机网络中通常把提供并管理共享资源的计算机称为服务器。在微机网络中&#xff0c;服务器是提供并管理共享资源的计算机。目前&#xff0c;网络中客户机/服务器(Client&#xff0f;Server)方式是典型的工作模式。由客户机(Client)系统向服务器发送操作请求&#xff0c;服务…

移动端实现文字轮播_移动端轮播图实现

1&#xff1a;HTML样式*{margin: 0;padding: 0;}html,body{height: 100%;overflow: hidden;}#wrap{height: 100%;overflow: hidden;}.carousel-wrap{position: relative;}.carousel-wrap > .list{list-style: none;overflow: hidden;position: absolute;}.carousel-wrap >…

jQuery模糊选择

属性字头选择器&#xff08;Attribute Contains Prefix Selector&#xff09; jQuery 属性字头选择器的使用格式是 jQuery(‘[attribute|value]‘) &#xff0c;例如 jQuery(‘[herflang|en]‘) 这句代码执行时将会选择文档中所有含有 herflang 属性&#xff0c;并且 herflang …

maya批量操作mel_MAYA对多个模型使用当前设置批量渲染并保存图片的MEL脚本

更新日志2018-10-23&#xff1a;添加了对文件名为定长数字(0000, 0001, 0002, ect.)的模型的支持&#xff1b;输出图片扩展名使用渲染设置中的扩展名。有时候需要对一组模型使用相同的材质和相同的渲染设置渲染并保存为图片&#xff0c;以往只能一个个手动导入、替换材质、渲染…

高中计算机学业水平测试知识点总结,高中化学学业水平测试知识点总结

高中化学学业水平测试知识点总结大家有总结吗&#xff1f;下面小编整理了高中化学学业水平测试知识点总结&#xff0c;欢迎大家参考借鉴&#xff01;高中化学学业水平测试知识点总结第一章从实验学化学 第一节化学实验基本方法一.化学实验安全1. 遵守实验室规则。2. 了解安全措…

oracle19c的版本号_升级到 oracle 19c 的版本差异

引用自&#xff1a; Doc ID 1577660.1升级到19c的升级兼容性能够直接升级到Oracle Database 19c的数据库最小版本源库目标库18 (所有版本)19c12.2.0.119c12.1.0.219c11.2.0.419c其他未在上面提到的数据库发布/版本不支持直接升级到19c。所以首先升级到中间Oracle数据库版本&…

旋转变换,对某个点进行绕x,y,z的变换。

简介 旋转变换&#xff0c;对某个点进行绕x&#xff0c;y&#xff0c;z的变换。 代码 #include <iostream> #include <vector> #include <algorithm> // -------------------- OpenMesh using namespace std; #define PI 3.1415926static void MatVec3(const…

chrome html 读写文件路径,Chrome浏览器支持直接读写本地文件了

本文首发于公众号&#xff1a;符合预期的CoyPan写在前面最新版的Chrome(Chrome 83, 须要开启权限)支持直接读写本地文件了。javascript开启方法&#xff1a;Chrome浏览器升级到83版本以上&#xff1b;访问chrome://flags/&#xff0c;开启 Native File System API 选项当前如何…

最长单调递增子序列_最长递增子序列(动态规划 + 二分搜索)

题目给定数组arr&#xff0c;返回arr的最长递增子序列举例&#xff1a;arr [2,1,5,3,6,4,8,9,7]&#xff0c;返回的最长递增子序列为[1,3,4,8,9]要求&#xff1a;如果arr的长度为N&#xff0c;请实现时间复杂度为O(nlogn)的方法。分析这一题也是经典的动态规划&#xff0c;那么…