Statistics
| Revision:

gvsig-tools / org.gvsig.tools / library / trunk / org.gvsig.tools / org.gvsig.tools.util / org.gvsig.tools.util.impl / src / main / java / org / gvsig / euclidean / DefaultEuclideanManager.java @ 2319

History | View | Annotate | Download (1.41 KB)

1
/*
2
 * To change this license header, choose License Headers in Project Properties.
3
 * To change this template file, choose Tools | Templates
4
 * and open the template in the editor.
5
 */
6
package org.gvsig.euclidean;
7

    
8
import java.awt.geom.Point2D;
9

    
10
/**
11
 *
12
 * @author fdiaz
13
 */
14
public class DefaultEuclideanManager implements EuclideanManager{
15

    
16
    @Override
17
    public EuclideanLine2D createLine2D(double coefA, double coefB, double coefC) {
18
        return new EuclideanLine2DImpl(coefA, coefB, coefC);
19
    }
20

    
21
    @Override
22
    public EuclideanLine2D createLine2D(double m, double b) {
23
        return new EuclideanLine2DImpl(m, b);
24
    }
25

    
26
    @Override
27
    public EuclideanLine2D createLine2D(double x0, double y0, double x1, double y1) {
28
        return new EuclideanLine2DImpl(x0, y0, x1, y1);
29
    }
30

    
31
    @Override
32
    public EuclideanLine2D createLine2D(Point2D p1, Point2D p2) {
33
        return new EuclideanLine2DImpl(p2, p1);
34
    }
35

    
36
    @Override
37
    public EuclideanLine2D createLine2D(double m, Point2D p) {
38
        if(Double.isInfinite(m)){
39
            return new EuclideanLine2DImpl(1, 0, -p.getX());
40
        }
41
        return new EuclideanLine2DImpl(m, getYIntercept(m, p));
42
    }
43

    
44
    @Override
45
    public double getYIntercept(double m, Point2D p) {
46
        return getYIntercept(m, p.getX(), p.getY());
47
    }
48

    
49
    @Override
50
    public double getYIntercept(double m, double x, double y) {
51
        return -m*x+y;
52
    }
53
    
54
    
55
    
56
    
57
}