
            /**
            IMPORTANT !!!
       
            DO NOT EDIT THIS FILE. IT IS GENERATED FROM approriate xml file in xmlresources/gbcommands BY
            THE JavaClassesGenerator.xslt. MODIFY THESE FILES INSTEAD OF THIS ONE.
       
            IMPORTANT END !!!
            */
            package
            cz.cuni.amis.pogamut.ut2004.communication.messages.gbcommands;
	    		import java.util.*;    
    import javax.vecmath.*;    
    import cz.cuni.amis.pogamut.base.communication.messages.*;    
    import cz.cuni.amis.pogamut.base.agent.worldview.*;    
    import cz.cuni.amis.pogamut.base.agent.worldview.objects.*;    
    import cz.cuni.amis.pogamut.base.communication.translator.*;    
    import cz.cuni.amis.pogamut.ut2004.communication.translator.itemdescriptor.*;    
    import cz.cuni.amis.pogamut.ut2004.communication.messages.ItemType.Category;    
    import cz.cuni.amis.pogamut.base.exceptions.*;    
    import cz.cuni.amis.pogamut.base3d.worldview.objects.*;    
    import cz.cuni.amis.pogamut.ut2004.communication.messages.*;    
    import cz.cuni.amis.pogamut.ut2004.agent.worldview.objects.*;    
                
            
            /**
              
		Will send a ray from specified location to specified
		destination, responds with TRC message. TRACE uses Trace
		function - slower then FastTrace function, but provides more
		information about collision.
	
                          Corresponding GameBots command is 
                          TRACE.
                      
             */
            
            public class
            Trace extends
        CommandMessage
                        
            {
            
            
            
            /**
              Creates new instance of command Trace.
              
		Will send a ray from specified location to specified
		destination, responds with TRC message. TRACE uses Trace
		function - slower then FastTrace function, but provides more
		information about collision.
	Corresponding GameBots message for this command is 
              TRACE.
                  @param Id 
			Message Id made up by you and echoed in response so you can
			match up response with query.
		
                  @param From 
			Origin point of the ray. If you won't support From
			attribute, current bot location will be taken as From.
		
                  @param To Target point of the ray.
                  @param TraceActors 
			When true it means that all actors will be traced – for
			example players, bots, monsters, items etc. in a game. With
			TraceActors false we trace just level geometry.
		
              */
             public Trace(
                String Id,  Location From,  Location To,  boolean TraceActors) {
                    
                    this.Id = Id;
                
                    this.From = From;
                
                    this.To = To;
                
                    this.TraceActors = TraceActors;
                
                }
               
            
            		/**
		             Creates new instance of command Trace.
		             
		Will send a ray from specified location to specified
		destination, responds with TRC message. TRACE uses Trace
		function - slower then FastTrace function, but provides more
		information about collision.
	Corresponding GameBots message for this command is 
		             TRACE.
		             <p></p>WARNING: this is empty-command constructor, you have to use setters to fill it up!
		             */
            		public  Trace() {
            		}
            	
            
            /////// Properties BEGIN
            
        /**
        
			Message Id made up by you and echoed in response so you can
			match up response with query.
		 */
        protected
         String Id = 
        	null;
        
        
        /**
        
			Message Id made up by you and echoed in response so you can
			match up response with query.
		 */
        public
        String getId() {
            return
         Id;
        }
        

        
            /**         
        
			Message Id made up by you and echoed in response so you can
			match up response with query.
		 */
        public Trace setId(String Id) {
            this.Id = Id;
            return this;
            }
       
        /**
        
			Origin point of the ray. If you won't support From
			attribute, current bot location will be taken as From.
		 */
        protected
         Location From = 
        	null;
        
        
        /**
        
			Origin point of the ray. If you won't support From
			attribute, current bot location will be taken as From.
		 */
        public
        Location getFrom() {
            return
         From;
        }
        

        
            /**         
        
			Origin point of the ray. If you won't support From
			attribute, current bot location will be taken as From.
		 */
        public Trace setFrom(Location From) {
            this.From = From;
            return this;
            }
       
        /**
        Target point of the ray. */
        protected
         Location To = 
        	null;
        
        
        /**
        Target point of the ray. */
        public
        Location getTo() {
            return
         To;
        }
        

        
            /**         
        Target point of the ray. */
        public Trace setTo(Location To) {
            this.To = To;
            return this;
            }
       
        /**
        
			When true it means that all actors will be traced – for
			example players, bots, monsters, items etc. in a game. With
			TraceActors false we trace just level geometry.
		 */
        protected
         boolean TraceActors = 
        	false;
        
        
        /**
        
			When true it means that all actors will be traced – for
			example players, bots, monsters, items etc. in a game. With
			TraceActors false we trace just level geometry.
		 */
        public
        boolean isTraceActors() {
            return
         TraceActors;
        }
        

        
            /**         
        
			When true it means that all actors will be traced – for
			example players, bots, monsters, items etc. in a game. With
			TraceActors false we trace just level geometry.
		 */
        public Trace setTraceActors(boolean TraceActors) {
            this.TraceActors = TraceActors;
            return this;
            }
       
            /////// Properties END
            
            /////// Extra Java code BEGIN
                        	
            	/////// Additional code from xslt BEGIN            	 
            			
            		
            		
            	/////// Additional code from xslt END            
				                    
	            /////// Extra Java from XML BEGIN
            		
            	/////// Extra Java from XML END
            	    
            /////// Extra Java code END
            
            
            
            /**
              * Cloning constructor.
              */
             public Trace(Trace original) {
                
                     this.Id=original.Id;
                
                     this.From=original.From;
                
                     this.To=original.To;
                
                     this.TraceActors=original.TraceActors;
                
             }   
             
             
                
                 
            public String toString() {
                return
                
                    	super.toString();
                     
             }
             
             public String toHtmlString() {
                return super.toString() +
             
            "<b>Id</b> : " + 
            String.valueOf(Id) + 
            " <br/> " +
             
            "<b>From</b> : " + 
            String.valueOf(From) + 
            " <br/> " +
             
            "<b>To</b> : " + 
            String.valueOf(To) + 
            " <br/> " +
             
            "<b>TraceActors</b> : " + 
            String.valueOf(TraceActors) + 
            " <br/> " +
             "";
             }            
             
             
             
                 public String toMessage() {
              		StringBuffer buf = new StringBuffer();
              		buf.append("TRACE");
              		
		    					if (Id != null) {
		    						buf.append(" {Id " + Id + "}");
		    					}
		    				
                                if (From != null) {
                                    buf.append(" {From " + 
                                        From.getX() + "," + 
                                        From.getY() + "," + 
                                        From.getZ() + "}");
                                }
                            
                                if (To != null) {
                                    buf.append(" {To " + 
                                        To.getX() + "," + 
                                        To.getY() + "," + 
                                        To.getZ() + "}");
                                }
                            
		    					buf.append(" {TraceActors " + TraceActors + "}");
		    				            
            		return buf.toString();
            }
             
             }
                         
        