Ignore:
Timestamp:
2013-10-18T12:28:00+02:00 (12 years ago)
Author:
malcolmh
Message:

save

File:
1 moved

Legend:

Unmodified
Added
Removed
  • applications/editors/josm/plugins/smed2/src/seamap/Signals.java

    r30025 r30026  
    1010package seamap;
    1111
     12import java.awt.Color;
     13import java.awt.Font;
    1214import java.awt.geom.*;
    13 
     15import java.util.ArrayList;
     16
     17import s57.S57att.Att;
     18import s57.S57obj.Obj;
     19import s57.S57val.CatROS;
     20import seamap.Renderer.LabelStyle;
    1421import seamap.SeaMap.*;
    15 
    16 public class Lights {
    17 
     22import symbols.Beacons;
     23import symbols.Topmarks;
     24import symbols.Symbols.Delta;
     25import symbols.Symbols.Handle;
     26
     27public class Signals {
     28
     29        public static void addSignals(Feature feature) {
     30          if (feature.objs.containsKey(Obj.FOGSIG)) Signals.fogSignals(feature);
     31          if (feature.objs.containsKey(Obj.RTPBCN)) Signals.radarStations(feature);
     32          if (feature.objs.containsKey(Obj.RADSTA)) Signals.radarStations(feature);
     33          if (feature.objs.containsKey(Obj.RDOSTA)) Signals.radioStations(feature);
     34          if (feature.objs.containsKey(Obj.LIGHTS)) Signals.lights(feature);
     35        }
     36       
     37        public static void fogSignals(Feature feature) {
     38               
     39        }
     40
     41        public static void radarStations(Feature feature) {
     42                Renderer.symbol(feature, Beacons.RadarStation, null, null, null);
     43                ArrayList<CatROS> cats = (ArrayList<CatROS>)Renderer.getAttVal(feature, Obj.RDOSTA, 0, Att.CATROS);
     44                String str = "";
     45                for (CatROS ros : cats) {
     46                        switch (ros) {
     47                        case ROS_OMNI:
     48                                str += " RC";
     49                                break;
     50                        case ROS_DIRL:
     51                                str += " RD";
     52                                break;
     53                        case ROS_ROTP:
     54                                str += " RW";
     55                                break;
     56                        case ROS_CNSL:
     57                                str += " Consol";
     58                                break;
     59                        case ROS_RDF:
     60                                str += " RG";
     61                                break;
     62                        case ROS_QTA:
     63                                str += " R";
     64                                break;
     65                        case ROS_AERO:
     66                                str += " AeroRC";
     67                                break;
     68                        case ROS_DECA:
     69                                str += " Decca";
     70                                break;
     71                        case ROS_LORN:
     72                                str += " Loran";
     73                                break;
     74                        case ROS_DGPS:
     75                                str += " DGPS";
     76                                break;
     77                        case ROS_TORN:
     78                                str += " Toran";
     79                                break;
     80                        case ROS_OMGA:
     81                                str += " Omega";
     82                                break;
     83                        case ROS_SYLD:
     84                                str += " Syledis";
     85                                break;
     86                        case ROS_CHKA:
     87                                str += " Chiaka";
     88                                break;
     89                        case ROS_PCOM:
     90                        case ROS_COMB:
     91                        case ROS_FACS:
     92                        case ROS_TIME:
     93                                break;
     94                        case ROS_PAIS:
     95                        case ROS_SAIS:
     96                                str += " AIS";
     97                                break;
     98                        case ROS_VAIS:
     99                                Renderer.labelText(feature, " V-AIS", new Font("Arial", Font.PLAIN, 40), LabelStyle.NONE, Color.black, null, new Delta(Handle.BC, AffineTransform.getTranslateInstance(0, 70)));
     100                                break;
     101                        case ROS_VANC:
     102                                Renderer.labelText(feature, " V-AIS", new Font("Arial", Font.PLAIN, 40), LabelStyle.NONE, Color.black, null, new Delta(Handle.BC, AffineTransform.getTranslateInstance(0, 70)));
     103                                Renderer.symbol(feature, Topmarks.TopNorth, null, new Delta(Handle.BC, AffineTransform.getTranslateInstance(0, -25)), null);
     104                                break;
     105                        case ROS_VASC:
     106                                Renderer.labelText(feature, " V-AIS", new Font("Arial", Font.PLAIN, 40), LabelStyle.NONE, Color.black, null, new Delta(Handle.BC, AffineTransform.getTranslateInstance(0, 70)));
     107                                Renderer.symbol(feature, Topmarks.TopSouth, null, new Delta(Handle.BC, AffineTransform.getTranslateInstance(0, -25)), null);
     108                                break;
     109                        case ROS_VAEC:
     110                                Renderer.labelText(feature, " V-AIS", new Font("Arial", Font.PLAIN, 40), LabelStyle.NONE, Color.black, null, new Delta(Handle.BC, AffineTransform.getTranslateInstance(0, 70)));
     111                                Renderer.symbol(feature, Topmarks.TopEast, null, new Delta(Handle.BC, AffineTransform.getTranslateInstance(0, -25)), null);
     112                                break;
     113                        case ROS_VAWC:
     114                                Renderer.labelText(feature, " V-AIS", new Font("Arial", Font.PLAIN, 40), LabelStyle.NONE, Color.black, null, new Delta(Handle.BC, AffineTransform.getTranslateInstance(0, 70)));
     115                                Renderer.symbol(feature, Topmarks.TopWest, null, new Delta(Handle.BC, AffineTransform.getTranslateInstance(0, -25)), null);
     116                                break;
     117                        case ROS_VAPL:
     118                                Renderer.labelText(feature, " V-AIS", new Font("Arial", Font.PLAIN, 40), LabelStyle.NONE, Color.black, null, new Delta(Handle.BC, AffineTransform.getTranslateInstance(0, 70)));
     119                                Renderer.symbol(feature, Topmarks.TopCan, null, new Delta(Handle.BC, AffineTransform.getTranslateInstance(0, -25)), null);
     120                                break;
     121                        case ROS_VASL:
     122                                Renderer.labelText(feature, " V-AIS", new Font("Arial", Font.PLAIN, 40), LabelStyle.NONE, Color.black, null, new Delta(Handle.BC, AffineTransform.getTranslateInstance(0, 70)));
     123                                Renderer.symbol(feature, Topmarks.TopCone, null, new Delta(Handle.BC, AffineTransform.getTranslateInstance(0, -25)), null);
     124                                break;
     125                        case ROS_VAID:
     126                                Renderer.labelText(feature, " V-AIS", new Font("Arial", Font.PLAIN, 40), LabelStyle.NONE, Color.black, null, new Delta(Handle.BC, AffineTransform.getTranslateInstance(0, 70)));
     127                                Renderer.symbol(feature, Topmarks.TopIsol, null, new Delta(Handle.BC, AffineTransform.getTranslateInstance(0, -25)), null);
     128                                break;
     129                        case ROS_VASW:
     130                                Renderer.labelText(feature, " V-AIS", new Font("Arial", Font.PLAIN, 40), LabelStyle.NONE, Color.black, null, new Delta(Handle.BC, AffineTransform.getTranslateInstance(0, 70)));
     131                                Renderer.symbol(feature, Topmarks.TopSphere, null, new Delta(Handle.BC, AffineTransform.getTranslateInstance(0, -25)), null);
     132                                break;
     133                        case ROS_VASP:
     134                                Renderer.labelText(feature, " V-AIS", new Font("Arial", Font.PLAIN, 40), LabelStyle.NONE, Color.black, null, new Delta(Handle.BC, AffineTransform.getTranslateInstance(0, 70)));
     135                                Renderer.symbol(feature, Topmarks.TopX, null, new Delta(Handle.BC, AffineTransform.getTranslateInstance(0, -25)), null);
     136                                break;
     137                        case ROS_VAWK:
     138                                Renderer.labelText(feature, " V-AIS", new Font("Arial", Font.PLAIN, 40), LabelStyle.NONE, Color.black, null, new Delta(Handle.BC, AffineTransform.getTranslateInstance(0, 70)));
     139                                Renderer.symbol(feature, Topmarks.TopCross, null, new Delta(Handle.BC, AffineTransform.getTranslateInstance(0, -25)), null);
     140                                break;
     141                        }
     142                }
     143                if (!str.isEmpty()) Renderer.labelText(feature, str, new Font("Arial", Font.PLAIN, 40), LabelStyle.NONE, Color.black, null, new Delta(Handle.BR, AffineTransform.getTranslateInstance(-30, -70)));
     144        }
     145
     146        public static void radioStations(Feature feature) {
     147               
     148        }
     149
     150        public static void lights(Feature feature) {
     151               
     152        }
     153       
    18154        private static Point2D.Double radial(Snode centre, double radius, double angle) {
    19155                Point2D origin = Renderer.context.getPoint(centre);
Note: See TracChangeset for help on using the changeset viewer.