database mesh data loaded into hashmaps

This commit is contained in:
2024-01-03 19:25:59 -06:00
parent 78a0416b19
commit f1e41e47cf
6 changed files with 234 additions and 0 deletions
+37
View File
@@ -0,0 +1,37 @@
package engine.collision;
import java.awt.geom.Line2D;
import java.util.ArrayList;
public class Mesh {
public ArrayList<Triangle> triangles;
public ArrayList<Line2D> BoundingLines;
public float meshHeight;
public boolean BoundsCollides(Line2D line){
for(Line2D side : BoundingLines)
if(side.intersectsLine(line))
return true;
return false;
}
public boolean MeshCollides(Line2D line, float charHeight){
//movement path does not intersect this mesh
if(!this.BoundsCollides(line))
return false;
//character moving is higher than the max Y of this mesh
if(charHeight < this.meshHeight)
return false;
for(Triangle tri : triangles)
if(tri.collides(line))
return true;
//characters movement path did not intersect this triangle
return false;
}
}
+17
View File
@@ -0,0 +1,17 @@
package engine.collision;
import java.awt.geom.Line2D;
import java.util.ArrayList;
public class Triangle {
public ArrayList<Line2D> sides;
public boolean collides(Line2D line)
{
for(Line2D side : sides)
if(side.intersectsLine(line))
return true;
return false;
}
}