public class ObstacleAvoidanceBehaviour extends AbstractStrengthSteeringBehaviour
Agent#setRadius(float)
Modifier and Type | Class and Description |
---|---|
static class |
ObstacleAvoidanceBehaviour.ObstacleAvoindanceWithNegativeMinDistance |
static class |
ObstacleAvoidanceBehaviour.ObstacleAvoindanceWithNoMinTimeToCollision |
AbstractStrengthSteeringBehaviour.negativeScalarMultiplier
AbstractSteeringBehaviour.IllegalBrakingFactor
Behaviour.behaviourNullAgentException
velocity
Constructor and Description |
---|
ObstacleAvoidanceBehaviour(Agent agent,
java.util.List<Agent> obstacles,
float minTimeToCollision) |
ObstacleAvoidanceBehaviour(Agent agent,
java.util.List<Agent> obstacles,
float minTimeToCollision,
float minDistance) |
ObstacleAvoidanceBehaviour(Agent agent,
java.util.List<Agent> obstacles,
float minTimeToCollision,
float minDistance,
com.jme3.scene.Spatial spatial) |
ObstacleAvoidanceBehaviour(Agent agent,
java.util.List<Agent> obstacles,
float minTimeToCollision,
com.jme3.scene.Spatial spatial) |
Modifier and Type | Method and Description |
---|---|
protected com.jme3.math.Vector3f |
calculateFullSteering()
If a bheaviour class extend from CompoundSteeringBehaviour instead
of AbstractSteeringBehaviout, It must implement this method instead of
calculateSteering().
|
protected void |
controlRender(com.jme3.renderer.RenderManager rm,
com.jme3.renderer.ViewPort vp) |
protected float |
getMinDistance() |
protected float |
getMinTimeToCollision() |
protected java.util.List<Agent> |
getObstacles() |
protected com.jme3.math.Vector3f |
randomVectInPlane(com.jme3.math.Vector3f planeNormalV,
com.jme3.math.Vector3f planePoint) |
void |
setObstacles(java.util.List<Agent> obstacles) |
calculateSteering, setupStrengthControl, setupStrengthControl, setupStrengthControl, setupStrengthControl, turnOffStrengthControl
agentTotalMass, calculateNewVelocity, controlUpdate, getBrakingFactor, getTPF, getVelocity, rotateAgent, setBrakingFactor, setTPF, setVelocity
public ObstacleAvoidanceBehaviour(Agent agent, java.util.List<Agent> obstacles, float minTimeToCollision)
obstacles
- A list with the obstacles (Agents)minTimeToCollision
- When the time to collision is lower than this value
the steer force will appear. Time is measured in seconds.ObstacleAvoidanceBehaviour.ObstacleAvoindanceWithNoMinTimeToCollision
- If minTimeToCollision is lower or equals to 0AbstractSteeringBehaviour.AbstractSteeringBehaviour(com.jme3.ai.agents.Agent)
public ObstacleAvoidanceBehaviour(Agent agent, java.util.List<Agent> obstacles, float minTimeToCollision, com.jme3.scene.Spatial spatial)
public ObstacleAvoidanceBehaviour(Agent agent, java.util.List<Agent> obstacles, float minTimeToCollision, float minDistance)
minDistance
- Min. distance from center to center to consider an obstacleObstacleAvoidanceBehaviour.ObstacleAvoindanceWithNegativeMinDistance
- If minTimeToCollision is lower than 0ObstacleAvoidanceBehaviour(com.jme3.ai.agents.Agent, java.util.List, float)
public ObstacleAvoidanceBehaviour(Agent agent, java.util.List<Agent> obstacles, float minTimeToCollision, float minDistance, com.jme3.scene.Spatial spatial)
ObstacleAvoidanceBehaviour#ObstacleAvoidanceBehaviour(com.jme3.ai.agents.Agent, com.jme3.scene.Spatial, java.util.List, float)
,
AbstractSteeringBehaviour.AbstractSteeringBehaviour(com.jme3.ai.agents.Agent, com.jme3.scene.Spatial)
protected java.util.List<Agent> getObstacles()
public void setObstacles(java.util.List<Agent> obstacles)
protected float getMinTimeToCollision()
protected float getMinDistance()
protected com.jme3.math.Vector3f calculateFullSteering()
AbstractStrengthSteeringBehaviour
calculateFullSteering
in class AbstractStrengthSteeringBehaviour
AbstractSteeringBehaviour.calculateSteering()
protected void controlRender(com.jme3.renderer.RenderManager rm, com.jme3.renderer.ViewPort vp)
controlRender
in class com.jme3.scene.control.AbstractControl
protected com.jme3.math.Vector3f randomVectInPlane(com.jme3.math.Vector3f planeNormalV, com.jme3.math.Vector3f planePoint)