Skip to content

Instantly share code, notes, and snippets.

@ftsf
Created May 6, 2017 22:11
Show Gist options
  • Save ftsf/62107e4a1d5a00462ead75dc4dd96cf8 to your computer and use it in GitHub Desktop.
Save ftsf/62107e4a1d5a00462ead75dc4dd96cf8 to your computer and use it in GitHub Desktop.
import math
import glm
proc copyPoly*(verts: seq[Vec2f]): seq[Vec2f] =
result = newSeq[Vec2f](verts.len)
for i in 0..<verts.len:
result[i] = verts[i]
proc copyPolyBroken*(verts: seq[Vec2f]): seq[Vec2f] =
var p = newSeq[Vec2f](verts.len)
for i in 0..<verts.len:
p[i] = verts[i]
return p
var poly = newSeq[Vec2f](3)
poly[0] = vec2f(10.0,20.0)
poly[1] = vec2f(20.0,10.0)
poly[2] = vec2f(30.0,30.0)
var rpoly = copyPoly(poly)
var rpoly2 = copyPolyBroken(poly)
echo "orig: ", poly
echo "copy: ", rpoly
echo "copy2: ", rpoly2
if rpoly[1] == vec2f(20.0,10.0) and rpoly[2] == vec2f(20.0,10.0):
echo "behaving correctly"
else:
echo "behaving incorrectly"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment