View Javadoc
1   //
2   // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.0 
3   // See <a href="https://javaee.github.io/jaxb-v2/">https://javaee.github.io/jaxb-v2/</a> 
4   // Any modifications to this file will be lost upon recompilation of the source schema. 
5   // Generated on: 2020.11.01 at 07:11:19 PM CET 
6   //
7   
8   
9   package org.opentrafficsim.xml.generated;
10  
11  import java.io.Serializable;
12  import java.math.BigDecimal;
13  import java.math.BigInteger;
14  import java.util.ArrayList;
15  import java.util.List;
16  import javax.annotation.Generated;
17  import javax.vecmath.Point3d;
18  import javax.xml.bind.annotation.XmlAccessType;
19  import javax.xml.bind.annotation.XmlAccessorType;
20  import javax.xml.bind.annotation.XmlAttribute;
21  import javax.xml.bind.annotation.XmlElement;
22  import javax.xml.bind.annotation.XmlRootElement;
23  import javax.xml.bind.annotation.XmlSchemaType;
24  import javax.xml.bind.annotation.XmlType;
25  import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
26  import org.djunits.value.vdouble.scalar.Direction;
27  import org.djunits.value.vdouble.scalar.LinearDensity;
28  import org.opentrafficsim.xml.bindings.CoordinateAdapter;
29  import org.opentrafficsim.xml.bindings.DirectionAdapter;
30  import org.opentrafficsim.xml.bindings.LaneKeepingAdapter;
31  import org.opentrafficsim.xml.bindings.LeftRightAdapter;
32  import org.opentrafficsim.xml.bindings.LengthAdapter;
33  import org.opentrafficsim.xml.bindings.PerLengthAdapter;
34  import org.opentrafficsim.xml.bindings.PositiveLengthAdapter;
35  import org.opentrafficsim.xml.bindings.types.ArcDirection;
36  import org.opentrafficsim.xml.bindings.types.LaneKeepingType;
37  
38  
39  /**
40   * <p>Java class for anonymous complex type.
41   * 
42   * <p>The following schema fragment specifies the expected content contained within this class.
43   * 
44   * <pre>
45   * &lt;complexType&gt;
46   *   &lt;complexContent&gt;
47   *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
48   *       &lt;sequence&gt;
49   *         &lt;choice&gt;
50   *           &lt;element name="STRAIGHT" type="{http://www.w3.org/2001/XMLSchema}anyType"/&gt;
51   *           &lt;element name="BEZIER"&gt;
52   *             &lt;complexType&gt;
53   *               &lt;complexContent&gt;
54   *                 &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
55   *                   &lt;attribute name="STARTDIRECTION" type="{http://www.opentrafficsim.org/ots}DIRECTIONTYPE" /&gt;
56   *                   &lt;attribute name="ENDDIRECTION" type="{http://www.opentrafficsim.org/ots}DIRECTIONTYPE" /&gt;
57   *                   &lt;attribute name="NUMSEGMENTS" type="{http://www.w3.org/2001/XMLSchema}integer" default="64" /&gt;
58   *                   &lt;attribute name="SHAPE" type="{http://www.opentrafficsim.org/ots}POSITIVEDOUBLE" default="1.0" /&gt;
59   *                   &lt;attribute name="WEIGHTED" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&gt;
60   *                 &lt;/restriction&gt;
61   *               &lt;/complexContent&gt;
62   *             &lt;/complexType&gt;
63   *           &lt;/element&gt;
64   *           &lt;element name="CLOTHOID"&gt;
65   *             &lt;complexType&gt;
66   *               &lt;complexContent&gt;
67   *                 &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
68   *                   &lt;attribute name="STARTDIRECTION" type="{http://www.opentrafficsim.org/ots}DIRECTIONTYPE" /&gt;
69   *                   &lt;attribute name="STARTCURVATURE" use="required" type="{http://www.opentrafficsim.org/ots}PERLENGTHTYPE" /&gt;
70   *                   &lt;attribute name="ENDDIRECTION" type="{http://www.opentrafficsim.org/ots}DIRECTIONTYPE" /&gt;
71   *                   &lt;attribute name="ENDCURVATURE" use="required" type="{http://www.opentrafficsim.org/ots}PERLENGTHTYPE" /&gt;
72   *                   &lt;attribute name="LENGTH" type="{http://www.opentrafficsim.org/ots}POSITIVELENGTHTYPE" /&gt;
73   *                   &lt;attribute name="ENDELEVATION" type="{http://www.opentrafficsim.org/ots}POSITIVELENGTHTYPE" /&gt;
74   *                   &lt;attribute name="NUMSEGMENTS" type="{http://www.w3.org/2001/XMLSchema}integer" default="64" /&gt;
75   *                 &lt;/restriction&gt;
76   *               &lt;/complexContent&gt;
77   *             &lt;/complexType&gt;
78   *           &lt;/element&gt;
79   *           &lt;element name="ARC"&gt;
80   *             &lt;complexType&gt;
81   *               &lt;complexContent&gt;
82   *                 &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
83   *                   &lt;attribute name="RADIUS" use="required" type="{http://www.opentrafficsim.org/ots}POSITIVELENGTHTYPE" /&gt;
84   *                   &lt;attribute name="DIRECTION" use="required" type="{http://www.opentrafficsim.org/ots}LEFTRIGHTTYPE" /&gt;
85   *                   &lt;attribute name="NUMSEGMENTS" type="{http://www.w3.org/2001/XMLSchema}integer" default="64" /&gt;
86   *                 &lt;/restriction&gt;
87   *               &lt;/complexContent&gt;
88   *             &lt;/complexType&gt;
89   *           &lt;/element&gt;
90   *           &lt;element name="POLYLINE"&gt;
91   *             &lt;complexType&gt;
92   *               &lt;complexContent&gt;
93   *                 &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
94   *                   &lt;sequence maxOccurs="unbounded"&gt;
95   *                     &lt;element name="COORDINATE" type="{http://www.opentrafficsim.org/ots}COORDINATETYPE"/&gt;
96   *                   &lt;/sequence&gt;
97   *                 &lt;/restriction&gt;
98   *               &lt;/complexContent&gt;
99   *             &lt;/complexType&gt;
100  *           &lt;/element&gt;
101  *         &lt;/choice&gt;
102  *         &lt;choice&gt;
103  *           &lt;element name="ROADLAYOUT"&gt;
104  *             &lt;complexType&gt;
105  *               &lt;complexContent&gt;
106  *                 &lt;extension base="{http://www.opentrafficsim.org/ots}BASICROADLAYOUT"&gt;
107  *                 &lt;/extension&gt;
108  *               &lt;/complexContent&gt;
109  *             &lt;/complexType&gt;
110  *           &lt;/element&gt;
111  *           &lt;sequence&gt;
112  *             &lt;element name="DEFINEDLAYOUT" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
113  *             &lt;element name="LANEOVERRIDE" maxOccurs="unbounded" minOccurs="0"&gt;
114  *               &lt;complexType&gt;
115  *                 &lt;complexContent&gt;
116  *                   &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
117  *                     &lt;sequence&gt;
118  *                       &lt;element ref="{http://www.opentrafficsim.org/ots}SPEEDLIMIT" maxOccurs="unbounded" minOccurs="0"/&gt;
119  *                     &lt;/sequence&gt;
120  *                     &lt;attribute name="LANE" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
121  *                   &lt;/restriction&gt;
122  *                 &lt;/complexContent&gt;
123  *               &lt;/complexType&gt;
124  *             &lt;/element&gt;
125  *           &lt;/sequence&gt;
126  *         &lt;/choice&gt;
127  *         &lt;element name="TRAFFICLIGHT" type="{http://www.opentrafficsim.org/ots}TRAFFICLIGHTTYPE" maxOccurs="unbounded" minOccurs="0"/&gt;
128  *         &lt;element name="TRAFFICLIGHTSENSOR" type="{http://www.opentrafficsim.org/ots}TRAFFICLIGHTSENSORTYPE" maxOccurs="unbounded" minOccurs="0"/&gt;
129  *       &lt;/sequence&gt;
130  *       &lt;attribute name="ID" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
131  *       &lt;attribute name="TYPE" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
132  *       &lt;attribute name="NODESTART" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
133  *       &lt;attribute name="NODEEND" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
134  *       &lt;attribute name="OFFSETSTART" type="{http://www.opentrafficsim.org/ots}LENGTHTYPE" default="0.0 m" /&gt;
135  *       &lt;attribute name="OFFSETEND" type="{http://www.opentrafficsim.org/ots}LENGTHTYPE" default="0.0 m" /&gt;
136  *       &lt;attribute name="LANEKEEPING" type="{http://www.opentrafficsim.org/ots}LANEKEEPINGTYPE" default="KEEPRIGHT" /&gt;
137  *       &lt;attribute name="PRIORITY" type="{http://www.opentrafficsim.org/ots}PRIORITYTYPE" /&gt;
138  *       &lt;attribute name="FIXGRADUALOFFSET" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&gt;
139  *       &lt;attribute name="CONFLICTID" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
140  *       &lt;attribute ref="{http://www.w3.org/XML/1998/namespace}base"/&gt;
141  *     &lt;/restriction&gt;
142  *   &lt;/complexContent&gt;
143  * &lt;/complexType&gt;
144  * </pre>
145  * 
146  * 
147  */
148 @XmlAccessorType(XmlAccessType.FIELD)
149 @XmlType(name = "", propOrder = {
150     "straight",
151     "bezier",
152     "clothoid",
153     "arc",
154     "polyline",
155     "roadlayout",
156     "definedlayout",
157     "laneoverride",
158     "trafficlight",
159     "trafficlightsensor"
160 })
161 @XmlRootElement(name = "LINK")
162 @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
163 public class LINK implements Serializable
164 {
165 
166     @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
167     private final static long serialVersionUID = 10102L;
168     @XmlElement(name = "STRAIGHT")
169     @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
170     protected Object straight;
171     @XmlElement(name = "BEZIER")
172     @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
173     protected LINK.BEZIER bezier;
174     @XmlElement(name = "CLOTHOID")
175     @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
176     protected LINK.CLOTHOID clothoid;
177     @XmlElement(name = "ARC")
178     @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
179     protected LINK.ARC arc;
180     @XmlElement(name = "POLYLINE")
181     @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
182     protected LINK.POLYLINE polyline;
183     @XmlElement(name = "ROADLAYOUT")
184     @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
185     protected LINK.ROADLAYOUT roadlayout;
186     @XmlElement(name = "DEFINEDLAYOUT")
187     @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
188     protected String definedlayout;
189     @XmlElement(name = "LANEOVERRIDE")
190     @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
191     protected List<LINK.LANEOVERRIDE> laneoverride;
192     @XmlElement(name = "TRAFFICLIGHT")
193     @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
194     protected List<TRAFFICLIGHTTYPE> trafficlight;
195     @XmlElement(name = "TRAFFICLIGHTSENSOR")
196     @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
197     protected List<TRAFFICLIGHTSENSORTYPE> trafficlightsensor;
198     @XmlAttribute(name = "ID", required = true)
199     @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
200     protected String id;
201     @XmlAttribute(name = "TYPE", required = true)
202     @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
203     protected String type;
204     @XmlAttribute(name = "NODESTART", required = true)
205     @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
206     protected String nodestart;
207     @XmlAttribute(name = "NODEEND", required = true)
208     @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
209     protected String nodeend;
210     @XmlAttribute(name = "OFFSETSTART")
211     @XmlJavaTypeAdapter(LengthAdapter.class)
212     @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
213     protected org.djunits.value.vdouble.scalar.Length offsetstart;
214     @XmlAttribute(name = "OFFSETEND")
215     @XmlJavaTypeAdapter(LengthAdapter.class)
216     @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
217     protected org.djunits.value.vdouble.scalar.Length offsetend;
218     @XmlAttribute(name = "LANEKEEPING")
219     @XmlJavaTypeAdapter(LaneKeepingAdapter.class)
220     @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
221     protected LaneKeepingType lanekeeping;
222     @XmlAttribute(name = "PRIORITY")
223     @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
224     protected String priority;
225     @XmlAttribute(name = "FIXGRADUALOFFSET")
226     @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
227     protected Boolean fixgradualoffset;
228     @XmlAttribute(name = "CONFLICTID")
229     @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
230     protected String conflictid;
231     @XmlAttribute(name = "base", namespace = "http://www.w3.org/XML/1998/namespace")
232     @XmlSchemaType(name = "anyURI")
233     @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
234     protected String base;
235 
236     /**
237      * Gets the value of the straight property.
238      * 
239      * @return
240      *     possible object is
241      *     {@link Object }
242      *     
243      */
244     @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
245     public Object getSTRAIGHT() {
246         return straight;
247     }
248 
249     /**
250      * Sets the value of the straight property.
251      * 
252      * @param value
253      *     allowed object is
254      *     {@link Object }
255      *     
256      */
257     @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
258     public void setSTRAIGHT(Object value) {
259         this.straight = value;
260     }
261 
262     /**
263      * Gets the value of the bezier property.
264      * 
265      * @return
266      *     possible object is
267      *     {@link LINK.BEZIER }
268      *     
269      */
270     @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
271     public LINK.BEZIER getBEZIER() {
272         return bezier;
273     }
274 
275     /**
276      * Sets the value of the bezier property.
277      * 
278      * @param value
279      *     allowed object is
280      *     {@link LINK.BEZIER }
281      *     
282      */
283     @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
284     public void setBEZIER(LINK.BEZIER value) {
285         this.bezier = value;
286     }
287 
288     /**
289      * Gets the value of the clothoid property.
290      * 
291      * @return
292      *     possible object is
293      *     {@link LINK.CLOTHOID }
294      *     
295      */
296     @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
297     public LINK.CLOTHOID getCLOTHOID() {
298         return clothoid;
299     }
300 
301     /**
302      * Sets the value of the clothoid property.
303      * 
304      * @param value
305      *     allowed object is
306      *     {@link LINK.CLOTHOID }
307      *     
308      */
309     @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
310     public void setCLOTHOID(LINK.CLOTHOID value) {
311         this.clothoid = value;
312     }
313 
314     /**
315      * Gets the value of the arc property.
316      * 
317      * @return
318      *     possible object is
319      *     {@link LINK.ARC }
320      *     
321      */
322     @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
323     public LINK.ARC getARC() {
324         return arc;
325     }
326 
327     /**
328      * Sets the value of the arc property.
329      * 
330      * @param value
331      *     allowed object is
332      *     {@link LINK.ARC }
333      *     
334      */
335     @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
336     public void setARC(LINK.ARC value) {
337         this.arc = value;
338     }
339 
340     /**
341      * Gets the value of the polyline property.
342      * 
343      * @return
344      *     possible object is
345      *     {@link LINK.POLYLINE }
346      *     
347      */
348     @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
349     public LINK.POLYLINE getPOLYLINE() {
350         return polyline;
351     }
352 
353     /**
354      * Sets the value of the polyline property.
355      * 
356      * @param value
357      *     allowed object is
358      *     {@link LINK.POLYLINE }
359      *     
360      */
361     @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
362     public void setPOLYLINE(LINK.POLYLINE value) {
363         this.polyline = value;
364     }
365 
366     /**
367      * Gets the value of the roadlayout property.
368      * 
369      * @return
370      *     possible object is
371      *     {@link LINK.ROADLAYOUT }
372      *     
373      */
374     @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
375     public LINK.ROADLAYOUT getROADLAYOUT() {
376         return roadlayout;
377     }
378 
379     /**
380      * Sets the value of the roadlayout property.
381      * 
382      * @param value
383      *     allowed object is
384      *     {@link LINK.ROADLAYOUT }
385      *     
386      */
387     @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
388     public void setROADLAYOUT(LINK.ROADLAYOUT value) {
389         this.roadlayout = value;
390     }
391 
392     /**
393      * Gets the value of the definedlayout property.
394      * 
395      * @return
396      *     possible object is
397      *     {@link String }
398      *     
399      */
400     @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
401     public String getDEFINEDLAYOUT() {
402         return definedlayout;
403     }
404 
405     /**
406      * Sets the value of the definedlayout property.
407      * 
408      * @param value
409      *     allowed object is
410      *     {@link String }
411      *     
412      */
413     @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
414     public void setDEFINEDLAYOUT(String value) {
415         this.definedlayout = value;
416     }
417 
418     /**
419      * Gets the value of the laneoverride property.
420      * 
421      * <p>
422      * This accessor method returns a reference to the live list,
423      * not a snapshot. Therefore any modification you make to the
424      * returned list will be present inside the JAXB object.
425      * This is why there is not a <CODE>set</CODE> method for the laneoverride property.
426      * 
427      * <p>
428      * For example, to add a new item, do as follows:
429      * <pre>
430      *    getLANEOVERRIDE().add(newItem);
431      * </pre>
432      * 
433      * 
434      * <p>
435      * Objects of the following type(s) are allowed in the list
436      * {@link LINK.LANEOVERRIDE }
437      * 
438      * 
439      */
440     @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
441     public List<LINK.LANEOVERRIDE> getLANEOVERRIDE() {
442         if (laneoverride == null) {
443             laneoverride = new ArrayList<LINK.LANEOVERRIDE>();
444         }
445         return this.laneoverride;
446     }
447 
448     /**
449      * Gets the value of the trafficlight property.
450      * 
451      * <p>
452      * This accessor method returns a reference to the live list,
453      * not a snapshot. Therefore any modification you make to the
454      * returned list will be present inside the JAXB object.
455      * This is why there is not a <CODE>set</CODE> method for the trafficlight property.
456      * 
457      * <p>
458      * For example, to add a new item, do as follows:
459      * <pre>
460      *    getTRAFFICLIGHT().add(newItem);
461      * </pre>
462      * 
463      * 
464      * <p>
465      * Objects of the following type(s) are allowed in the list
466      * {@link TRAFFICLIGHTTYPE }
467      * 
468      * 
469      */
470     @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
471     public List<TRAFFICLIGHTTYPE> getTRAFFICLIGHT() {
472         if (trafficlight == null) {
473             trafficlight = new ArrayList<TRAFFICLIGHTTYPE>();
474         }
475         return this.trafficlight;
476     }
477 
478     /**
479      * Gets the value of the trafficlightsensor property.
480      * 
481      * <p>
482      * This accessor method returns a reference to the live list,
483      * not a snapshot. Therefore any modification you make to the
484      * returned list will be present inside the JAXB object.
485      * This is why there is not a <CODE>set</CODE> method for the trafficlightsensor property.
486      * 
487      * <p>
488      * For example, to add a new item, do as follows:
489      * <pre>
490      *    getTRAFFICLIGHTSENSOR().add(newItem);
491      * </pre>
492      * 
493      * 
494      * <p>
495      * Objects of the following type(s) are allowed in the list
496      * {@link TRAFFICLIGHTSENSORTYPE }
497      * 
498      * 
499      */
500     @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
501     public List<TRAFFICLIGHTSENSORTYPE> getTRAFFICLIGHTSENSOR() {
502         if (trafficlightsensor == null) {
503             trafficlightsensor = new ArrayList<TRAFFICLIGHTSENSORTYPE>();
504         }
505         return this.trafficlightsensor;
506     }
507 
508     /**
509      * Gets the value of the id property.
510      * 
511      * @return
512      *     possible object is
513      *     {@link String }
514      *     
515      */
516     @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
517     public String getID() {
518         return id;
519     }
520 
521     /**
522      * Sets the value of the id property.
523      * 
524      * @param value
525      *     allowed object is
526      *     {@link String }
527      *     
528      */
529     @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
530     public void setID(String value) {
531         this.id = value;
532     }
533 
534     /**
535      * Gets the value of the type property.
536      * 
537      * @return
538      *     possible object is
539      *     {@link String }
540      *     
541      */
542     @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
543     public String getTYPE() {
544         return type;
545     }
546 
547     /**
548      * Sets the value of the type property.
549      * 
550      * @param value
551      *     allowed object is
552      *     {@link String }
553      *     
554      */
555     @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
556     public void setTYPE(String value) {
557         this.type = value;
558     }
559 
560     /**
561      * Gets the value of the nodestart property.
562      * 
563      * @return
564      *     possible object is
565      *     {@link String }
566      *     
567      */
568     @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
569     public String getNODESTART() {
570         return nodestart;
571     }
572 
573     /**
574      * Sets the value of the nodestart property.
575      * 
576      * @param value
577      *     allowed object is
578      *     {@link String }
579      *     
580      */
581     @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
582     public void setNODESTART(String value) {
583         this.nodestart = value;
584     }
585 
586     /**
587      * Gets the value of the nodeend property.
588      * 
589      * @return
590      *     possible object is
591      *     {@link String }
592      *     
593      */
594     @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
595     public String getNODEEND() {
596         return nodeend;
597     }
598 
599     /**
600      * Sets the value of the nodeend property.
601      * 
602      * @param value
603      *     allowed object is
604      *     {@link String }
605      *     
606      */
607     @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
608     public void setNODEEND(String value) {
609         this.nodeend = value;
610     }
611 
612     /**
613      * Gets the value of the offsetstart property.
614      * 
615      * @return
616      *     possible object is
617      *     {@link String }
618      *     
619      */
620     @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
621     public org.djunits.value.vdouble.scalar.Length getOFFSETSTART() {
622         if (offsetstart == null) {
623             return new LengthAdapter().unmarshal("0.0 m");
624         } else {
625             return offsetstart;
626         }
627     }
628 
629     /**
630      * Sets the value of the offsetstart property.
631      * 
632      * @param value
633      *     allowed object is
634      *     {@link String }
635      *     
636      */
637     @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
638     public void setOFFSETSTART(org.djunits.value.vdouble.scalar.Length value) {
639         this.offsetstart = value;
640     }
641 
642     /**
643      * Gets the value of the offsetend property.
644      * 
645      * @return
646      *     possible object is
647      *     {@link String }
648      *     
649      */
650     @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
651     public org.djunits.value.vdouble.scalar.Length getOFFSETEND() {
652         if (offsetend == null) {
653             return new LengthAdapter().unmarshal("0.0 m");
654         } else {
655             return offsetend;
656         }
657     }
658 
659     /**
660      * Sets the value of the offsetend property.
661      * 
662      * @param value
663      *     allowed object is
664      *     {@link String }
665      *     
666      */
667     @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
668     public void setOFFSETEND(org.djunits.value.vdouble.scalar.Length value) {
669         this.offsetend = value;
670     }
671 
672     /**
673      * Gets the value of the lanekeeping property.
674      * 
675      * @return
676      *     possible object is
677      *     {@link String }
678      *     
679      */
680     @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
681     public LaneKeepingType getLANEKEEPING() {
682         if (lanekeeping == null) {
683             return new LaneKeepingAdapter().unmarshal("KEEPRIGHT");
684         } else {
685             return lanekeeping;
686         }
687     }
688 
689     /**
690      * Sets the value of the lanekeeping property.
691      * 
692      * @param value
693      *     allowed object is
694      *     {@link String }
695      *     
696      */
697     @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
698     public void setLANEKEEPING(LaneKeepingType value) {
699         this.lanekeeping = value;
700     }
701 
702     /**
703      * Gets the value of the priority property.
704      * 
705      * @return
706      *     possible object is
707      *     {@link String }
708      *     
709      */
710     @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
711     public String getPRIORITY() {
712         return priority;
713     }
714 
715     /**
716      * Sets the value of the priority property.
717      * 
718      * @param value
719      *     allowed object is
720      *     {@link String }
721      *     
722      */
723     @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
724     public void setPRIORITY(String value) {
725         this.priority = value;
726     }
727 
728     /**
729      * Gets the value of the fixgradualoffset property.
730      * 
731      * @return
732      *     possible object is
733      *     {@link Boolean }
734      *     
735      */
736     @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
737     public boolean isFIXGRADUALOFFSET() {
738         if (fixgradualoffset == null) {
739             return false;
740         } else {
741             return fixgradualoffset;
742         }
743     }
744 
745     /**
746      * Sets the value of the fixgradualoffset property.
747      * 
748      * @param value
749      *     allowed object is
750      *     {@link Boolean }
751      *     
752      */
753     @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
754     public void setFIXGRADUALOFFSET(Boolean value) {
755         this.fixgradualoffset = value;
756     }
757 
758     /**
759      * Gets the value of the conflictid property.
760      * 
761      * @return
762      *     possible object is
763      *     {@link String }
764      *     
765      */
766     @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
767     public String getCONFLICTID() {
768         return conflictid;
769     }
770 
771     /**
772      * Sets the value of the conflictid property.
773      * 
774      * @param value
775      *     allowed object is
776      *     {@link String }
777      *     
778      */
779     @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
780     public void setCONFLICTID(String value) {
781         this.conflictid = value;
782     }
783 
784     /**
785      * Gets the value of the base property.
786      * 
787      * @return
788      *     possible object is
789      *     {@link String }
790      *     
791      */
792     @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
793     public String getBase() {
794         return base;
795     }
796 
797     /**
798      * Sets the value of the base property.
799      * 
800      * @param value
801      *     allowed object is
802      *     {@link String }
803      *     
804      */
805     @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
806     public void setBase(String value) {
807         this.base = value;
808     }
809 
810 
811     /**
812      * <p>Java class for anonymous complex type.
813      * 
814      * <p>The following schema fragment specifies the expected content contained within this class.
815      * 
816      * <pre>
817      * &lt;complexType&gt;
818      *   &lt;complexContent&gt;
819      *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
820      *       &lt;attribute name="RADIUS" use="required" type="{http://www.opentrafficsim.org/ots}POSITIVELENGTHTYPE" /&gt;
821      *       &lt;attribute name="DIRECTION" use="required" type="{http://www.opentrafficsim.org/ots}LEFTRIGHTTYPE" /&gt;
822      *       &lt;attribute name="NUMSEGMENTS" type="{http://www.w3.org/2001/XMLSchema}integer" default="64" /&gt;
823      *     &lt;/restriction&gt;
824      *   &lt;/complexContent&gt;
825      * &lt;/complexType&gt;
826      * </pre>
827      * 
828      * 
829      */
830     @XmlAccessorType(XmlAccessType.FIELD)
831     @XmlType(name = "")
832     @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
833     public static class ARC
834         implements Serializable
835     {
836 
837         @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
838         private final static long serialVersionUID = 10102L;
839         @XmlAttribute(name = "RADIUS", required = true)
840         @XmlJavaTypeAdapter(PositiveLengthAdapter.class)
841         @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
842         protected org.djunits.value.vdouble.scalar.Length radius;
843         @XmlAttribute(name = "DIRECTION", required = true)
844         @XmlJavaTypeAdapter(LeftRightAdapter.class)
845         @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
846         protected ArcDirection direction;
847         @XmlAttribute(name = "NUMSEGMENTS")
848         @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
849         protected BigInteger numsegments;
850 
851         /**
852          * Gets the value of the radius property.
853          * 
854          * @return
855          *     possible object is
856          *     {@link String }
857          *     
858          */
859         @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
860         public org.djunits.value.vdouble.scalar.Length getRADIUS() {
861             return radius;
862         }
863 
864         /**
865          * Sets the value of the radius property.
866          * 
867          * @param value
868          *     allowed object is
869          *     {@link String }
870          *     
871          */
872         @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
873         public void setRADIUS(org.djunits.value.vdouble.scalar.Length value) {
874             this.radius = value;
875         }
876 
877         /**
878          * Gets the value of the direction property.
879          * 
880          * @return
881          *     possible object is
882          *     {@link String }
883          *     
884          */
885         @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
886         public ArcDirection getDIRECTION() {
887             return direction;
888         }
889 
890         /**
891          * Sets the value of the direction property.
892          * 
893          * @param value
894          *     allowed object is
895          *     {@link String }
896          *     
897          */
898         @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
899         public void setDIRECTION(ArcDirection value) {
900             this.direction = value;
901         }
902 
903         /**
904          * Gets the value of the numsegments property.
905          * 
906          * @return
907          *     possible object is
908          *     {@link BigInteger }
909          *     
910          */
911         @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
912         public BigInteger getNUMSEGMENTS() {
913             if (numsegments == null) {
914                 return new BigInteger("64");
915             } else {
916                 return numsegments;
917             }
918         }
919 
920         /**
921          * Sets the value of the numsegments property.
922          * 
923          * @param value
924          *     allowed object is
925          *     {@link BigInteger }
926          *     
927          */
928         @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
929         public void setNUMSEGMENTS(BigInteger value) {
930             this.numsegments = value;
931         }
932 
933     }
934 
935 
936     /**
937      * <p>Java class for anonymous complex type.
938      * 
939      * <p>The following schema fragment specifies the expected content contained within this class.
940      * 
941      * <pre>
942      * &lt;complexType&gt;
943      *   &lt;complexContent&gt;
944      *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
945      *       &lt;attribute name="STARTDIRECTION" type="{http://www.opentrafficsim.org/ots}DIRECTIONTYPE" /&gt;
946      *       &lt;attribute name="ENDDIRECTION" type="{http://www.opentrafficsim.org/ots}DIRECTIONTYPE" /&gt;
947      *       &lt;attribute name="NUMSEGMENTS" type="{http://www.w3.org/2001/XMLSchema}integer" default="64" /&gt;
948      *       &lt;attribute name="SHAPE" type="{http://www.opentrafficsim.org/ots}POSITIVEDOUBLE" default="1.0" /&gt;
949      *       &lt;attribute name="WEIGHTED" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&gt;
950      *     &lt;/restriction&gt;
951      *   &lt;/complexContent&gt;
952      * &lt;/complexType&gt;
953      * </pre>
954      * 
955      * 
956      */
957     @XmlAccessorType(XmlAccessType.FIELD)
958     @XmlType(name = "")
959     @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
960     public static class BEZIER
961         implements Serializable
962     {
963 
964         @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
965         private final static long serialVersionUID = 10102L;
966         @XmlAttribute(name = "STARTDIRECTION")
967         @XmlJavaTypeAdapter(DirectionAdapter.class)
968         @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
969         protected Direction startdirection;
970         @XmlAttribute(name = "ENDDIRECTION")
971         @XmlJavaTypeAdapter(DirectionAdapter.class)
972         @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
973         protected Direction enddirection;
974         @XmlAttribute(name = "NUMSEGMENTS")
975         @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
976         protected BigInteger numsegments;
977         @XmlAttribute(name = "SHAPE")
978         @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
979         protected BigDecimal shape;
980         @XmlAttribute(name = "WEIGHTED")
981         @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
982         protected Boolean weighted;
983 
984         /**
985          * Gets the value of the startdirection property.
986          * 
987          * @return
988          *     possible object is
989          *     {@link String }
990          *     
991          */
992         @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
993         public Direction getSTARTDIRECTION() {
994             return startdirection;
995         }
996 
997         /**
998          * Sets the value of the startdirection property.
999          * 
1000          * @param value
1001          *     allowed object is
1002          *     {@link String }
1003          *     
1004          */
1005         @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
1006         public void setSTARTDIRECTION(Direction value) {
1007             this.startdirection = value;
1008         }
1009 
1010         /**
1011          * Gets the value of the enddirection property.
1012          * 
1013          * @return
1014          *     possible object is
1015          *     {@link String }
1016          *     
1017          */
1018         @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
1019         public Direction getENDDIRECTION() {
1020             return enddirection;
1021         }
1022 
1023         /**
1024          * Sets the value of the enddirection property.
1025          * 
1026          * @param value
1027          *     allowed object is
1028          *     {@link String }
1029          *     
1030          */
1031         @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
1032         public void setENDDIRECTION(Direction value) {
1033             this.enddirection = value;
1034         }
1035 
1036         /**
1037          * Gets the value of the numsegments property.
1038          * 
1039          * @return
1040          *     possible object is
1041          *     {@link BigInteger }
1042          *     
1043          */
1044         @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
1045         public BigInteger getNUMSEGMENTS() {
1046             if (numsegments == null) {
1047                 return new BigInteger("64");
1048             } else {
1049                 return numsegments;
1050             }
1051         }
1052 
1053         /**
1054          * Sets the value of the numsegments property.
1055          * 
1056          * @param value
1057          *     allowed object is
1058          *     {@link BigInteger }
1059          *     
1060          */
1061         @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
1062         public void setNUMSEGMENTS(BigInteger value) {
1063             this.numsegments = value;
1064         }
1065 
1066         /**
1067          * Gets the value of the shape property.
1068          * 
1069          * @return
1070          *     possible object is
1071          *     {@link BigDecimal }
1072          *     
1073          */
1074         @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
1075         public BigDecimal getSHAPE() {
1076             if (shape == null) {
1077                 return new BigDecimal("1.0");
1078             } else {
1079                 return shape;
1080             }
1081         }
1082 
1083         /**
1084          * Sets the value of the shape property.
1085          * 
1086          * @param value
1087          *     allowed object is
1088          *     {@link BigDecimal }
1089          *     
1090          */
1091         @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
1092         public void setSHAPE(BigDecimal value) {
1093             this.shape = value;
1094         }
1095 
1096         /**
1097          * Gets the value of the weighted property.
1098          * 
1099          * @return
1100          *     possible object is
1101          *     {@link Boolean }
1102          *     
1103          */
1104         @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
1105         public boolean isWEIGHTED() {
1106             if (weighted == null) {
1107                 return false;
1108             } else {
1109                 return weighted;
1110             }
1111         }
1112 
1113         /**
1114          * Sets the value of the weighted property.
1115          * 
1116          * @param value
1117          *     allowed object is
1118          *     {@link Boolean }
1119          *     
1120          */
1121         @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
1122         public void setWEIGHTED(Boolean value) {
1123             this.weighted = value;
1124         }
1125 
1126     }
1127 
1128 
1129     /**
1130      * <p>Java class for anonymous complex type.
1131      * 
1132      * <p>The following schema fragment specifies the expected content contained within this class.
1133      * 
1134      * <pre>
1135      * &lt;complexType&gt;
1136      *   &lt;complexContent&gt;
1137      *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
1138      *       &lt;attribute name="STARTDIRECTION" type="{http://www.opentrafficsim.org/ots}DIRECTIONTYPE" /&gt;
1139      *       &lt;attribute name="STARTCURVATURE" use="required" type="{http://www.opentrafficsim.org/ots}PERLENGTHTYPE" /&gt;
1140      *       &lt;attribute name="ENDDIRECTION" type="{http://www.opentrafficsim.org/ots}DIRECTIONTYPE" /&gt;
1141      *       &lt;attribute name="ENDCURVATURE" use="required" type="{http://www.opentrafficsim.org/ots}PERLENGTHTYPE" /&gt;
1142      *       &lt;attribute name="LENGTH" type="{http://www.opentrafficsim.org/ots}POSITIVELENGTHTYPE" /&gt;
1143      *       &lt;attribute name="ENDELEVATION" type="{http://www.opentrafficsim.org/ots}POSITIVELENGTHTYPE" /&gt;
1144      *       &lt;attribute name="NUMSEGMENTS" type="{http://www.w3.org/2001/XMLSchema}integer" default="64" /&gt;
1145      *     &lt;/restriction&gt;
1146      *   &lt;/complexContent&gt;
1147      * &lt;/complexType&gt;
1148      * </pre>
1149      * 
1150      * 
1151      */
1152     @XmlAccessorType(XmlAccessType.FIELD)
1153     @XmlType(name = "")
1154     @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
1155     public static class CLOTHOID
1156         implements Serializable
1157     {
1158 
1159         @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
1160         private final static long serialVersionUID = 10102L;
1161         @XmlAttribute(name = "STARTDIRECTION")
1162         @XmlJavaTypeAdapter(DirectionAdapter.class)
1163         @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
1164         protected Direction startdirection;
1165         @XmlAttribute(name = "STARTCURVATURE", required = true)
1166         @XmlJavaTypeAdapter(PerLengthAdapter.class)
1167         @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
1168         protected LinearDensity startcurvature;
1169         @XmlAttribute(name = "ENDDIRECTION")
1170         @XmlJavaTypeAdapter(DirectionAdapter.class)
1171         @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
1172         protected Direction enddirection;
1173         @XmlAttribute(name = "ENDCURVATURE", required = true)
1174         @XmlJavaTypeAdapter(PerLengthAdapter.class)
1175         @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
1176         protected LinearDensity endcurvature;
1177         @XmlAttribute(name = "LENGTH")
1178         @XmlJavaTypeAdapter(PositiveLengthAdapter.class)
1179         @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
1180         protected org.djunits.value.vdouble.scalar.Length length;
1181         @XmlAttribute(name = "ENDELEVATION")
1182         @XmlJavaTypeAdapter(PositiveLengthAdapter.class)
1183         @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
1184         protected org.djunits.value.vdouble.scalar.Length endelevation;
1185         @XmlAttribute(name = "NUMSEGMENTS")
1186         @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
1187         protected BigInteger numsegments;
1188 
1189         /**
1190          * Gets the value of the startdirection property.
1191          * 
1192          * @return
1193          *     possible object is
1194          *     {@link String }
1195          *     
1196          */
1197         @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
1198         public Direction getSTARTDIRECTION() {
1199             return startdirection;
1200         }
1201 
1202         /**
1203          * Sets the value of the startdirection property.
1204          * 
1205          * @param value
1206          *     allowed object is
1207          *     {@link String }
1208          *     
1209          */
1210         @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
1211         public void setSTARTDIRECTION(Direction value) {
1212             this.startdirection = value;
1213         }
1214 
1215         /**
1216          * Gets the value of the startcurvature property.
1217          * 
1218          * @return
1219          *     possible object is
1220          *     {@link String }
1221          *     
1222          */
1223         @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
1224         public LinearDensity getSTARTCURVATURE() {
1225             return startcurvature;
1226         }
1227 
1228         /**
1229          * Sets the value of the startcurvature property.
1230          * 
1231          * @param value
1232          *     allowed object is
1233          *     {@link String }
1234          *     
1235          */
1236         @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
1237         public void setSTARTCURVATURE(LinearDensity value) {
1238             this.startcurvature = value;
1239         }
1240 
1241         /**
1242          * Gets the value of the enddirection property.
1243          * 
1244          * @return
1245          *     possible object is
1246          *     {@link String }
1247          *     
1248          */
1249         @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
1250         public Direction getENDDIRECTION() {
1251             return enddirection;
1252         }
1253 
1254         /**
1255          * Sets the value of the enddirection property.
1256          * 
1257          * @param value
1258          *     allowed object is
1259          *     {@link String }
1260          *     
1261          */
1262         @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
1263         public void setENDDIRECTION(Direction value) {
1264             this.enddirection = value;
1265         }
1266 
1267         /**
1268          * Gets the value of the endcurvature property.
1269          * 
1270          * @return
1271          *     possible object is
1272          *     {@link String }
1273          *     
1274          */
1275         @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
1276         public LinearDensity getENDCURVATURE() {
1277             return endcurvature;
1278         }
1279 
1280         /**
1281          * Sets the value of the endcurvature property.
1282          * 
1283          * @param value
1284          *     allowed object is
1285          *     {@link String }
1286          *     
1287          */
1288         @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
1289         public void setENDCURVATURE(LinearDensity value) {
1290             this.endcurvature = value;
1291         }
1292 
1293         /**
1294          * Gets the value of the length property.
1295          * 
1296          * @return
1297          *     possible object is
1298          *     {@link String }
1299          *     
1300          */
1301         @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
1302         public org.djunits.value.vdouble.scalar.Length getLENGTH() {
1303             return length;
1304         }
1305 
1306         /**
1307          * Sets the value of the length property.
1308          * 
1309          * @param value
1310          *     allowed object is
1311          *     {@link String }
1312          *     
1313          */
1314         @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
1315         public void setLENGTH(org.djunits.value.vdouble.scalar.Length value) {
1316             this.length = value;
1317         }
1318 
1319         /**
1320          * Gets the value of the endelevation property.
1321          * 
1322          * @return
1323          *     possible object is
1324          *     {@link String }
1325          *     
1326          */
1327         @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
1328         public org.djunits.value.vdouble.scalar.Length getENDELEVATION() {
1329             return endelevation;
1330         }
1331 
1332         /**
1333          * Sets the value of the endelevation property.
1334          * 
1335          * @param value
1336          *     allowed object is
1337          *     {@link String }
1338          *     
1339          */
1340         @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
1341         public void setENDELEVATION(org.djunits.value.vdouble.scalar.Length value) {
1342             this.endelevation = value;
1343         }
1344 
1345         /**
1346          * Gets the value of the numsegments property.
1347          * 
1348          * @return
1349          *     possible object is
1350          *     {@link BigInteger }
1351          *     
1352          */
1353         @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
1354         public BigInteger getNUMSEGMENTS() {
1355             if (numsegments == null) {
1356                 return new BigInteger("64");
1357             } else {
1358                 return numsegments;
1359             }
1360         }
1361 
1362         /**
1363          * Sets the value of the numsegments property.
1364          * 
1365          * @param value
1366          *     allowed object is
1367          *     {@link BigInteger }
1368          *     
1369          */
1370         @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
1371         public void setNUMSEGMENTS(BigInteger value) {
1372             this.numsegments = value;
1373         }
1374 
1375     }
1376 
1377 
1378     /**
1379      * <p>Java class for anonymous complex type.
1380      * 
1381      * <p>The following schema fragment specifies the expected content contained within this class.
1382      * 
1383      * <pre>
1384      * &lt;complexType&gt;
1385      *   &lt;complexContent&gt;
1386      *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
1387      *       &lt;sequence&gt;
1388      *         &lt;element ref="{http://www.opentrafficsim.org/ots}SPEEDLIMIT" maxOccurs="unbounded" minOccurs="0"/&gt;
1389      *       &lt;/sequence&gt;
1390      *       &lt;attribute name="LANE" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
1391      *     &lt;/restriction&gt;
1392      *   &lt;/complexContent&gt;
1393      * &lt;/complexType&gt;
1394      * </pre>
1395      * 
1396      * 
1397      */
1398     @XmlAccessorType(XmlAccessType.FIELD)
1399     @XmlType(name = "", propOrder = {
1400         "speedlimit"
1401     })
1402     @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
1403     public static class LANEOVERRIDE
1404         implements Serializable
1405     {
1406 
1407         @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
1408         private final static long serialVersionUID = 10102L;
1409         @XmlElement(name = "SPEEDLIMIT")
1410         @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
1411         protected List<SPEEDLIMIT> speedlimit;
1412         @XmlAttribute(name = "LANE", required = true)
1413         @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
1414         protected String lane;
1415 
1416         /**
1417          * Gets the value of the speedlimit property.
1418          * 
1419          * <p>
1420          * This accessor method returns a reference to the live list,
1421          * not a snapshot. Therefore any modification you make to the
1422          * returned list will be present inside the JAXB object.
1423          * This is why there is not a <CODE>set</CODE> method for the speedlimit property.
1424          * 
1425          * <p>
1426          * For example, to add a new item, do as follows:
1427          * <pre>
1428          *    getSPEEDLIMIT().add(newItem);
1429          * </pre>
1430          * 
1431          * 
1432          * <p>
1433          * Objects of the following type(s) are allowed in the list
1434          * {@link SPEEDLIMIT }
1435          * 
1436          * 
1437          */
1438         @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
1439         public List<SPEEDLIMIT> getSPEEDLIMIT() {
1440             if (speedlimit == null) {
1441                 speedlimit = new ArrayList<SPEEDLIMIT>();
1442             }
1443             return this.speedlimit;
1444         }
1445 
1446         /**
1447          * Gets the value of the lane property.
1448          * 
1449          * @return
1450          *     possible object is
1451          *     {@link String }
1452          *     
1453          */
1454         @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
1455         public String getLANE() {
1456             return lane;
1457         }
1458 
1459         /**
1460          * Sets the value of the lane property.
1461          * 
1462          * @param value
1463          *     allowed object is
1464          *     {@link String }
1465          *     
1466          */
1467         @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
1468         public void setLANE(String value) {
1469             this.lane = value;
1470         }
1471 
1472     }
1473 
1474 
1475     /**
1476      * <p>Java class for anonymous complex type.
1477      * 
1478      * <p>The following schema fragment specifies the expected content contained within this class.
1479      * 
1480      * <pre>
1481      * &lt;complexType&gt;
1482      *   &lt;complexContent&gt;
1483      *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
1484      *       &lt;sequence maxOccurs="unbounded"&gt;
1485      *         &lt;element name="COORDINATE" type="{http://www.opentrafficsim.org/ots}COORDINATETYPE"/&gt;
1486      *       &lt;/sequence&gt;
1487      *     &lt;/restriction&gt;
1488      *   &lt;/complexContent&gt;
1489      * &lt;/complexType&gt;
1490      * </pre>
1491      * 
1492      * 
1493      */
1494     @XmlAccessorType(XmlAccessType.FIELD)
1495     @XmlType(name = "", propOrder = {
1496         "coordinate"
1497     })
1498     @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
1499     public static class POLYLINE
1500         implements Serializable
1501     {
1502 
1503         @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
1504         private final static long serialVersionUID = 10102L;
1505         @XmlElement(name = "COORDINATE", required = true, type = String.class)
1506         @XmlJavaTypeAdapter(CoordinateAdapter.class)
1507         @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
1508         protected List<Point3d> coordinate;
1509 
1510         /**
1511          * Gets the value of the coordinate property.
1512          * 
1513          * <p>
1514          * This accessor method returns a reference to the live list,
1515          * not a snapshot. Therefore any modification you make to the
1516          * returned list will be present inside the JAXB object.
1517          * This is why there is not a <CODE>set</CODE> method for the coordinate property.
1518          * 
1519          * <p>
1520          * For example, to add a new item, do as follows:
1521          * <pre>
1522          *    getCOORDINATE().add(newItem);
1523          * </pre>
1524          * 
1525          * 
1526          * <p>
1527          * Objects of the following type(s) are allowed in the list
1528          * {@link String }
1529          * 
1530          * 
1531          */
1532         @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
1533         public List<Point3d> getCOORDINATE() {
1534             if (coordinate == null) {
1535                 coordinate = new ArrayList<Point3d>();
1536             }
1537             return this.coordinate;
1538         }
1539 
1540     }
1541 
1542 
1543     /**
1544      * <p>Java class for anonymous complex type.
1545      * 
1546      * <p>The following schema fragment specifies the expected content contained within this class.
1547      * 
1548      * <pre>
1549      * &lt;complexType&gt;
1550      *   &lt;complexContent&gt;
1551      *     &lt;extension base="{http://www.opentrafficsim.org/ots}BASICROADLAYOUT"&gt;
1552      *     &lt;/extension&gt;
1553      *   &lt;/complexContent&gt;
1554      * &lt;/complexType&gt;
1555      * </pre>
1556      * 
1557      * 
1558      */
1559     @XmlAccessorType(XmlAccessType.FIELD)
1560     @XmlType(name = "")
1561     @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
1562     public static class ROADLAYOUT
1563         extends BASICROADLAYOUT
1564         implements Serializable
1565     {
1566 
1567         @Generated(value = "com.sun.tools.xjc.Driver", date = "2020-11-01T07:11:19+01:00", comments = "JAXB RI v2.3.0")
1568         private final static long serialVersionUID = 10102L;
1569 
1570     }
1571 
1572 }