{"action":"created","issue":{"url":"https://api.github.com/repos/libigl/libigl/issues/946","repository_url":"https://api.github.com/repos/libigl/libigl","labels_url":"https://api.github.com/repos/libigl/libigl/issues/946/labels{/name}","comments_url":"https://api.github.com/repos/libigl/libigl/issues/946/comments","events_url":"https://api.github.com/repos/libigl/libigl/issues/946/events","html_url":"https://github.com/libigl/libigl/issues/946","id":370532394,"node_id":"MDU6SXNzdWUzNzA1MzIzOTQ=","number":946,"title":"Mesh PWN ordering (again) and volume","user":{"login":"borki23","id":8337059,"node_id":"MDQ6VXNlcjgzMzcwNTk=","avatar_url":"https://avatars3.githubusercontent.com/u/8337059?v=4","gravatar_id":"","url":"https://api.github.com/users/borki23","html_url":"https://github.com/borki23","followers_url":"https://api.github.com/users/borki23/followers","following_url":"https://api.github.com/users/borki23/following{/other_user}","gists_url":"https://api.github.com/users/borki23/gists{/gist_id}","starred_url":"https://api.github.com/users/borki23/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/borki23/subscriptions","organizations_url":"https://api.github.com/users/borki23/orgs","repos_url":"https://api.github.com/users/borki23/repos","events_url":"https://api.github.com/users/borki23/events{/privacy}","received_events_url":"https://api.github.com/users/borki23/received_events","type":"User","site_admin":false},"labels":[{"id":81892607,"node_id":"MDU6TGFiZWw4MTg5MjYwNw==","url":"https://api.github.com/repos/libigl/libigl/labels/question","name":"question","color":"cc317c","default":true}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":10,"created_at":"2018-10-16T09:58:12Z","updated_at":"2018-10-17T17:54:09Z","closed_at":null,"author_association":"NONE","body":"Hello,\r\n\r\nI have two very simple mesh. One is a plane and the other one is a pyramid.\r\nI want to use the `igl::copyleft::cgal::mesh_boolean` function to intersect  both of them with a cube. However, I keep getting the message that both mesh are now PWN. \r\nYet, in the release build the function still seems to work fine and puts out the intersected mesh.\r\nThe debug build will crash due to the corresponding assert in `propagate_winding_numbers.h` .\r\nI can imagine that the plane has an [\"open boundary\"](https://github.com/libigl/libigl/issues/599) and that this could cause it to crash, even though the plane itself is a valid mesh (error in the code?).\r\nFor the pyramide I cannot see why this is the case. I checked every triangle of the pyramide for it's winding order  regarding the neighbour triangles. If I understand the verification part of the [paper ](http://www.cs.columbia.edu/cg/mesh-arrangements/#definitions) in 3.1 correctly, then every edge must have adjacent triangles with opposite winding orders. This should be the case for the pyramide. Hence, I cannot see what I did wrong and assume that there is an error in the code.\r\n\r\nI attached the mesh:\r\n[Mesh.zip](https://github.com/libigl/libigl/files/2482479/Mesh.zip)\r\n\r\n\r\nI also was wondering if there is a way to calculate the volume of a mesh since it is not mentioned in the tutorials. I saw that you can tetrahedralize the interior of a mesh and then there are some functions in `volume.h` which seem to calculate the volume of  a single tetrahedra.\r\n\r\n\r\n\r\nThanks in advance.\r\n\r\n\r\n- [x] Windows\r\n- [ ] Mac OS X\r\n- [ ] Linux\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/libigl/libigl/issues/comments/430725972","html_url":"https://github.com/libigl/libigl/issues/946#issuecomment-430725972","issue_url":"https://api.github.com/repos/libigl/libigl/issues/946","id":430725972,"node_id":"MDEyOklzc3VlQ29tbWVudDQzMDcyNTk3Mg==","user":{"login":"alecjacobson","id":2241689,"node_id":"MDQ6VXNlcjIyNDE2ODk=","avatar_url":"https://avatars3.githubusercontent.com/u/2241689?v=4","gravatar_id":"","url":"https://api.github.com/users/alecjacobson","html_url":"https://github.com/alecjacobson","followers_url":"https://api.github.com/users/alecjacobson/followers","following_url":"https://api.github.com/users/alecjacobson/following{/other_user}","gists_url":"https://api.github.com/users/alecjacobson/gists{/gist_id}","starred_url":"https://api.github.com/users/alecjacobson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alecjacobson/subscriptions","organizations_url":"https://api.github.com/users/alecjacobson/orgs","repos_url":"https://api.github.com/users/alecjacobson/repos","events_url":"https://api.github.com/users/alecjacobson/events{/privacy}","received_events_url":"https://api.github.com/users/alecjacobson/received_events","type":"User","site_admin":false},"created_at":"2018-10-17T17:54:09Z","updated_at":"2018-10-17T17:54:09Z","author_association":"CONTRIBUTOR","body":"I don't think `igl::copyleft::cgal::remesh_intersections` does what you think it does. What you'd need is a procedural way to close up your shape. For example you could extend the corners far enough away and then \"extrude\" the shape in one direction to create a closed surface. "}}
{"actor":{"display_login":"alecjacobson"}}