vs2008和vs2010下配置openmesh
2013-03-27 14:49
239 查看
因为要做图形学的实验用到了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的测试代码,如下,放到工程中编译执行即可,
5.运行后会生成一个.off文件。说明执行成功,用openmesh目录下自带的QTviewer可以打开生成的off文件。
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文件。
相关文章推荐
- vs2008和vs2010下配置openmesh
- vs2008和vs2010下配置openmesh
- Opencv2.3.1在VS2008和VS2010平台上安装配置图解
- Opencv2.3.1在VS2008和VS2010平台上安装配置图解
- 在vs2010或者vs2008中配置PC-lint9.0版
- Opencv2.3.1在VS2008和VS2010平台上安装配置图解
- VS2010(VS2008)下安装配置OpenCV
- Opencv2.3.1在VS2008和VS2010平台上安装配置图解
- 在vs2010或者vs2008中配置PC-lint9.0版
- Opencv2.3.1在VS2008和VS2010平台上安装配置图解
- OpenMesh下载安装,在VS2010下使用的环境配置-备忘
- 在vs2010或者vs2008中配置PC-lint9.0版
- VS2010(VS2008)下安装配置OpenCV
- 在vs2010或者vs2008中配置PC-lint9.0版
- 在vs2010或者vs2008中配置PC-lint9.0版
- OpenCV2.4.3在VS2008和VS2010平台上安装配置
- VS2008 Proe 5.0 and VS2010 Creo二次开发环境配置
- 在vs2010或者vs2008中配置PC-lint9.0版http://blog.csdn.net/whatday/article/details/7890092
- Opencv2.4.3在VS2008和VS2010平台上安装配置图解
- VS2010下配置OpenMesh