inline quadtrees:swizzle. add axes word to math.affine-transforms to remove translation from transform
parent
3636a4f05f
commit
4f156348d3
|
@ -8,6 +8,9 @@ C: <affine-transform> affine-transform
|
||||||
|
|
||||||
CONSTANT: identity-transform T{ affine-transform f { 1.0 0.0 } { 0.0 1.0 } { 0.0 0.0 } }
|
CONSTANT: identity-transform T{ affine-transform f { 1.0 0.0 } { 0.0 1.0 } { 0.0 0.0 } }
|
||||||
|
|
||||||
|
: axes ( a -- a' )
|
||||||
|
clone { 0.0 0.0 } >>origin ;
|
||||||
|
|
||||||
: a.v ( a v -- v )
|
: a.v ( a v -- v )
|
||||||
[ [ x>> ] [ first ] bi* v*n ]
|
[ [ x>> ] [ first ] bi* v*n ]
|
||||||
[ [ y>> ] [ second ] bi* v*n ]
|
[ [ y>> ] [ second ] bi* v*n ]
|
||||||
|
|
|
@ -195,5 +195,5 @@ M: quadtree clear-assoc ( assoc -- )
|
||||||
: swizzle ( sequence quot -- sequence' )
|
: swizzle ( sequence quot -- sequence' )
|
||||||
[ dup ] dip map
|
[ dup ] dip map
|
||||||
[ zip ] [ rect-containing <quadtree> ] bi
|
[ zip ] [ rect-containing <quadtree> ] bi
|
||||||
[ '[ first2 _ set-at ] each ] [ values ] bi ;
|
[ '[ first2 _ set-at ] each ] [ values ] bi ; inline
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue