整个项目在VS2013下编译,包括Solid.h、Face.h、Loop.h、HalfEdge.h、Edge.h、Vertex.h以及相应相应.cpp文件。 Euler.cpp中实现了mvfs,kvfs,mev,kev,mef,kef,kemr,mekr,kfmrh,mfkrh,semv等11个欧拉操作。还包括Sweep(Extrusion)操作,三个输出函数print、Log和Log2,其中Log2是为了匹配课程框架而设的,输出文件Dong.brp。还有基于基本元素构造MakeSolid函数,分别生成带一个通孔的立方体、带两个通孔的立方体、带一个倒角的立方体。还有基于一个基面的扫成函数MakeSolid_Sweep,分别扫成出带一个通孔的立方体、带两个通孔的立方体。还有一个生成墙角(简单四面体)的函数MakeSolid_shi。 最后补充一个基面任意的扫成函数Base_Arbitrary_Face_Sweep,基面和Extrusion向量都由input.txt读入。 Main.cpp中实现OpenGL的渲染框架,该框架将三维实体的各面图以随机产生的颜色,可以使用上下左右方向键和上下翻页键来调节实体的观察角度,还可以在屏幕区域使用鼠标右击菜单来设 置深度测试和背面剔除效果。 通过修改m_Solid全局变量的值可得到不同实体。 本作业默认只有一个solid,没有实现若干solid的集合。 部分欧拉操作没有严格测试,如semv,kef。 置深度测试和背面剔除效果。 通过修改m_Solid全局变量的值可得到不同实体。 本作业默认只有一个solid,没有实现若干solid的集合。 部分欧拉操作没有严格测试,如semv,kef。