shape
This commit is contained in:
@@ -984,19 +984,29 @@ public enum BuildingManager {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(building.meshUUID == 24000){
|
|
||||||
int i = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
for (ArrayList<Vector2f> meshEntry : convexHullList) {
|
for (ArrayList<Vector2f> meshEntry : convexHullList) {
|
||||||
Path2D.Float meshBound = new Path2D.Float();
|
ArrayList<Vector3fImmutable> rotatedPoints = new ArrayList<>();
|
||||||
Vector3fImmutable start = Vector3fImmutable.rotateAroundPoint(new Vector3fImmutable(meshEntry.get(0).x,building.loc.y,meshEntry.get(0).y),building.loc,building.getRot().getRotation());
|
|
||||||
meshBound.moveTo(start.x,start.z);
|
|
||||||
for (Vector2f vect : meshEntry) {
|
for (Vector2f vect : meshEntry) {
|
||||||
Vector3fImmutable pos = Vector3fImmutable.rotateAroundPoint(new Vector3fImmutable(vect.x,building.loc.y,vect.y),building.loc,building.getRot().getRotation());
|
Vector3fImmutable offsetVect = new Vector3fImmutable(vect.x + building.loc.x, building.loc.y,vect.y + building.loc.z);
|
||||||
meshBound.lineTo(pos.x,pos.z);
|
Vector3fImmutable rotatedVect = Vector3fImmutable.rotateAroundPoint(offsetVect,building.loc,building.getRot().y);
|
||||||
|
rotatedPoints.add(rotatedVect);
|
||||||
}
|
}
|
||||||
meshBound.lineTo(start.x,start.z);
|
Path2D.Float meshBound = new Path2D.Float();
|
||||||
|
Polygon poly = new Polygon();
|
||||||
|
Vector3fImmutable offsetVect = new Vector3fImmutable(meshEntry.get(0).x + building.loc.x, building.loc.y,meshEntry.get(0).y + building.loc.z);
|
||||||
|
Vector3fImmutable rotatedStart = Vector3fImmutable.rotateAroundPoint(offsetVect,building.loc,building.getRot().getRotation());
|
||||||
|
meshBound.moveTo(rotatedStart.x,rotatedStart.z);
|
||||||
|
for (Vector2f vect : meshEntry) {
|
||||||
|
if(meshEntry.indexOf(vect) == 0){
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
Vector3fImmutable pos = new Vector3fImmutable(vect.x + building.loc.x, building.loc.y,vect.y + building.loc.z);
|
||||||
|
Vector3fImmutable rotatedPos = Vector3fImmutable.rotateAroundPoint(pos,building.loc,building.getRot().getRotation());
|
||||||
|
poly.addPoint((int)rotatedPos.x,(int)rotatedPos.z);
|
||||||
|
meshBound.lineTo(rotatedPos.x,rotatedPos.z);
|
||||||
|
}
|
||||||
|
Area area = new Area(poly);
|
||||||
|
meshBound.lineTo(rotatedStart.x,rotatedStart.z);
|
||||||
meshBound.closePath();
|
meshBound.closePath();
|
||||||
building.meshes.add(meshBound);
|
building.meshes.add(meshBound);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user