public interface IThisPlayer extends IPlayer
Modifier and Type | Method and Description |
---|---|
org.apache.commons.math3.geometry.euclidean.threed.Vector3D |
calculateGlobal2DPosition(org.apache.commons.math3.geometry.euclidean.threed.Vector3D localPos)
Calculate global position in 2D based on own position and body direction.
|
Pose2D |
calculateGlobalBodyPose2D(Pose3D poseToTranslate)
Calculates the global 2D pose of a local 3D pose, e.g. of a body part
|
org.apache.commons.math3.geometry.euclidean.threed.Vector3D |
calculateGlobalPosition(org.apache.commons.math3.geometry.euclidean.threed.Vector3D localPosition)
Calculate global position based on own position and orientation.
|
org.apache.commons.math3.geometry.euclidean.threed.Vector3D |
calculateLocalPosition(org.apache.commons.math3.geometry.euclidean.threed.Vector3D globalPosition)
Calculate local position based on own position and orientation.
|
Angle |
getBodyDirectionTo(org.apache.commons.math3.geometry.euclidean.threed.Vector3D position)
Returns the relative angle this player's torso has to the specified
position
|
org.apache.commons.math3.geometry.euclidean.threed.Rotation |
getOrientation()
Returns the player's local body orientation.
|
IPositionManager |
getPositionManager() |
boolean |
isGoalie() |
boolean |
isInsidePolygonXY(org.apache.commons.math3.geometry.euclidean.threed.Vector3D absolutePosition,
org.apache.commons.math3.geometry.euclidean.threed.Vector3D[] polygon)
Checks if the passed 2D xy-point (absolute coordinate system) is inside
the passed polygon (xy, relative coordinate system)
|
boolean |
positionIsBehind(org.apache.commons.math3.geometry.euclidean.threed.Vector3D absolutePosition) |
boolean |
positionIsLeft(org.apache.commons.math3.geometry.euclidean.threed.Vector3D absolutePosition) |
boolean |
positionIsRight(org.apache.commons.math3.geometry.euclidean.threed.Vector3D absolutePosition) |
void |
setGlobalPosition(org.apache.commons.math3.geometry.euclidean.threed.Vector3D position,
float time)
Allows to set the global Position
|
void |
setGyroNoise(double gyroNoise)
For experiments only.
|
getBodyParts, getGlobalOrientation, getHorizontalAngle, getID, getMaxSpeed, getTeamname, getTimeForBackStep, getTimeForSideStep, getTimeToTurnAndRun, isOwnTeam
getFuturePosition, getFuturePositions, getOldSpeed, getSpeed, isMoving
getAge, getCollisionDistance, getDirectionTo, getDirectionTo, getDistanceToXY, getDistanceToXY, getDistanceToXYZ, getDistanceToXYZ, getInformationSource, getLastSeenTime, getLocalPosition, getName, getPosition, getPreviousPosition, isLaying, isVisible
Angle getBodyDirectionTo(org.apache.commons.math3.geometry.euclidean.threed.Vector3D position)
position
- the position to which to calculate the body angleorg.apache.commons.math3.geometry.euclidean.threed.Rotation getOrientation()
boolean isGoalie()
org.apache.commons.math3.geometry.euclidean.threed.Vector3D calculateGlobalPosition(org.apache.commons.math3.geometry.euclidean.threed.Vector3D localPosition)
localPosition
- - the position to transform, given in the local root
body systemorg.apache.commons.math3.geometry.euclidean.threed.Vector3D calculateGlobal2DPosition(org.apache.commons.math3.geometry.euclidean.threed.Vector3D localPos)
localPos
- - the position to transform, given in the local root body
system (just xy matters)Pose2D calculateGlobalBodyPose2D(Pose3D poseToTranslate)
poseToTranslate
- the 3D pose in local coordinate systemorg.apache.commons.math3.geometry.euclidean.threed.Vector3D calculateLocalPosition(org.apache.commons.math3.geometry.euclidean.threed.Vector3D globalPosition)
globalPosition
- - the position to transform, given in the global
coordinate systemboolean isInsidePolygonXY(org.apache.commons.math3.geometry.euclidean.threed.Vector3D absolutePosition, org.apache.commons.math3.geometry.euclidean.threed.Vector3D[] polygon)
absolutePosition
- 2D vector (x,y) of the point to check in the
global coordinate systempolygon
- corner points of the polygon (x, y), in this player's
coordinate system and in clockwise order. The coordinates should
NOT take neck angles into account, i.e. assume head is straight.boolean positionIsLeft(org.apache.commons.math3.geometry.euclidean.threed.Vector3D absolutePosition)
position
- the position to checkboolean positionIsRight(org.apache.commons.math3.geometry.euclidean.threed.Vector3D absolutePosition)
position
- the position to checkboolean positionIsBehind(org.apache.commons.math3.geometry.euclidean.threed.Vector3D absolutePosition)
position
- the position to checkIPositionManager getPositionManager()
void setGyroNoise(double gyroNoise)
gyroNoise
- the artificial noise to put on the gyrovoid setGlobalPosition(org.apache.commons.math3.geometry.euclidean.threed.Vector3D position, float time)
position
- in global Coordinates System