[etoys-dev] Etoys: DrGeoII-Core-HilaireFernandes.17.mcz
commits at source.squeak.org
commits at source.squeak.org
Mon Jun 28 17:46:30 EDT 2010
Bert Freudenberg uploaded a new version of DrGeoII-Core to project Etoys:
http://source.squeak.org/etoys/DrGeoII-Core-HilaireFernandes.17.mcz
==================== Summary ====================
Name: DrGeoII-Core-HilaireFernandes.17
Author: HilaireFernandes
Time: 28 June 2010, 10:19:34.844 pm
UUID: 71d918df-dae3-4ac4-826f-5ce1c272ab8e
Ancestors: DrGeoII-Core-HilaireFernandes.16
Line clipping fix.
DrGeoCanvas fix
=============== Diff against DrGeoII-Core-HilaireFernandes.16 ===============
Item was changed:
----- Method: DrGeoCanvas>>initialize (in category 'initialize-release') -----
initialize
super initialize.
drgeo := DrGeo service.
+ drgeo view extent: 400 at 300.
+ drgeo view openInWorld!
- drgeo view area extent: 400 at 300.
- drgeo view area openInWorld!
Item was changed:
----- Method: Rectangle>>intersectionWith: (in category '*DrGeoII-Core-intersection') -----
intersectionWith: aLineSeg
| intersections |
intersections := Set new.
(aLineSeg
intersectionWith: (LineSegment from: self origin to: self bottomLeft))
ifNotNilDo: [:inter | intersections add: inter].
(aLineSeg
intersectionWith: (LineSegment from: self origin to: self topRight))
ifNotNilDo: [:inter | intersections add: inter].
(aLineSeg
intersectionWith: (LineSegment from: self corner to: self bottomLeft))
ifNotNilDo: [:inter | intersections add: inter].
(aLineSeg
intersectionWith: (LineSegment from: self corner to: self topRight))
ifNotNilDo: [:inter | intersections add: inter].
intersections := intersections asOrderedCollection.
intersections size = 2
ifTrue: [^ LineSegment from: intersections first to: intersections second].
intersections size = 0
ifTrue:
[(self containsPoint: aLineSeg start)
ifTrue: [(self containsPoint: aLineSeg end) ifTrue: [^aLineSeg ]]
ifFalse: [(self containsPoint: aLineSeg end) ifFalse: [^nil]]].
(self containsPoint: aLineSeg start)
+ ifTrue: [
+ (self containsPoint: aLineSeg start)
+ ifTrue: [^aLineSeg]
+ ifFalse: [^LineSegment from: aLineSeg start to: intersections first]].
- ifTrue: [^LineSegment from: aLineSeg start to: intersections first].
(self containsPoint: aLineSeg end)
ifTrue: [^LineSegment from: aLineSeg end to: intersections first].
^nil!
Item was changed:
----- Method: DrGSegmentMorph>>from:to: (in category 'accessing') -----
from: startPoint to: endPoint
| clippedSeg |
clippedSeg := self costume drawable bounds
intersectionWith: (LineSegment from: startPoint to: endPoint).
clippedSeg
ifNotNil: [
self visible ifFalse: [ self show].
vertices at: 1 put: clippedSeg start asIntegerPoint.
vertices at: 2 put: clippedSeg end asIntegerPoint.
self computeBounds]
ifNil: [self visible ifTrue: [self hide]]!
Item was added:
+ ----- Method: DrGService classSide>>descriptionForPartsBin (in category 'parts bin') -----
+ descriptionForPartsBin
+ ^ (DescriptionForPartsBin
+ formalName: 'Dr. Geo'
+ categoryList: #('Graphics' 'Tools' )
+ documentation: 'An interactive geometry canvas to draw dynamic geometric sketch. Open the Morph menu to get access to the construction tools and more.' translated
+ globalReceiverSymbol: #DrGeo
+ nativitySelector: #sample)
+ sampleImageForm: DrGIcons angle!
More information about the etoys-dev
mailing list