毕设记录

2014.12.5

这么多天的编译,终于把Boost+CGAL+Qt+Qt-Addin+libQGLViewer搞定了。。虽然../Demo/Polyhedron没有弄出来(编译全过,可是执行文件无法运行),但是把../Demo/AABB_Tree给弄通了。

AABB这个Demo感觉很实用。里面有Cut Plane,Intersection,Segements,需要把这个弄懂。

另外今天重新看了看学姐发给我的CGAL切割的例子,感觉有了新的收获,把链接记录下来:http://www.xpc-yx.com/2013/08/05/%e4%bd%bf%e7%94%a8cgal%e5%ae%9e%e7%8e%b0%e6%b2%bf%e7%9d%80%e9%bc%a0%e6%a0%87%e8%bd%a8%e8%bf%b9%e5%88%86%e5%89%b2%e6%a8%a1%e5%9e%8b/

Qt真的是一个很神奇的东西,感觉比MFC好用多了。

AABB Demo中,程序在..\CGAL\demo\AABB_tree\Scene.cpp里,其中Algorithm->Cut Plane->Intersection调用的函数为cut_segment_plane()。

 1 void Scene::cut_segment_plane()
 2 {
 3     // Build tree (if build fail, exit)
 4     build_facet_tree();
 5     if ( m_facet_tree.empty() ) { return; }
 6
 7     Plane plane = frame_plane(); //是否在这里可以修改呢?
 8
 9     // Compute intersections
10     typedef std::vector<Facet_tree::Object_and_primitive_id> Intersections;
11     Intersections intersections;
12     m_facet_tree.all_intersections(plane, std::back_inserter(intersections));
13
14     // Fill data structure
15     m_cut_segments.clear();
16     for ( Intersections::iterator it = intersections.begin(),
17          end = intersections.end() ; it != end ; ++it )
18     {
19         const Segment* inter_seg = CGAL::object_cast<Segment>(&(it->first));
20
21         if ( NULL != inter_seg )
22         {
23             m_cut_segments.push_back(*inter_seg);
24         }
25     }
26
27     m_cut_plane = CUT_SEGMENTS;
28 }
时间: 2024-08-24 22:44:06

毕设记录的相关文章

【Mininet】毕设记录:关于IP地址分配的问题

随手记录一下在子网分配中的心得. 之前在仿真数据中心网络拓扑中牵涉到一个问题,由于在后续工作中我想通过指定不同datacenter之间的网络延时或带宽等参数的区别,因此需要让每两个datacenter之间存在一条链路(其实本来是两条,对应上下行的不平等带宽,但后来觉得这样太复杂)简化下来就如下图所示. 但是由于我的datacenter使用host模拟路由器进行转发,而每一条连接到host上的链路都会引入一个新的interface.因此就牵涉到为每个interface分配IP地址的问题.最初我只是

【毕设记录】02使用的技术-Maven

概述 Maven 翻译为"专家"."内行",是 Apache 下的一个纯 Java 开发的开源项目.基于项目对象模型(缩写:POM)概念,Maven利用一个中央信息片断能管理一个项目的构建.报告和文档等步骤. Maven 是一个项目管理工具,可以对 Java 项目进行构建.依赖管理. Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件. Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具.由于 Mav

nRF51800 蓝牙学习 进程记录 2:关于二维数组 执念执战

前天在玩OLED时想完成一直想弄得一个东西,就是简单的单片机游戏.因为STM32和nRF51822的内存足够,所以就用缓存数组的方法来显示图像(我也不知道术语是啥,反正就是在内存中建立一个128X64的二维数组,更新显示时将整个数组刷新到屏幕上),而且这两个OLED是串口的(还有一个128X32的OLED,一样串口的,连驱动时序和驱动函数都一样,两个都太小了,还那么贵......),四个IO口就能驱动(两个还是供电的VCC和GND),所以不像之前的那个mini 12864屏幕,它是8位并口的,带

【毕设】班级管理系统——易搜

[模块介绍] 在易搜中,系统提供了4中搜索方式,按学号搜索,按姓氏搜索,按性别搜索和按全部搜索.若搜索结果单一,系统会跳转到InformationFrm窗体:若搜索结果若干,则系统会跳转到MulInformationFrm窗体.易搜界面设计如下图5.7所示,搜索结果界面如图5.8(a)和图5.8(b)所示. [界面设计] [部分代码(这里以按姓氏搜索为例,代码有删改)] if (txtSearch.Text == "" && cboSearch.SelectedInde

【毕设】班级管理系统——找回密码模块

[模块介绍] 首先检测用户是否在登录状态下,若用户在登录状态下,则跳过用户名检测环节,直接进入随机密保验证和修改密码环节,修改成功后,则注销原用户登录.若用户之前并未登陆,则在随机密保验证和修改密码环节之前得先判断段所要修改的用户名是否存在.只有存在后才能进入下一环节.本设计思路来源腾讯QQ密码按密保问题修改.图5.3(a),图5.3(b)和图5.3(c)分别显示用户名检测,随机密保验证和修改密码环节的相关界面. [界面设计] [程序流程图] [核心代码] 相关参数说明: private Lis

【毕设】班级管理系统——登录模块

[登录模块介绍] 主要是处理用户的登录,赋予不同用户的不同权限.在登录模块中,系统在安全性上还增设了验证码和限制错误登录次数.主要目的是为了缓解服务器压力以及在一定程度上保护用户隐私. [界面设计] [登录错误图解] 限制错误登录次数功能说明:每名用户每次登陆初始时均有三次输入机会,一旦连续输错三次,则禁止再次输入,只能访问普通用户功能:若在一次或两次输错后但成功登陆者,输入机会将会再次重置为三次,以此类推. [程序流程图] [部分代码详解] private string UserA, PwA;

Web学习记录&lt;一&gt;目标与任务

3D打印机的项目终于小小的告一个段落了.在3D打印这个领域里,绝大多部分都是机械的从业人员,年龄普遍在30岁以上.在这一年的编程生涯里面,充当了半个程序员的角色,从最开始的读LinuxCNC源码,到后来的开发3D打印机桌面切片软件,在这个行业里的人看来,都是些边外活.山寨太厉害了,传统行业里的竞争就是这么残酷,今天你家出机器了,三天时间,人家就能抄出来.只有里面的软件是抄不来的.于是,国内大部分机器用的都是国外两年前就已将停止维护的开源软件. 这个行业的路还很远,我会一直关注下去,适当的时候,将

【Objective-C学习记录】第三天

今天学习的内容比较少,主要是老师通知要确定毕设的题目,找了一些资料,最终决定做一个路线记录的APP. 一些快捷操作: 全部禁用所有断点,command + Y .h和.m文件切换,comand + control + upArrow/dowArrow 注释当前行command + , 格式化代码control + i OC中的OOP [email protected]部分 定义类的公共接口,声明类 [email protected]部分 可以理解为interface部分具体的实现

毕设-家校通

一.主页 //Default1.aspx <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default1.aspx.cs" Inherits="Default1" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww