From c22c00cb2de1e1a51ea5ab7101ddcf305ebfc718 Mon Sep 17 00:00:00 2001 From: hasufell Date: Mon, 9 Feb 2015 16:12:19 +0100 Subject: [PATCH] HALFEDGE: optimize buildHeEdgeFromStr It's faster this way than using buildHeEdge. --- Graphics/HalfEdge.hs | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/Graphics/HalfEdge.hs b/Graphics/HalfEdge.hs index 284260a..a13cf02 100644 --- a/Graphics/HalfEdge.hs +++ b/Graphics/HalfEdge.hs @@ -191,8 +191,11 @@ buildHeEdge pts fs -- |Build the HeEdge data structure from the .obj mesh file contents. buildHeEdgeFromStr :: B.ByteString -- ^ contents of an .obj mesh file - -> Maybe (HeEdge PT) + -> HeEdge PT buildHeEdgeFromStr bmesh = let pts = meshVertices bmesh - fs = meshFaces bmesh - in buildHeEdge pts fs + faces' = indirectHeFaces . meshFaces $ bmesh + edges = indirectHeEdges faces' + verts = indirectHeVerts pts edges + in indirectToDirect pts edges faces' verts +