//============================================================================= void Rectangle2::originIsCenter_() { Vector2F dw = width_; Vector2F dh = up_(); dw.multiply(-0.5); dh.multiply(-0.5); origin_.add(dw); origin_.add(dh); }
//============================================================================= Point2F Ray2::getPoint(double parameter, double offset) const { Vector2F delta = dir_; delta.multiply(parameter); Point2F result = origin_; result.add(delta); if (offset == 0.0) return result; Vector2F offsetVec = dir_; offsetVec.setPerpendLeft(); offsetVec.multiply( offset/offsetVec.getLength() ); result.add(offsetVec); return result; }