# TopoMender
Automatic topology repair and editing of 3D models.
![alt text](project_logo.jpg "Project logo")
## Introduction
TopoMender is the research project I developed at Tsinghua University a long time ago. The technique is based on the following papers:
Topology Repair of Solid Models Using Skeletons
Qian-Yi Zhou, Tao Ju and Shi-Min Hu
IEEE TVCG 2007
Editing The Topology of 3D Models by Sketching
Tao Ju, Qian-Yi Zhou and Shi-Min Hu
SIGGRAPH 2007
Visit the [project page](http://qianyi.info/topomender.html) for more details.
## Usage
The project is ancient. I am not intending to provide support. You are at your own risk.
Executables and testing data can be found on [my homepage](http://qianyi.info/topomender.html). The executables run on Windows platform. If you work on Linux or OS X, [Wine](https://www.winehq.org/) may help you. You will need to setup [PolyMender from Prof. Tao Ju](http://www1.cse.wustl.edu/~taoju/code/polymender.htm) as it is a prerequisite of TopoMender.
This repository includes source code of the two projects.
* [TopoMender](TopoMender) is the code for topology repair (the first paper). The input includes a volume data file scan-converted by PolyMender, and two parameters indicating the size of the thinnest handle and the smallest hole allowed. The output is a PLY mesh file.
* [TopoMender_MendIT](TopoMender_MendIT) is the TopoMender version of the MendIT project (the second paper, without GUI). The input includes a volume data file provided by PolyMender, and a .axs skeleton file (the format is straightforward, you can read [Skeleton.cpp](TopoMender_MendIT/Skeleton.cpp) to see how it is parsed). The output is a PLY mesh file. The output model is guaranteed to have the same topology as the given skeleton.
## Compilation
The two projects should be both compilable with Visual Studio. I developed them with Visual Studio 2005. A modern [Visual Studio](https://www.visualstudio.com/) *should* be able to convert the project into a modern format and compile it.
There might be some OpenGL or GUI related code that causes compilation problems. However, TopoMender is a pure console program. The GUI part is introduced for visualization and debugging purpose only. If it causes problem, just remove it.
## License
The source code is released under the MIT license. You can do anything with the code with proper attribution. I developed these projects in hope they will be useful. Please let me ([[email protected]](mailto:[email protected])) know if you are doing anything interesting with it.
See [LICENSE](LICENSE) file for details.
## Help Wanted
The code is in good shape, and I believe it is still useful somewhere. However, I do not have the bandwidth to maintain this project. If you are willing to contribute, [contact me](mailto:[email protected]), or submit [issues](https://github.com/qianyizh/TopoMender/issues) and [pull requests](https://github.com/qianyizh/TopoMender/pulls).
The current most immediate enhancement is to migrate TopoMender into a CMake build system and make it cross-platform. Please contact me if you can provide help for this.
没有合适的资源?快使用搜索试试~ 我知道了~
自动拓扑修复和3D模型编辑_C++_C_下载.zip
共95个文件
cpp:44个
h:30个
txt:6个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 111 浏览量
2023-04-28
13:53:34
上传
评论
收藏 2.35MB ZIP 举报
温馨提示
自动拓扑修复和3D模型编辑_C++_C_下载.zip
资源推荐
资源详情
资源评论
收起资源包目录
自动拓扑修复和3D模型编辑_C++_C_下载.zip (95个子文件)
TopoMender-master
LICENSE 1KB
TopoMender_MendIT
BoundingBox.h 445B
OcTreeContouring.cpp 10KB
OcTreeHelper.cpp 16KB
TimeMeter.h 264B
meshfile.obj 1.02MB
OcTreeConstruct.cpp 7KB
OcTreeContainCheck.cpp 8KB
Vector3D.h 1KB
Topomender.h 618B
OcTreeContainCell.cpp 25KB
MemoryManager.h 423B
Geometry.cpp 5KB
Topomender.cpp 2KB
RegCons.h 3KB
OcTreeSketching.cpp 12KB
Constant.h 665B
OcTree.h 19KB
OcTreeThinPure.cpp 9KB
SingleHashMap.cpp 1KB
OcTree.cpp 5KB
OcTreeTraversal.cpp 41KB
OcTreeRestrict.cpp 5KB
sogfile.sog 215KB
Skeleton.cpp 2KB
resources.h 363B
Topomender.sln 885B
RenderMesh.cpp 3KB
OcTreePrint.cpp 3KB
RenderMesh.h 557B
FileWriter.cpp 4KB
OcTreeThin.cpp 17KB
FileWriter.h 688B
Skeleton.h 1KB
HashSize.h 417B
main.cpp 1019B
OcTreeContainPoint.cpp 13KB
OcTreeContainEdge.cpp 19KB
OcTreeBelong.cpp 26KB
Topomender.suo 65KB
SingleHashMap.h 586B
Helper.h 4KB
sktfile.axs 2KB
HashMap.cpp 2KB
Topomender.vcproj 7KB
OcTreeThinEx.cpp 21KB
HashMap.h 576B
Geometry.h 2KB
Vector3D.cpp 3KB
Constant.cpp 1KB
Regular.h 1KB
BoundingBox.cpp 1KB
OcTreeDualThin.cpp 20KB
OcTreeSkeleton.h 2KB
MemoryManager.cpp 1KB
OcTreeTopology.cpp 46KB
TimeMeter.cpp 562B
OcTreeContainFace.cpp 21KB
TopoMender
stdafx.h 748B
app.rc 1KB
TimeMeter.h 186B
Vector3D.h 1KB
TopoMender.sln 909B
EdgeHeap.h 1KB
MemoryManager.h 1KB
TopoMender.suo 13KB
Constant.h 696B
resource.h 91B
OcTree.h 31KB
SingleHashMap.cpp 1KB
OcTree.cpp 116KB
regular.txt 768B
app.ico 1KB
TopoMender.ncb 5.43MB
ReadMe.txt 13KB
HashSize.txt 260B
FaceHeap.cpp 2KB
update.txt 60B
SingleHashMap.h 679B
EdgeHeap.cpp 2KB
TopoMender.vcproj 6KB
HashMap.cpp 1KB
HashMap.h 698B
TopoMender.cpp 6KB
Vector3D.cpp 2KB
Constant.cpp 2KB
RegCons.txt 2KB
MemoryManager.cpp 453B
FaceHeap.h 1KB
stdafx.cpp 210B
TimeMeter.cpp 373B
ply_fo.txt 13KB
AssemblyInfo.cpp 2KB
README.md 3KB
project_logo.jpg 181KB
共 95 条
- 1
资源评论
快撑死的鱼
- 粉丝: 1w+
- 资源: 9154
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功