cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages
Class AutoTraceRayLocal

java.lang.Object
  extended by cz.cuni.amis.pogamut.base.communication.messages.InfoMessage
      extended by cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.AutoTraceRayLocal
All Implemented Interfaces:
IWorldObject, ILocalWorldObject, java.lang.Cloneable
Direct Known Subclasses:
AutoTraceRayLocalImpl, AutoTraceRayMessage.AutoTraceRayLocalMessage

public abstract class AutoTraceRayLocal
extends InfoMessage
implements ILocalWorldObject

Abstract definition of the local part of the GameBots2004 message ATR.

Complete message documentation: Synchronous message. Contains the results of automatically casted rays. One ATR message is for one casted ray. New automatically casted rays can be defined by ADDRAY command and removed by REMOVERAY command.


Field Summary
protected  long SimTime
           
 
Constructor Summary
AutoTraceRayLocal()
          Parameter-less contructor for the message.
 
Method Summary
abstract  AutoTraceRayLocal clone()
           
 java.lang.Class getCompositeClass()
           
abstract  Location getFrom()
          Location from which the ray is emitted.
abstract  UnrealId getHitId()
          Id of the actor we have hit.
abstract  Location getHitLocation()
          Vector with location of the collision (not sent if FastTrace is True).
abstract  Vector3d getHitNormal()
          Vector with normal of the plane we have hit (not sent if FastTrace is True).
abstract  UnrealId getId()
          An Id for this ray (should be unique), assigned by the user when adding ray.
 AutoTraceRayLocal getLocal()
           
 ISharedWorldObject getShared()
           
 long getSimTime()
          Returns world time when the object was seen/updated for the last time.
 IStaticWorldObject getStatic()
           
abstract  Location getTo()
          Location to which the ray is sent.
abstract  boolean isFastTrace()
          True if it is a fast trace, false if not (fast trace is a bit faster version of UT2004 ray trace - but provides us with less information - just true/false if we hit something on the way or not).
abstract  boolean isFloorCorrection()
          If we should correct ray directions accoring floor normal.
abstract  boolean isResult()
          True if it hit something, false if not.
abstract  boolean isTraceActors()
          If we traced also actors with this ray (actors – moving things in a game – bots, players, monsters, pickup …) (only if NOT using FastTrace)
protected  void setSimTime(long SimTime)
          Used by Yylex to slip correct time of the object or programmatically.
 java.lang.String toHtmlString()
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

SimTime

protected long SimTime
Constructor Detail

AutoTraceRayLocal

public AutoTraceRayLocal()
Parameter-less contructor for the message.

Method Detail

getSimTime

public long getSimTime()
Description copied from interface: IWorldObject
Returns world time when the object was seen/updated for the last time.

The time suppose to be growing as the simulation carries on.

Always should be actual_timestamp >= any_prevously_recorded_timestamp,

object1.getLastSeenTime() > object2.getLastSeenTime() means that object1 last seen after object2

Specified by:
getSimTime in interface IWorldObject
Returns:

setSimTime

protected void setSimTime(long SimTime)
Used by Yylex to slip correct time of the object or programmatically.


clone

public abstract AutoTraceRayLocal clone()
Specified by:
clone in interface ILocalWorldObject
Overrides:
clone in class java.lang.Object

getCompositeClass

public java.lang.Class getCompositeClass()
Specified by:
getCompositeClass in interface ILocalWorldObject

getId

public abstract UnrealId getId()
An Id for this ray (should be unique), assigned by the user when adding ray.

Specified by:
getId in interface IWorldObject
Returns:

getFrom

public abstract Location getFrom()
Location from which the ray is emitted.


getTo

public abstract Location getTo()
Location to which the ray is sent.


isFastTrace

public abstract boolean isFastTrace()
True if it is a fast trace, false if not (fast trace is a bit faster version of UT2004 ray trace - but provides us with less information - just true/false if we hit something on the way or not).


isFloorCorrection

public abstract boolean isFloorCorrection()
If we should correct ray directions accoring floor normal. Note: Has issue - we can't set set rays up or down when correction is active.


isResult

public abstract boolean isResult()
True if it hit something, false if not.


getHitNormal

public abstract Vector3d getHitNormal()
Vector with normal of the plane we have hit (not sent if FastTrace is True).


getHitLocation

public abstract Location getHitLocation()
Vector with location of the collision (not sent if FastTrace is True).


isTraceActors

public abstract boolean isTraceActors()
If we traced also actors with this ray (actors – moving things in a game – bots, players, monsters, pickup …) (only if NOT using FastTrace)


getHitId

public abstract UnrealId getHitId()
Id of the actor we have hit. (Sent if FastTrace is False and TraceActors is True).


getLocal

public AutoTraceRayLocal getLocal()

getShared

public ISharedWorldObject getShared()

getStatic

public IStaticWorldObject getStatic()

toString

public java.lang.String toString()
Overrides:
toString in class InfoMessage

toHtmlString

public java.lang.String toHtmlString()