mirror of
https://github.com/lxsang/Diya-API.git
synced 2024-12-27 03:48:21 +01:00
42 lines
847 B
Smalltalk
42 lines
847 B
Smalltalk
Extension { #name : #Array2D }
|
|
|
|
{ #category : #'*Diya' }
|
|
Array2D >> asGLBuffer [
|
|
|buffer i|
|
|
i := 1.
|
|
buffer := FFIExternalArray externalNewType: #float size: self size.
|
|
self asArray do:[:e|
|
|
buffer at:i put:e.
|
|
i := i+1
|
|
].
|
|
buffer autoRelease.
|
|
^buffer
|
|
]
|
|
|
|
{ #category : #'*Diya' }
|
|
Array2D class >> rotationMatrix2D: rotation [
|
|
^Array2D rows: 3 columns: 3 contents:{
|
|
rotation cos. (rotation sin) negated. 0.0.
|
|
rotation sin. rotation cos. 0.0.
|
|
0.0. 0.0. 1.0
|
|
}
|
|
]
|
|
|
|
{ #category : #'*Diya' }
|
|
Array2D class >> scaleMatrix2D: scale [
|
|
^Array2D rows: 3 columns: 3 contents:{
|
|
scale x. 0.0. 0.0.
|
|
0.0. scale y. 0.0.
|
|
0.0. 0.0. 1.0
|
|
}
|
|
]
|
|
|
|
{ #category : #'*Diya' }
|
|
Array2D class >> translateMatrix2D: translation [
|
|
^Array2D rows: 3 columns: 3 contents: {
|
|
1.0. 0.0. translation x.
|
|
0.0. 1.0. translation y.
|
|
0.0. 0.0. 1.0
|
|
}
|
|
]
|