View Javadoc

1   package cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages;
2    		
3    		// --- IMPORTS FROM /messages/settings/javasettings/javaimport BEGIN
4   			import java.util.*;import javax.vecmath.*;import cz.cuni.amis.pogamut.base.communication.messages.*;import cz.cuni.amis.pogamut.base.communication.worldview.*;import cz.cuni.amis.pogamut.base.communication.worldview.event.*;import cz.cuni.amis.pogamut.base.communication.worldview.object.*;import cz.cuni.amis.pogamut.multi.communication.worldview.object.*;import cz.cuni.amis.pogamut.base.communication.translator.event.*;import cz.cuni.amis.pogamut.multi.communication.translator.event.*;import cz.cuni.amis.pogamut.base3d.worldview.object.*;import cz.cuni.amis.pogamut.base3d.worldview.object.event.*;import cz.cuni.amis.pogamut.ut2004.communication.messages.*;import cz.cuni.amis.pogamut.ut2004.communication.worldview.objects.*;import cz.cuni.amis.pogamut.ut2004multi.communication.worldview.objects.*;import cz.cuni.amis.pogamut.ut2004.communication.translator.itemdescriptor.*;import cz.cuni.amis.pogamut.ut2004.communication.messages.ItemType.Category;import cz.cuni.amis.pogamut.unreal.communication.messages.UnrealId;import cz.cuni.amis.utils.exception.*;import cz.cuni.amis.pogamut.base.communication.translator.event.IWorldObjectUpdateResult.Result;import cz.cuni.amis.utils.SafeEquals;import cz.cuni.amis.pogamut.base.agent.*;import cz.cuni.amis.pogamut.multi.agent.*;import cz.cuni.amis.pogamut.multi.communication.worldview.property.*;import cz.cuni.amis.pogamut.ut2004multi.communication.worldview.property.*;import cz.cuni.amis.utils.token.*;import cz.cuni.amis.utils.*;
5   		// --- IMPORTS FROM /messages/settings/javasettings/javaimport END
6   		
7   		
8   		// --- IMPORTS FROM extra/code/java/javapart/classcategory[@name='all'] BEGIN
9   				
10  		// --- IMPORTS FROM extra/code/java/javapart/classcategory[@name='all'] END
11  		
12  		// --- IMPORTS FROM extra/code/java/javapart/classcategory[@name=static]+classtype[@name=abstract] BEGIN
13  		
14  		// --- IMPORTS FROM extra/code/java/javapart/classcategory[@name=static]+classtype[@name=abstract] END
15      
16   		/**
17           *  
18              				Abstract definition of the static part of the GameBots2004 message ATR.  
19              			
20           *
21           *  <p></p><p></p>
22           *  Complete message documentation:               
23           *  
24  		Synchronous message. Contains the results of automatically
25  		casted rays. One ATR message is for one casted ray. New
26  		automatically casted rays can be defined by ADDRAY command and
27  		removed by REMOVERAY command.
28  	
29           */
30   	public abstract class AutoTraceRayStatic 
31    						extends InfoMessage
32    						implements IStaticWorldObject
33    						
34  	    {
35   	
36      	
37      	
38      	/**
39      	 * Parameter-less contructor for the message.
40      	 */
41  		public AutoTraceRayStatic()
42  		{
43  		}
44  		
45  				// abstract definition of the static-part of the message, no more constructors is needed
46  			
47  	   		
48  			protected long SimTime;
49  				
50  			/**
51  			 * Simulation time in MILLI SECONDS !!!
52  			 */	
53  			@Override
54  			public long getSimTime() {
55  				return SimTime;
56  			}
57  						
58  			/**
59  			 * Used by Yylex to slip correct time of the object or programmatically.
60  			 */
61  			protected void setSimTime(long SimTime) {
62  				this.SimTime = SimTime;
63  			}
64  	   	
65  	    			
66  	    				@Override
67  		    			public abstract 
68  		    			AutoTraceRayStatic clone();
69  		    			
70  						@Override
71  						public Class getCompositeClass() {
72  							return AutoTraceRay.class;
73  						}
74  	
75  						
76  		    			
77   		/**
78           * 
79  			An Id for this ray (should be unique), assigned by the user
80  			when adding ray.
81  		 
82           */
83          public abstract UnrealId getId()
84   	;
85  		    			
86   		
87   		@Override
88   		public boolean isDifferentFrom(IStaticWorldObject other)
89   		{
90   			if (other == null) //early fail
91   			{
92   				return true;
93   			}
94   			else if (other == this) //early out
95   			{
96   				return false;
97   			}
98   			else
99   			{
100  				AutoTraceRayStatic obj = (AutoTraceRayStatic) other;
101 
102  				
103  						if ( !(
104  	 			AdvancedEquals.equalsOrNull(this.getId()
105  	, obj.getId()
106  	)
107  	 		) )
108 						{
109 							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property Id on object class AutoTraceRayStatic");
110 							return true;
111 						}
112  					
113  			}
114  			return false;
115  		}
116  	 
117  		
118  	    public String toString() {
119             return
120             	super.toString() + "[" +
121             	
122 		              			"Id = " + String.valueOf(getId()
123  	) + " | " + 
124 		              		
125 				"]";           		
126         }
127  	
128  		
129  		public String toHtmlString() {
130  			return super.toString() + "[<br/>" +
131             	
132 		              			"<b>Id</b> = " + String.valueOf(getId()
133  	) + " <br/> " + 
134 		              		
135 				"<br/>]";     
136 		}
137  	
138  		
139  		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
140         	
141 		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
142 		
143 	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=static+classtype[@name=abstract]) ---
144 	        
145 	    // --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=static+classtype[@name=abstract]) ---        	            	
146  	
147 		}
148