forked from yig/halfedge
-
Notifications
You must be signed in to change notification settings - Fork 1
josefgraus/halfedge
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Author: Yotam Gingold <yotam (strudel) yotamgingold.com> License: Public Domain. (I, Yotam Gingold, the author, release this code into the public domain.) GitHub: https://github.com/yig/halfedge trimesh.h trimesh_t: A C++ half-edge data structure for a triangle mesh with no external dependencies whatsoever that - handles boundaries (the first outgoing halfedge at a vertex is always a boundary halfedge) (and the last outgoing halfedge is always the opposite of a boundary halfedge)) - stores topology only; it does not "own" or store your vertices; rather it looks only at faces and only while building the half-edges (make sure to re-create the half-edges anytime the faces change!) example.cpp: A very simple file to show usage of trimesh_t. Compile it with the one-liner at the top. Usage: std::vector< trimesh::triangle_t > triangles; // ... fill triangles ... std::vector< trimesh::edge_t > edges; trimesh::unordered_edges_from_triangles( triangles.size(), &triangles[0], edges ); trimesh::trimesh_t mesh; mesh.build( num_vertices, triangles.size(), &triangles[0], edges.size(), &edges[0] ); // Use 'mesh' to walk the connectivity. Version History: - 2012-01-12: initial release
About
A C++ half-edge data structure for a triangle mesh with no external dependencies whatsoever. Public domain.
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published
Languages
- C++ 100.0%