[squeak-dev] The Trunk: Balloon-ul.30.mcz

commits at source.squeak.org commits at source.squeak.org
Mon Apr 24 12:13:35 UTC 2017


Levente Uzonyi uploaded a new version of Balloon to project The Trunk:
http://source.squeak.org/trunk/Balloon-ul.30.mcz

==================== Summary ====================

Name: Balloon-ul.30
Author: ul
Time: 24 April 2017, 1:00:18.796732 pm
UUID: 15ea6361-1ff2-41af-bde1-171dc7c83dd4
Ancestors: Balloon-ul.29

- rewrote senders of #clone to use #shallowCopy

=============== Diff against Balloon-ul.29 ===============

Item was changed:
  ----- Method: BalloonBezierSimulation>>computeSplitAt: (in category 'computing') -----
  computeSplitAt: t
  	"Split the receiver at the parametric value t"
  	| left right newVia1 newVia2 newPoint |
+ 	left := self shallowCopy.
+ 	right := self shallowCopy.
- 	left := self clone.
- 	right := self clone.
  	"Compute new intermediate points"
  	newVia1 := (via - start) * t + start.
  	newVia2 := (end - via) * t + via.
  	"Compute new point on curve"
  	newPoint := ((newVia1 - newVia2) * t + newVia2) asIntegerPoint.
  	left via: newVia1 asIntegerPoint.
  	left end: newPoint.
  	right start: newPoint.
  	right via: newVia2 asIntegerPoint.
  	^Array with: left with: right!

Item was changed:
  ----- Method: Bezier2Segment>>curveFrom:to: (in category 'vector functions') -----
  curveFrom: param1 to: param2
  	"Return a new curve from param1 to param2"
  	| newStart newEnd newVia tan1 tan2 d1 d2 |
  	tan1 := via - start.
  	tan2 := end - via.
  	param1 <= 0.0 ifTrue:[
  		newStart := start.
  	] ifFalse:[
  		d1 := tan1 * param1 + start.
  		d2 := tan2 * param1 + via.
  		newStart := (d2 - d1) * param1 + d1
  	].
  	param2 >= 1.0 ifTrue:[
  		newEnd := end.
  	] ifFalse:[
  		d1 := tan1 * param2 + start.
  		d2 := tan2 * param2 + via.
  		newEnd := (d2 - d1) * param2 + d1.
  	].
  	tan2 := (tan2 - tan1 * param1 + tan1) * (param2 - param1).
  	newVia := newStart + tan2.
+ 	^self shallowCopy from: newStart to: newEnd via: newVia.!
- 	^self clone from: newStart to: newEnd via: newVia.!

Item was changed:
  ----- Method: LineSegment>>curveFrom:to: (in category 'vector functions') -----
  curveFrom: parameter1 to: parameter2
  	"Create a new segment like the receiver but starting/ending at the given parametric values"
  	| delta |
  	delta := end - start.
+ 	^self shallowCopy from: delta * parameter1 + start to: delta * parameter2 + start!
- 	^self clone from: delta * parameter1 + start to: delta * parameter2 + start!



More information about the Squeak-dev mailing list