mirror of
https://github.com/TheAlgorithms/Java.git
synced 2026-03-13 08:40:43 +08:00
Add line clipping algorithms (#5580)
This commit is contained in:
43
src/main/java/com/thealgorithms/lineclipping/utils/Line.java
Normal file
43
src/main/java/com/thealgorithms/lineclipping/utils/Line.java
Normal file
@@ -0,0 +1,43 @@
|
||||
package com.thealgorithms.lineclipping.utils;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* @author moksedursohan
|
||||
* @since 10/4/24
|
||||
*/
|
||||
public class Line {
|
||||
|
||||
public Point start;
|
||||
public Point end;
|
||||
|
||||
public Line() {
|
||||
}
|
||||
|
||||
public Line(Point start, Point end) {
|
||||
this.start = start;
|
||||
this.end = end;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object o) {
|
||||
if (this == o) {
|
||||
return true;
|
||||
}
|
||||
if (!(o instanceof Line line)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return Objects.equals(start, line.start) && Objects.equals(end, line.end);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hash(start, end);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "Line from " + start + " to " + end;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
package com.thealgorithms.lineclipping.utils;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* @author moksedursohan
|
||||
* @since 10/4/24
|
||||
*/
|
||||
public class Point {
|
||||
|
||||
public double x;
|
||||
public double y;
|
||||
|
||||
public Point() {
|
||||
}
|
||||
|
||||
public Point(double x, double y) {
|
||||
this.x = x;
|
||||
this.y = y;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object o) {
|
||||
if (this == o) {
|
||||
return true;
|
||||
}
|
||||
if (!(o instanceof Point point)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return Double.compare(x, point.x) == 0 && Double.compare(y, point.y) == 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hash(x, y);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "(" + x + ", " + y + ")";
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user