生成一个Cylinder

简介

用到了上一个博客的,AddPolygon。
生成的是一个筒状物体。

代码

// CreateCylinder.cpp: 定义控制台应用程序的入口点。
////#include "stdafx.h"
#include <iostream>
#include "AddPolygon.h"
#include <OpenMesh/Core/IO/MeshIO.hh>
#include <OpenMesh/Core/Mesh/TriMesh_ArrayKernelT.hh>
#include<cmath>MyMesh* CreateCylinder(int edge, double height) {MyMesh * cylinder = new MyMesh;MyMesh::VertexHandle * top = AddPolygon(*cylinder, edge, height / 2, true);MyMesh::VertexHandle * bottom = AddPolygon(*cylinder, edge, -height / 2, false);for (int i = 0; i < edge; i++) {int next = (i + 1) % edge;std::vector<MyMesh::VertexHandle>face_vhandles;face_vhandles.push_back(bottom[i]);face_vhandles.push_back(top[next]);face_vhandles.push_back(top[i]);(*cylinder).add_face(face_vhandles);face_vhandles.clear();face_vhandles.push_back(bottom[i]);face_vhandles.push_back(bottom[next]);face_vhandles.push_back(top[next]);(*cylinder).add_face(face_vhandles);}return cylinder;
}int main()
{cout << "Please input edge(int) height(double): \n";int edge;double height;cin >> edge >> height;MyMesh * mesh = CreateCylinder(edge, height);try{if (!OpenMesh::IO::write_mesh(*mesh, "output4 .off")) {std::cerr << "Cannot write mesh to file ' output4 .off ' " << std::endl;return 1;}}catch (std::exception&x) {std::cerr << x.what() << std::endl;return 1;}return 0;
}

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

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

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

相关文章

linux下添加apt-get命令,Ubuntu Linux系统下apt-get命令整理

Ubuntu Linux系统下apt-get命令整理首次接触ubuntu&#xff0c;很多命令都需要sudo。尤其是安装命令都需要apt 。这里做个apt命令的简单汇总&#xff0c;方便一来了解下加深印象&#xff0c;二来以便以后使用查阅。常用的APT命令参数&#xff1a;apt-cache search package 搜索…

编写有效用例电子版_剖析用例设计方法的使用

今天给大家讲解的是用例设计方法的使用&#xff0c;在设计用例时该如何应用用例设计方法、设计出覆盖率高的测试用例呢&#xff1f;场景简介&#xff1a;普遍登录页面测试用例设计分析拿到需求&#xff0c;首先要做需求分析。我们看到登录界面有三个测试点&#xff1a;1.账号2.…

一个参数大小写引发的uploadify报错 Syntax error, unrecognized expression: #

上传控件uploadify 报错"Syntax error, unrecognized expression: #" 版本为 uploadify3.2 报错原因&#xff1a;参数ID【hidInfoId】小写错写成了大写。debug过程&#xff1a; ①&#xff1a;报错 "Syntax error, unrecognized expression: #" ②&#xf…

linux切换目录使用命令,linux命令切换目录的使用方法

1.cd - 作用是快速切换到前一个目录&#xff0c;如下:amosliamosli-pc:~$ cd learn/fd/amosliamosli-pc:~/learn/fd$ cd -/home/amosli2.dirs:显示目录栈,列出当前堆栈中保存的目录列表amosliamosli-pc:~/learn/fd$ dirs~/learn/fd说明: dirs的 -p参数可以每行一个目录的形式显…

python小孩的报酬_孩子做了家务,家长该不该支付“酬劳”呢?

现在有一些家长&#xff0c;跟自己的孩子签订“家务劳动劳务合同”&#xff1a;如刷碗一次付2元&#xff0c;扫地一次付2元&#xff0c;取牛奶一次付1元……活干完&#xff0c;经验收合格&#xff0c;结账&#xff0c;现金支付劳务报酬。这些家长认为这样做符合“等价交换”的原…

LinkedHashMap 源码详细分析(JDK1.8)

原文链接&#xff1a;https://www.imooc.com/article/22931转载于:https://www.cnblogs.com/Wbin01/p/11142250.html

linux冷备机怎么切换,linux – 热备用主机vs冷备用主机?

Sobrique explains how the manual intervention causes your proposed solution to be sup-optimal和ewwhite talks about probability of failure of various components.这两个IMO都提出了非常好的观点,应该加以深思熟虑.然而,到目前为止,似乎还有一个问题似乎没有人评论过,…

【Ubuntu日常技巧】Ubuntu命令行设置系统时区、时间

最近折腾手机上安装Ubuntu&#xff0c;发现显示的时间不对&#xff0c;可惜当前的 Date and Time菜单中没法进行时间设置&#xff0c;而且其显示的为London地区的时间&#xff0c;故通过命令行修改之&#xff1b; 1、确定所在时区的编号 可以通过tzselect命令实现&#xff1a; …

linux7 dns正向,Centos 7 搭建DNS正向解析和反向解析

Centos 7 搭建DNS正向解析和反向解析服务的三要素:安装-配置-启动1.使用yum安装DNSyum install bind -y2.修改配置文件vi /etc/named.conf修改以下内容&#xff1a;listen-on port 53 { any; };allow-query { any; };vi /etc/named.rfc1912.zones在末尾添加以下内容:zone "…

python databaseoperate_python开发_python操作mysql数据库

1 #-*- coding: utf-8 -*-2 #python operate mysql database3 importMySQLdb45 #数据库名称6 DATABASE_NAME 7 #host localhost or 172.0.0.18 HOST 9 #端口号10 PORT 11 #用户名称12 USER_NAME 13 #数据库密码14 PASSWORD 15 #数据库编码16 CHAR_SET 1718 #初始化参数1…

怎么查看linux网关,如何查看linux服务器网关

弹性云服务器 ECS弹性云服务器(Elastic Cloud Server)是一种可随时自助获取、可弹性伸缩的云服务器&#xff0c;帮助用户打造可靠、安全、灵活、高效的应用环境&#xff0c;确保服务持久稳定运行&#xff0c;提升运维效率三年低至5折&#xff0c;多种配置可选了解详情什么是弹性…

个人pkm软件 pim软件_个人申请软件著作权需要走哪些流程

软件著作权是企业的无形资产之一&#xff0c;它与商标权、专利权一起构成企业的知识产权&#xff0c;是企业投资、入股、融资等的有效无形资产&#xff0c;那么个人申请软件著作权需要走哪些流程&#xff1f;阅读完以下上海知识产权律师咨询为您整理的内容&#xff0c;一定会对…

知道主机名称 如何知道ip地址

举例 ping -4 raspberrypi 就可以知道 ip 地址了。 转载于:https://www.cnblogs.com/eat-too-much/p/11142897.html

python csdn博客_GitHub - 1783955902/CSDNBlogBackup: Python实现CSDN博客的完整备份

Python实现CSDN博客的完美备份出发点之所以造这个轮子无非是现有的轮子不好使&#xff0c;CSDN官网是推出的博客备份在系统中读不到博客数据&#xff0c;打开后还会闪退&#xff0c;其他人写的工具&#xff0c;要么是收费&#xff0c;要么只是对网页的下载&#xff0c;不能完整…

C# FluentFTP类上传下载文件

前言&#xff1a;最近要实现从FTP服务器下载和上传文件&#xff0c;在网上搜了一下据说 FluentFTP 是个客户端FTP功能的实现&#xff0c;使用还比较顺畅&#xff0c;所以对此展开研究&#xff0c;无奈网上给出的案例并没有想象中的那么简洁&#xff0c;所以想着自己搞一个代码少…

python模块版本管理工具_【转】Python包管理工具

Python 包管理工具解惑本站文章除注明转载外&#xff0c;均为本站原创或者翻译。本站文章欢迎各种形式的转载&#xff0c;但请18岁以上的转载者注明文章出处&#xff0c;尊重我的劳动&#xff0c;也尊重你的智商&#xff1b;本站部分原创和翻译文章提供markdown格式源码&#x…

最小值c语言 循环,C语言循环结构 -C语言求全班同学身高的最大值和最小值

编写程序&#xff0c;帮桐桐找出全班同学身高的最大值和最小值。问题分析输入&#xff1a;班级总人数&#xff1b;依次输入班上每位同学的身高值(float型)。输出&#xff1a;最大身高值和最小身高值(float型)。这是一个依次比较大小的问题&#xff0c;具体步骤为&#xff1a;1)…

vim替换^m字符

替换^M字符在Linux下使用vi来查看一些在Windows下创建的文本文件&#xff0c;有时会发现在行尾有一些“^M”。有几种方法可以处理。 1.使用dos2unix命令。一般的分发版本中都带有这个小工具&#xff08;如果没有可以根据下面的连接去下载&#xff09;&#xff0c;使用起来很方便…

数据挖掘 python框架_8个最高效的Python爬虫框架

1.ScrapyScrapy是一个为了爬取网站数据&#xff0c;提取结构性数据而编写的应用框架。 可以应用在包括数据挖掘&#xff0c;信息处理或存储历史数据等一系列的程序中。。用这个框架可以轻松爬下来如亚马逊商品信息之类的数据。2.PySpiderpyspider 是一个用python实现的功能强大…

病毒c语言代码大全,谁有C语言编写的病毒源代码?

一个c病毒源代码#include #include #include #include #include #pragma comment(lib,shlwapi.lib)#define TIMER 1//计时器//functionLRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);//窗口过程//获取盘符TCHAR FirstDriveFromMask (ULONG unitmask);//病毒从U盘启动时…