001/* *********************************************************************** *
002 * project: org.matsim.*
003 *                                                                         *
004 * *********************************************************************** *
005 *                                                                         *
006 * copyright       : (C) 2010 by the members listed in the COPYING,        *
007 *                   LICENSE and WARRANTY file.                            *
008 * email           : info at matsim dot org                                *
009 *                                                                         *
010 * *********************************************************************** *
011 *                                                                         *
012 *   This program is free software; you can redistribute it and/or modify  *
013 *   it under the terms of the GNU General Public License as published by  *
014 *   the Free Software Foundation; either version 2 of the License, or     *
015 *   (at your option) any later version.                                   *
016 *   See also COPYING, LICENSE and WARRANTY file                           *
017 *                                                                         *
018 * *********************************************************************** */
019
020package org.matsim.vis.snapshotwriters;
021
022import org.matsim.api.core.v01.Id;
023import org.matsim.api.core.v01.population.Person;
024
025public interface AgentSnapshotInfo {
026
027        public static final String marker = "marker";
028
029        // !!! WARNING: The enum list can only be extended.  Making it shorter or changing the sequence of existing elements
030        // will break the otfvis binary channel, meaning that *.mvi files generated until then will become weird. kai, jan'10
031        public enum AgentState { PERSON_AT_ACTIVITY, PERSON_DRIVING_CAR, PERSON_OTHER_MODE, TRANSIT_DRIVER, MARKER }
032        // !!! WARNING: See comment above this enum.
033
034        Id<Person> getId() ;
035
036        double getEasting();
037
038        double getNorthing();
039
040        @Deprecated
041        double getAzimuth();
042
043        double getColorValueBetweenZeroAndOne();
044        void setColorValueBetweenZeroAndOne( double tmp ) ;
045
046        AgentState getAgentState();
047        void setAgentState( AgentState state ) ;
048
049        int getUserDefined() ;
050        void setUserDefined( int tmp ) ; // needs to be a primitive type because of the byte buffer. kai, jan'10
051
052}