#BUGFIX by cg
class: ApplicationModel
changed: #rememberRecentlyOpenedApplication
use old-style seqColl protocol to avoid
need to retag SeqColl (and dependents)
DisplayTransform subclass:#CompositeTransform
instanceVariableNames:'globalTransform localTransform'
classVariableNames:''
poolDictionaries:''
category:'Graphics-Transformations'
!
CompositeTransform comment:'A composite transform provides the effect of several levels of coordinate transformations.'!
!CompositeTransform methodsFor:'accessing'!
inverseTransformation
"Return the inverse transformation of the receiver"
^self species new
globalTransform: localTransform inverseTransformation
localTransform: globalTransform inverseTransformation! !
!CompositeTransform methodsFor:'converting'!
asCompositeTransform
^self!
asMatrixTransform2x3
^globalTransform asMatrixTransform2x3
composedWithLocal: localTransform asMatrixTransform2x3! !
!CompositeTransform methodsFor:'initialization'!
globalTransform: gt localTransform: lt
globalTransform _ gt.
localTransform _ lt! !
!CompositeTransform methodsFor:'testing'!
isCompositeTransform
^true!
isIdentity
^ globalTransform isIdentity and: [localTransform isIdentity]!
isPureTranslation
^ globalTransform isPureTranslation and: [localTransform isPureTranslation]! !
!CompositeTransform methodsFor:'transformations'!
invert: aPoint
^ globalTransform invert: (localTransform invert: aPoint)!
scale
^ localTransform scale * globalTransform scale!
transform: aPoint
^ localTransform transform: (globalTransform transform: aPoint)! !
!CompositeTransform methodsFor:'transforming points'!
globalPointToLocal: aPoint
"Transform aPoint from global coordinates into local coordinates"
^localTransform globalPointToLocal:
(globalTransform globalPointToLocal: aPoint)!
localPointToGlobal: aPoint
"Transform aPoint from global coordinates into local coordinates"
^globalTransform localPointToGlobal:
(localTransform localPointToGlobal: aPoint)! !
!CompositeTransform class methodsFor:'documentation'!
version
^ '$Header: /cvs/stx/stx/libview2/CompositeTransform.st,v 1.1 1999-10-06 22:23:08 cg Exp $'
! !