public void Drag(Location start, Location end) { var d = -start.VectorTo(end); _pos = _pos.LocationAway(d); Pos3d = _pos.ToPositionAboveSeaLeveld(_altitude); LookAt = LookAt.LocationAway(d); LookAt3d = LookAt.ToPositionAboveSeaLeveld(0); Dirty = true; }
public bool Update(SimTime t) { if (_accTime > _duration) { return(false); } else { _accTime += t.WallTimeElapsed; var a = _accTime / _duration; if (a > 1) { a = 1; } a *= a; //a = 1 - a; _current = _start.LocationAway(_start.VectorTo(_end) * (float)a); return(true); } }
public void Drag(Location start, Location end) { var d = -start.VectorTo(end); _pos = _pos.LocationAway(d); Pos3d = _pos.ToPositionAboveSeaLeveld (_altitude); LookAt = LookAt.LocationAway(d); LookAt3d = LookAt.ToPositionAboveSeaLeveld (0); Dirty = true; }