Пример #1
0
//=============================================================================
Vector2F Rectangle2::up_() const
{
    Vector2F result = width_;
    result.setPerpendLeft();
    result.setLength(height_);
    return result;
}
Пример #2
0
//=============================================================================
double Ray2::nearestParam( const Point2F& pt )
{
    double parameter = 0.0;
    Vector2F dir = getDir();
    dir.setPerpendLeft();
    intersectParam( *this, Ray2(pt, dir), parameter);
    return parameter;
}
Пример #3
0
//=============================================================================
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;
}