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

java.lang.Object
  extended by cz.cuni.amis.pogamut.base.communication.messages.InfoMessage
      extended by cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.AutoTraceRay
All Implemented Interfaces:
IWorldChangeEvent, IWorldEvent, IWorldObject, ICompositeWorldObject, Event
Direct Known Subclasses:
AutoTraceRayCompositeImpl, AutoTraceRayMessage

public abstract class AutoTraceRay
extends InfoMessage
implements IWorldEvent, IWorldChangeEvent, ICompositeWorldObject

Abstract definition 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.


Nested Class Summary
static class AutoTraceRay.AutoTraceRayUpdate
           
 
Field Summary
static java.lang.String PROTOTYPE
          Example how the message looks like - used during parser tests.
protected  long SimTime
           
 
Constructor Summary
AutoTraceRay()
          Parameter-less contructor for the message.
 
Method Summary
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.
 long getSimTime()
          Returns the simulation time when the event has occurred.
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
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface cz.cuni.amis.pogamut.multi.communication.worldview.object.ICompositeWorldObject
getLocal, getShared, getStatic
 

Field Detail

PROTOTYPE

public static final java.lang.String PROTOTYPE
Example how the message looks like - used during parser tests.

See Also:
Constant Field Values

SimTime

protected long SimTime
Constructor Detail

AutoTraceRay

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

Method Detail

getSimTime

public long getSimTime()
Description copied from interface: IWorldEvent
Returns the simulation time when the event has occurred.

Specified by:
getSimTime in interface IWorldChangeEvent
Specified by:
getSimTime in interface IWorldEvent
Specified by:
getSimTime in interface IWorldObject
Returns:
timestamp

setSimTime

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


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).


toString

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

toHtmlString

public java.lang.String toHtmlString()