summaryrefslogtreecommitdiff
path: root/stl.go
diff options
context:
space:
mode:
Diffstat (limited to 'stl.go')
-rw-r--r--stl.go22
1 files changed, 22 insertions, 0 deletions
diff --git a/stl.go b/stl.go
index d2a194d..d024b13 100644
--- a/stl.go
+++ b/stl.go
@@ -75,3 +75,25 @@ func ParseBinaryStlTriangle(data []byte) *Triangle { // FIXME: This function sh
return triangle
}
+func (stl StlModel) toVertices() []float32 {
+
+ retval := make([]float32, stl.numberOfTriangles * 9)
+
+ for index,triangle := range(stl.surface.triangles) {
+
+ retval[index*9+0] = triangle.a.x
+ retval[index*9+1] = triangle.a.y
+ retval[index*9+2] = triangle.a.z
+
+ retval[index*9+3] = triangle.b.x
+ retval[index*9+4] = triangle.b.y
+ retval[index*9+5] = triangle.b.z
+
+ retval[index*9+6] = triangle.c.x
+ retval[index*9+7] = triangle.c.y
+ retval[index*9+8] = triangle.c.z
+
+ }
+
+ return retval
+}