vs2008和vs2010下配置openmesh
来源:互联网 发布:2017耽美网络剧百度云 编辑:程序博客网 时间:2024/04/28 13:29
http://blog.csdn.net/leomass/article/details/8726514
因为要做图形学的实验用到了openmesh,但是网上又没有比较详细的配置和测试方法,摸索完成配置后记下一点笔记。
1.从www.epenmesh.org下载最新版的安装包或者源代码,注意下载与自己系统匹配的版本,我下的是vs2008预编译版的,下载源码自己编译时一样的。安装好visual studio。
2.安装openmesh,预编译版的是一个安装包,直接打开下一步安装就行。
3.配置vs,以vs2008为例 打开 工具-》选项-》项目和解决方案-》VC++目录,在包含文件和库文件中依次添加C:\Program Files (x86)\OpenMesh 2.3\include和C:\Program Files (x86)\OpenMesh 2.3\lib目录,具体由自己的openmesh安装目录决定
4在所建工程上右键-》属性-》预处理器-》预处理器定义添加_USE_MATH_DEFINE,同时在连接器-》输入-》附加依赖性中添加OpenMeshCored.lib和OpenMeshToolsd.lib
5从openmesh官网的document中拷贝cube的测试代码,如下,放到工程中编译执行即可,
- //=============================================================================
- //
- // OpenMesh
- // Copyright (C) 2001-2005 by Computer Graphics Group, RWTH Aachen
- // www.openmesh.org
- //
- //-----------------------------------------------------------------------------
- //
- // License
- //
- // This library is free software; you can redistribute it and/or modify it
- // under the terms of the GNU Library General Public License as published
- // by the Free Software Foundation, version 2.
- //
- // This library is distributed in the hope that it will be useful, but
- // WITHOUT ANY WARRANTY; without even the implied warranty of
- // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- // Library General Public License for more details.
- //
- // You should have received a copy of the GNU Library General Public
- // License along with this library; if not, write to the Free Software
- // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- //
- //-----------------------------------------------------------------------------
- //
- // $Revision: 83 $
- // $Date: 2009-02-27 17:31:45 +0100 (Fri, 27 Feb 2009) $
- //
- //=============================================================================
- #include <iostream>
- // -------------------- OpenMesh
- #include <OpenMesh/Core/IO/MeshIO.hh>
- #include <OpenMesh/Core/Mesh/PolyMesh_ArrayKernelT.hh>
- // ----------------------------------------------------------------------------
- typedef OpenMesh::PolyMesh_ArrayKernelT<> MyMesh;
- // ----------------------------------------------------------------------------
- // Build a simple cube and write it to std::cout
- int main()
- {
- MyMesh mesh;
- // generate vertices
- MyMesh::VertexHandle vhandle[8];
- vhandle[0] = mesh.add_vertex(MyMesh::Point(-1, -1, 1));
- vhandle[1] = mesh.add_vertex(MyMesh::Point( 1, -1, 1));
- vhandle[2] = mesh.add_vertex(MyMesh::Point( 1, 1, 1));
- vhandle[3] = mesh.add_vertex(MyMesh::Point(-1, 1, 1));
- vhandle[4] = mesh.add_vertex(MyMesh::Point(-1, -1, -1));
- vhandle[5] = mesh.add_vertex(MyMesh::Point( 1, -1, -1));
- vhandle[6] = mesh.add_vertex(MyMesh::Point( 1, 1, -1));
- vhandle[7] = mesh.add_vertex(MyMesh::Point(-1, 1, -1));
- // generate (quadrilateral) faces
- std::vector<MyMesh::VertexHandle> face_vhandles;
- face_vhandles.clear();
- face_vhandles.push_back(vhandle[0]);
- face_vhandles.push_back(vhandle[1]);
- face_vhandles.push_back(vhandle[2]);
- face_vhandles.push_back(vhandle[3]);
- mesh.add_face(face_vhandles);
- face_vhandles.clear();
- face_vhandles.push_back(vhandle[7]);
- face_vhandles.push_back(vhandle[6]);
- face_vhandles.push_back(vhandle[5]);
- face_vhandles.push_back(vhandle[4]);
- mesh.add_face(face_vhandles);
- face_vhandles.clear();
- face_vhandles.push_back(vhandle[1]);
- face_vhandles.push_back(vhandle[0]);
- face_vhandles.push_back(vhandle[4]);
- face_vhandles.push_back(vhandle[5]);
- mesh.add_face(face_vhandles);
- face_vhandles.clear();
- face_vhandles.push_back(vhandle[2]);
- face_vhandles.push_back(vhandle[1]);
- face_vhandles.push_back(vhandle[5]);
- face_vhandles.push_back(vhandle[6]);
- mesh.add_face(face_vhandles);
- face_vhandles.clear();
- face_vhandles.push_back(vhandle[3]);
- face_vhandles.push_back(vhandle[2]);
- face_vhandles.push_back(vhandle[6]);
- face_vhandles.push_back(vhandle[7]);
- mesh.add_face(face_vhandles);
- face_vhandles.clear();
- face_vhandles.push_back(vhandle[0]);
- face_vhandles.push_back(vhandle[3]);
- face_vhandles.push_back(vhandle[7]);
- face_vhandles.push_back(vhandle[4]);
- mesh.add_face(face_vhandles);
- // write mesh to output.obj
- try
- {
- if ( !OpenMesh::IO::write_mesh(mesh, "output.off") )
- {
- std::cerr << "Cannot write mesh to file 'output.off'" << std::endl;
- return 1;
- }
- }
- catch( std::exception& x )
- {
- std::cerr << x.what() << std::endl;
- return 1;
- }
- return 0;
- }
5.运行后会生成一个.off文件。说明执行成功,用openmesh目录下自带的QTviewer可以打开生成的off文件。
0 0
- vs2008和vs2010下配置openmesh
- vs2008和vs2010下配置openmesh
- vs2008和vs2010下配置openmesh
- VS2010下配置OpenMesh
- VS2010下配置Openmesh+openGL29
- OpenMesh下载安装,在VS2010下使用的环境配置-备忘
- VS2010(VS2008)下安装配置OpenCV
- VS2010(VS2008)下安装配置OpenCV
- OpenMesh+Qt+vs2010
- OpenCV2.4.3在VS2008和VS2010平台上安装配置
- 在 VS2008 / VS2010 下编译和使用 sqlite3
- 在 VS2008 / VS2010 下编译和使用 sqlite3
- OpenMesh学习笔记1 安装配置和入门示例
- vs2015配置OpenMesh
- Ubuntu下编译OpenMesh
- vs2008下mpich2的配置和测试
- VS2008下安装和配置boost
- vs2008 和 vs2010 快捷键清单
- 一个简单的Python MVC框架(4)
- Install Github for windows
- The library '*.jar' contains native libraries that will not run on the device
- 底部菜单栏之Fragment的详细介绍和使用方法
- 比较全面的三层交换机配置实例 转自wzdlssy
- vs2008和vs2010下配置openmesh
- dojo小例子(31)dgrid增加filter搜索功能
- 响应式布局这件小事 设计师如何实现响应布局
- SOA面向服务架构——SOA的概念
- Spiral Matrix II -- leetcode
- 欧几里得算法(即辗转相除法)的时间复杂度
- Android常用工具代码块(持续更新)
- 语言的认识
- Android调用手机拍照以及从相册选择照片