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

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

public class AutoTraceRayMessage
extends AutoTraceRay
implements IWorldObjectUpdatedEvent

Implementation of the GameBots2004 message ATR contains also its Local/Shared/Static subpart class definitions..

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
 class AutoTraceRayMessage.AutoTraceRayLocalMessage
          Implementation of the local part of the GameBots2004 message ATR, used to facade ATRMessage.
 class AutoTraceRayMessage.AutoTraceRaySharedMessage
          Implementation of the shared part of the GameBots2004 message ATR, used to facade ATRMessage.
 class AutoTraceRayMessage.AutoTraceRayStaticMessage
          Implementation of the static part of the GameBots2004 message ATR, used to facade ATRMessage.
 
Nested classes/interfaces inherited from class cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.AutoTraceRay
AutoTraceRay.AutoTraceRayUpdate
 
Field Summary
protected  boolean FastTrace
          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).
protected  boolean FloorCorrection
          If we should correct ray directions accoring floor normal.
protected  Location From
          Location from which the ray is emitted.
protected  UnrealId HitId
          Id of the actor we have hit.
protected  Location HitLocation
          Vector with location of the collision (not sent if FastTrace is True).
protected  Vector3d HitNormal
          Vector with normal of the plane we have hit (not sent if FastTrace is True).
protected  UnrealId Id
          An Id for this ray (should be unique), assigned by the user when adding ray.
protected  boolean Result
          True if it hit something, false if not.
protected  ITeamId TeamId
           
protected  Location To
          Location to which the ray is sent.
protected  boolean TraceActors
          If we traced also actors with this ray (actors – moving things in a game – bots, players, monsters, pickup …) (only if NOT using FastTrace)
 
Fields inherited from class cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.AutoTraceRay
PROTOTYPE, SimTime
 
Constructor Summary
AutoTraceRayMessage()
          Parameter-less contructor for the message.
AutoTraceRayMessage(AutoTraceRayMessage original)
          Cloning constructor from the full message.
AutoTraceRayMessage(UnrealId Id, Location From, Location To, boolean FastTrace, boolean FloorCorrection, boolean Result, Vector3d HitNormal, Location HitLocation, boolean TraceActors, UnrealId HitId)
          Creates new instance of the message AutoTraceRay.
 
Method Summary
 Location getFrom()
          Location from which the ray is emitted.
 UnrealId getHitId()
          Id of the actor we have hit.
 Location getHitLocation()
          Vector with location of the collision (not sent if FastTrace is True).
 Vector3d getHitNormal()
          Vector with normal of the plane we have hit (not sent if FastTrace is True).
 UnrealId getId()
          An Id for this ray (should be unique), assigned by the user when adding ray.
 AutoTraceRayLocal getLocal()
           
 AutoTraceRayShared getShared()
           
 AutoTraceRayStatic getStatic()
           
 ITeamId getTeamId()
           
 Location getTo()
          Location to which the ray is sent.
 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).
 boolean isFloorCorrection()
          If we should correct ray directions accoring floor normal.
 boolean isResult()
          True if it hit something, false if not.
 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 setTeamId(ITeamId TeamId)
          Used by Yylex to slip corretn TeamId.
 java.lang.String toHtmlString()
           
 java.lang.String toString()
           
 IWorldObjectUpdateResult<IWorldObject> update(IWorldObject object)
           
 
Methods inherited from class cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.AutoTraceRay
getSimTime, setSimTime
 
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.base.communication.translator.event.IWorldChangeEvent
getSimTime
 

Field Detail

TeamId

protected ITeamId TeamId

Id

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


From

protected Location From
Location from which the ray is emitted.


To

protected Location To
Location to which the ray is sent.


FastTrace

protected boolean FastTrace
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).


FloorCorrection

protected boolean FloorCorrection
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.


Result

protected boolean Result
True if it hit something, false if not.


HitNormal

protected Vector3d HitNormal
Vector with normal of the plane we have hit (not sent if FastTrace is True).


HitLocation

protected Location HitLocation
Vector with location of the collision (not sent if FastTrace is True).


TraceActors

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


HitId

protected UnrealId HitId
Id of the actor we have hit. (Sent if FastTrace is False and TraceActors is True).

Constructor Detail

AutoTraceRayMessage

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


AutoTraceRayMessage

public AutoTraceRayMessage(UnrealId Id,
                           Location From,
                           Location To,
                           boolean FastTrace,
                           boolean FloorCorrection,
                           boolean Result,
                           Vector3d HitNormal,
                           Location HitLocation,
                           boolean TraceActors,
                           UnrealId HitId)
Creates new instance of the message AutoTraceRay. 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. Corresponding GameBots message is ATR.

Parameters:
Id - An Id for this ray (should be unique), assigned by the user when adding ray.
From - Location from which the ray is emitted.
To - Location to which the ray is sent.
FastTrace - 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).
FloorCorrection - 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.
Result - True if it hit something, false if not.
HitNormal - Vector with normal of the plane we have hit (not sent if FastTrace is True).
HitLocation - Vector with location of the collision (not sent if FastTrace is True).
TraceActors - If we traced also actors with this ray (actors – moving things in a game – bots, players, monsters, pickup …) (only if NOT using FastTrace)
HitId - Id of the actor we have hit. (Sent if FastTrace is False and TraceActors is True).

AutoTraceRayMessage

public AutoTraceRayMessage(AutoTraceRayMessage original)
Cloning constructor from the full message.

Parameters:
original -
Method Detail

setTeamId

protected void setTeamId(ITeamId TeamId)
Used by Yylex to slip corretn TeamId.


getTeamId

public ITeamId getTeamId()

getId

public UnrealId getId()
Description copied from class: AutoTraceRay
An Id for this ray (should be unique), assigned by the user when adding ray.

Specified by:
getId in interface IWorldObjectUpdatedEvent
Specified by:
getId in interface IWorldObject
Specified by:
getId in class AutoTraceRay
Returns:

getFrom

public Location getFrom()
Description copied from class: AutoTraceRay
Location from which the ray is emitted.

Specified by:
getFrom in class AutoTraceRay

getTo

public Location getTo()
Description copied from class: AutoTraceRay
Location to which the ray is sent.

Specified by:
getTo in class AutoTraceRay

isFastTrace

public boolean isFastTrace()
Description copied from class: AutoTraceRay
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).

Specified by:
isFastTrace in class AutoTraceRay

isFloorCorrection

public boolean isFloorCorrection()
Description copied from class: AutoTraceRay
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.

Specified by:
isFloorCorrection in class AutoTraceRay

isResult

public boolean isResult()
Description copied from class: AutoTraceRay
True if it hit something, false if not.

Specified by:
isResult in class AutoTraceRay

getHitNormal

public Vector3d getHitNormal()
Description copied from class: AutoTraceRay
Vector with normal of the plane we have hit (not sent if FastTrace is True).

Specified by:
getHitNormal in class AutoTraceRay

getHitLocation

public Location getHitLocation()
Description copied from class: AutoTraceRay
Vector with location of the collision (not sent if FastTrace is True).

Specified by:
getHitLocation in class AutoTraceRay

isTraceActors

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

Specified by:
isTraceActors in class AutoTraceRay

getHitId

public UnrealId getHitId()
Description copied from class: AutoTraceRay
Id of the actor we have hit. (Sent if FastTrace is False and TraceActors is True).

Specified by:
getHitId in class AutoTraceRay

getLocal

public AutoTraceRayLocal getLocal()
Specified by:
getLocal in interface ICompositeWorldObject

getShared

public AutoTraceRayShared getShared()
Specified by:
getShared in interface ICompositeWorldObject

getStatic

public AutoTraceRayStatic getStatic()
Specified by:
getStatic in interface ICompositeWorldObject

update

public IWorldObjectUpdateResult<IWorldObject> update(IWorldObject object)
Specified by:
update in interface IWorldObjectUpdatedEvent

toString

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

toHtmlString

public java.lang.String toHtmlString()
Overrides:
toHtmlString in class AutoTraceRay