Clean up how symbol is added to themes component shape. Ready for release.
This commit is contained in:
parent
07b831c34f
commit
f0609029e8
@ -53,6 +53,8 @@ public class MassObjectShapes extends RocketComponentShapes {
|
||||
break;
|
||||
case BATTERY:
|
||||
s = addBatterySymbol(s);
|
||||
break;
|
||||
case MASSCOMPONENT:
|
||||
}
|
||||
|
||||
return s;
|
||||
@ -75,12 +77,14 @@ public class MassObjectShapes extends RocketComponentShapes {
|
||||
}
|
||||
|
||||
private static Shape[] addAltimeterSymbol(Shape[] baseShape){
|
||||
int offset=baseShape.length;
|
||||
Shape[] newShape = new Shape[baseShape.length+1];
|
||||
System.arraycopy(baseShape, 0, newShape, 0, baseShape.length);
|
||||
|
||||
Rectangle2D bounds = baseShape[0].getBounds2D();
|
||||
Double vMargin = bounds.getHeight()/8.0;
|
||||
Double hMargin = bounds.getWidth()/2.25;
|
||||
Double halfArrowWidth=MathUtil.min(hMargin, vMargin);
|
||||
newShape[0]=baseShape[0];
|
||||
|
||||
Path2D.Double symbol = new Path2D.Double();
|
||||
symbol.moveTo(bounds.getCenterX(), bounds.getY()+vMargin);
|
||||
@ -89,13 +93,15 @@ public class MassObjectShapes extends RocketComponentShapes {
|
||||
symbol.lineTo(bounds.getCenterX()+halfArrowWidth, bounds.getY()+6*vMargin);
|
||||
symbol.lineTo(bounds.getCenterX(), bounds.getY()+7*vMargin);
|
||||
|
||||
newShape[1]= symbol;
|
||||
newShape[offset]= symbol;
|
||||
return newShape;
|
||||
}
|
||||
|
||||
private static Shape[] addFlightComputerSymbol(Shape[] baseShape){
|
||||
int pins=12;
|
||||
int offset=baseShape.length;
|
||||
Shape[] newShape = new Shape[baseShape.length+1+pins];
|
||||
System.arraycopy(baseShape, 0, newShape, 0, baseShape.length);
|
||||
|
||||
Rectangle2D bounds = baseShape[0].getBounds2D();
|
||||
|
||||
@ -105,11 +111,10 @@ public class MassObjectShapes extends RocketComponentShapes {
|
||||
Double pinHeight=vMargin;
|
||||
Double pinSpacing=(bounds.getWidth()-2*hMargin)/(pins+1);
|
||||
Double pinWidth=pinSpacing/2;
|
||||
newShape[0]=baseShape[0];
|
||||
newShape[1]=new Rectangle2D.Double(bounds.getX()+hMargin, bounds.getY()+2*vMargin, 4*hMargin,4*vMargin);
|
||||
newShape[offset]=new Rectangle2D.Double(bounds.getX()+hMargin, bounds.getY()+2*vMargin, 4*hMargin,4*vMargin);
|
||||
for(int i=0; i<(pins/2); i++){
|
||||
newShape[i+2]=new Rectangle2D.Double(bounds.getX()+hMargin+2*i*pinSpacing+pinSpacing, bounds.getY()+6*vMargin, pinWidth, pinHeight);
|
||||
newShape[i+pins/2+2]=new Rectangle2D.Double(bounds.getX()+hMargin+2*i*pinSpacing+pinSpacing, bounds.getY()+vMargin, pinWidth, pinHeight);
|
||||
newShape[i+1+offset]=new Rectangle2D.Double(bounds.getX()+hMargin+2*i*pinSpacing+pinSpacing, bounds.getY()+6*vMargin, pinWidth, pinHeight);
|
||||
newShape[i+pins/2+1+offset]=new Rectangle2D.Double(bounds.getX()+hMargin+2*i*pinSpacing+pinSpacing, bounds.getY()+vMargin, pinWidth, pinHeight);
|
||||
}
|
||||
//newShape[1]=symbol;
|
||||
return newShape;
|
||||
@ -117,13 +122,14 @@ public class MassObjectShapes extends RocketComponentShapes {
|
||||
|
||||
private static Shape[] addTrackerSymbol(Shape[] baseShape){
|
||||
Shape[] newShape = new Shape[baseShape.length+7];
|
||||
int offset=baseShape.length;
|
||||
System.arraycopy(baseShape, 0, newShape, 0, baseShape.length);
|
||||
|
||||
Rectangle2D bounds = baseShape[0].getBounds2D();
|
||||
Double vMargin=bounds.getWidth()/10;
|
||||
|
||||
Double xCenter=bounds.getCenterX();
|
||||
Double yCenter=bounds.getCenterY();
|
||||
newShape[0]=baseShape[0];
|
||||
|
||||
Double arcExtent = 60.0;
|
||||
Double arcStart1 = 360-arcExtent/2;
|
||||
@ -132,43 +138,47 @@ public class MassObjectShapes extends RocketComponentShapes {
|
||||
if(3*vMargin*Math.sin(Math.toRadians(arcExtent/2))>0.9*bounds.getHeight()/2){
|
||||
vMargin=0.9*bounds.getHeight()/(6*Math.sin(Math.toRadians(arcExtent/2)));
|
||||
}
|
||||
newShape[1]= new Ellipse2D.Double(xCenter-vMargin/2, yCenter-vMargin/2,vMargin,vMargin);
|
||||
newShape[offset]= new Ellipse2D.Double(xCenter-vMargin/2, yCenter-vMargin/2,vMargin,vMargin);
|
||||
for(int i=1; i<4; i++){
|
||||
newShape[i+1]= new Arc2D.Double(xCenter-i*vMargin, yCenter-i*vMargin, 2*i*vMargin, 2*i*vMargin, arcStart1,arcExtent,Arc2D.OPEN);
|
||||
newShape[i+4]= new Arc2D.Double(xCenter-i*vMargin, yCenter-i*vMargin, 2*i*vMargin, 2*i*vMargin, arcStart2,arcExtent,Arc2D.OPEN);
|
||||
newShape[i+offset]= new Arc2D.Double(xCenter-i*vMargin, yCenter-i*vMargin, 2*i*vMargin, 2*i*vMargin, arcStart1,arcExtent,Arc2D.OPEN);
|
||||
newShape[i+3+offset]= new Arc2D.Double(xCenter-i*vMargin, yCenter-i*vMargin, 2*i*vMargin, 2*i*vMargin, arcStart2,arcExtent,Arc2D.OPEN);
|
||||
}
|
||||
return newShape;
|
||||
}
|
||||
private static Shape[] addPayloadSymbol(Shape[] baseShape){
|
||||
Shape[] newShape = new Shape[baseShape.length+1];
|
||||
newShape[0]=baseShape[0];
|
||||
int offset=baseShape.length;
|
||||
System.arraycopy(baseShape, 0, newShape, 0, baseShape.length);
|
||||
|
||||
Rectangle2D bounds = baseShape[0].getBounds2D();
|
||||
Double vMargin=bounds.getHeight()/10;
|
||||
Double hMargin=bounds.getWidth()/10;
|
||||
|
||||
|
||||
newShape[1]= new Ellipse2D.Double(bounds.getX()+hMargin, bounds.getY()+vMargin,bounds.getWidth()-2*hMargin,bounds.getHeight()-2*vMargin);
|
||||
newShape[offset]= new Ellipse2D.Double(bounds.getX()+hMargin, bounds.getY()+vMargin,bounds.getWidth()-2*hMargin,bounds.getHeight()-2*vMargin);
|
||||
|
||||
return newShape;
|
||||
}
|
||||
private static Shape[] addRecoveryHardwareSymbol(Shape[] baseShape){
|
||||
Shape[] newShape = new Shape[baseShape.length+3];
|
||||
newShape[0]=baseShape[0];
|
||||
int offset=baseShape.length;
|
||||
System.arraycopy(baseShape, 0, newShape, 0, baseShape.length);
|
||||
Rectangle2D bounds = baseShape[0].getBounds2D();
|
||||
Double vMargin=bounds.getHeight()/8;
|
||||
Double hMargin=bounds.getWidth()/8;
|
||||
|
||||
|
||||
newShape[1]= new RoundRectangle2D.Double(bounds.getX()+hMargin, bounds.getY()+vMargin,bounds.getWidth()-2*hMargin,bounds.getHeight()-2*vMargin, 15, 5);
|
||||
newShape[2]= new RoundRectangle2D.Double(bounds.getX()+hMargin+vMargin, bounds.getY()+2*vMargin,bounds.getWidth()-2*hMargin-2*vMargin,bounds.getHeight()-4*vMargin, 15, 5);
|
||||
newShape[3]= new Rectangle2D.Double(bounds.getCenterX()-1.5*hMargin, bounds.getCenterY()+1.5*vMargin, 3*hMargin, 2*vMargin);
|
||||
newShape[offset]= new RoundRectangle2D.Double(bounds.getX()+hMargin, bounds.getY()+vMargin,bounds.getWidth()-2*hMargin,bounds.getHeight()-2*vMargin, 15, 5);
|
||||
newShape[offset+1]= new RoundRectangle2D.Double(bounds.getX()+hMargin+vMargin, bounds.getY()+2*vMargin,bounds.getWidth()-2*hMargin-2*vMargin,bounds.getHeight()-4*vMargin, 15, 5);
|
||||
newShape[offset+2]= new Rectangle2D.Double(bounds.getCenterX()-1.5*hMargin, bounds.getCenterY()+1.5*vMargin, 3*hMargin, 2*vMargin);
|
||||
return newShape;
|
||||
}
|
||||
|
||||
private static Shape[] addDeploymentChargeSymbol(Shape[] baseShape){
|
||||
int rays=15;
|
||||
Shape[] newShape = new Shape[baseShape.length+rays];
|
||||
newShape[0]=baseShape[0];
|
||||
Shape[] newShape = new Shape[baseShape.length+2];
|
||||
int offset=baseShape.length;
|
||||
System.arraycopy(baseShape, 0, newShape, 0, baseShape.length);
|
||||
|
||||
Rectangle2D bounds = baseShape[0].getBounds2D();
|
||||
|
||||
@ -177,13 +187,16 @@ public class MassObjectShapes extends RocketComponentShapes {
|
||||
Double yCenter=bounds.getCenterY();
|
||||
Random rand = new Random();
|
||||
|
||||
newShape[1]= new Arc2D.Double(xCenter-2*vMargin, yCenter-2*vMargin,4*vMargin,4*vMargin, 55.0, 180.0, Arc2D.OPEN);
|
||||
newShape[offset]= new Arc2D.Double(xCenter-2*vMargin, yCenter-2*vMargin,4*vMargin,4*vMargin, 55.0, 180.0, Arc2D.CHORD);
|
||||
|
||||
Path2D.Double explosion = new Path2D.Double();
|
||||
newShape[offset+1]=explosion;
|
||||
|
||||
for(int i=1; i<rays; i++){
|
||||
Double rx = rand.nextDouble()*3.0;
|
||||
Double ry = rand.nextDouble()*2.0;
|
||||
Double rx0 = rand.nextDouble()*0.25;
|
||||
Double ry0 = rand.nextDouble()*0.25;
|
||||
newShape[i+1]= new Line2D.Double(xCenter-rx0*vMargin, yCenter-ry0*vMargin, xCenter+rx*vMargin, yCenter+ry*vMargin);
|
||||
explosion.moveTo(xCenter, yCenter);
|
||||
explosion.lineTo(xCenter+rx*vMargin, yCenter+ry*vMargin);
|
||||
}
|
||||
return newShape;
|
||||
}
|
||||
@ -191,7 +204,9 @@ public class MassObjectShapes extends RocketComponentShapes {
|
||||
private static Shape[] addBatterySymbol(Shape[] baseShape){
|
||||
Shape[] newShape = new Shape[baseShape.length+1];
|
||||
Rectangle2D bounds = baseShape[0].getBounds2D();
|
||||
|
||||
int offset=baseShape.length;
|
||||
System.arraycopy(baseShape, 0, newShape, 0, baseShape.length);
|
||||
|
||||
|
||||
Double vMargin = bounds.getHeight()/8.0;
|
||||
Double hMargin = bounds.getWidth()/3.0;
|
||||
@ -199,7 +214,6 @@ public class MassObjectShapes extends RocketComponentShapes {
|
||||
Double cellTop=bounds.getY()+7*vMargin;
|
||||
Double cellBottom=bounds.getY()+vMargin;
|
||||
|
||||
newShape[0]=baseShape[0];
|
||||
|
||||
Path2D.Double symbol = new Path2D.Double();
|
||||
symbol.moveTo(bounds.getX()+hMargin, bounds.getCenterY());
|
||||
@ -214,7 +228,7 @@ public class MassObjectShapes extends RocketComponentShapes {
|
||||
symbol.moveTo(bounds.getX()+bounds.getWidth()-2*hMargin/3-cellWidth/2, bounds.getCenterY());
|
||||
symbol.lineTo(bounds.getX()+2*hMargin-cellWidth/2, bounds.getCenterY());
|
||||
|
||||
newShape[1]= symbol;
|
||||
newShape[offset]= symbol;
|
||||
return newShape;
|
||||
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user