shearHobject

$line shearHobject x y x0 y0 BotY mode
shears object horizontal interactively

obj method line shearHobject {x y x0 y0 BotY {mode parallel} {draw yes}} {
  if {[$self constraint shear]} then {
    set centerDot [my centerDot]
    lassign [$centerDot storeXY info] centerX centerY
    $centerDot shearHobject $x $y $x0 $y0 $BotY $mode
    set dx [- [$centerDot cget -x] $centerX]
    set dy [- [$centerDot cget -y] $centerY]
    lappend transformL moveHorizontal $dx moveVertical $dy
    $self dots transform {*}$transformL
  } else {
    $self dots shearHobject $x $y $x0 $y0 $BotY $mode
  }
  if {$draw} then {
    $self dots lines draw coords
  }
}

© Wolf-Dieter Busch | Home | Sitemap | Urheber | A-Z