/** * */ public static boolean isGreater(IVector2 pos, IVector2 pos1, IVector2 pos2) { return pos.getDistance(pos1).greater(pos.getDistance(pos2)); } }
if(env.getDistance((IVector2)wastebin.getProperty(Space2D.PROPERTY_POSITION), (IVector2)avatar.getProperty(Space2D.PROPERTY_POSITION)).greater(TOLERANCE)) throw new RuntimeException("Not near enough to wastebin: "+wastebin+" "+avatar);
if(!getDistance(testpos, pos).greater(distance))
/** * Performs the action. * @param parameters parameters for the action * @param space the environment space * @return action return value */ public Object perform(Map parameters, IEnvironmentSpace space) { Space2D env = (Space2D)space; IComponentDescription owner = (IComponentDescription)parameters.get(ISpaceAction.ACTOR_ID); ISpaceObject waste = (ISpaceObject)parameters.get(ISpaceAction.OBJECT_ID); ISpaceObject avatar = env.getAvatar(owner); // if(so.getProperty("garbage")!=null) // System.out.println("pickup failed: "+so); assert avatar.getProperty("waste")==null: avatar+", "+avatar.getProperty("waste")+", "+waste; if(env.getDistance((IVector2)waste.getProperty(Space2D.PROPERTY_POSITION), (IVector2)avatar.getProperty(Space2D.PROPERTY_POSITION)).greater(TOLERANCE)) throw new RuntimeException("Not near enough to waste: "+waste+" "+avatar); // System.out.println("pickup waste action: "+so+" "+so.getProperty(Grid2D.POSITION)+" "+waste); avatar.setProperty("waste", waste); env.setPosition(waste.getId(), null); // System.out.println("pickup waste action "+parameters); return null; } }
/** * Calculate the distance in the space. * @param dx The distance in x. * @param dy The distance in y. * @return The distance according to the distance metrics of the space. */ public IVector1 calculateDistance(IVector1 dx, IVector1 dy) { if(NEIGHBORHOOD_MOORE.equals(getNeighborhood())) { return dx.greater(dy)? dx: dy; } else if(NEIGHBORHOOD_VON_NEUMANN.equals(getNeighborhood())) { if(dx.less(Vector1Double.ZERO)) dx = dx.copy().negate(); if(dy.less(Vector1Double.ZERO)) dy = dy.copy().negate(); } return dx.add(dy); }
/** * Calculate the distance in the space. * @param dx The distance in x. * @param dy The distance in y. * @return The distance according to the distance metrics of the space. */ public IVector1 calculateDistance(IVector1 dx, IVector1 dy) { if(NEIGHBORHOOD_MOORE.equals(getNeighborhood())) { return dx.greater(dy)? dx: dy; } else if(NEIGHBORHOOD_VON_NEUMANN.equals(getNeighborhood())) { if(dx.less(Vector1Double.ZERO)) dx = dx.copy().negate(); if(dy.less(Vector1Double.ZERO)) dy = dy.copy().negate(); } return dx.add(dy); }
if(!getDistance(testpos, pos).greater(distance))
else if(space.getDistance(mypos, home).greater(Vector1Int.ZERO))
if((oldpos==null || space.getDistance(oldpos, objpos).greater(getRange(objects[i]))) && !space.getDistance(pos, objpos).greater(getRange(objects[i]))) if((oldpos==null || space.getDistance(oldpos, objpos).greater(getRange(event.getSpaceObject()))) && !space.getDistance(pos, objpos).greater(getRange(event.getSpaceObject()))) if(oldpos!=null && !space.getDistance(oldpos, objpos).greater(getRange(objects[i])) && !space.getDistance(pos, objpos).greater(getRange(objects[i]))) if(!space.getDistance(oldpos, objpos).greater(getRange(oldobjects[i])) && (pos==null || space.getDistance(pos, objpos).greater(getRange(oldobjects[i])))) if(!space.getDistance(oldpos, objpos).greater(getRange(event.getSpaceObject())) && (pos==null || space.getDistance(pos, objpos).greater(getRange(event.getSpaceObject())))) if(owner!=null) if(!space.getDistance(pos, objpos).greater(getRange(objects[i]))) if(!space.getDistance(pos, objpos).greater(getRange(event.getSpaceObject()))) if(!space.getDistance(pos, objpos).greater(getRange(objects[i])))
else if(space.getDistance(mypos, home).greater(Vector1Int.ZERO))
if((oldpos==null || space.getDistance(oldpos, objpos).greater(getRange(objects[i]))) && !space.getDistance(pos, objpos).greater(getRange(objects[i]))) if((oldpos==null || space.getDistance(oldpos, objpos).greater(getRange(event.getSpaceObject()))) && !space.getDistance(pos, objpos).greater(getRange(event.getSpaceObject()))) if(oldpos!=null && !space.getDistance(oldpos, objpos).greater(getRange(objects[i])) && !space.getDistance(pos, objpos).greater(getRange(objects[i]))) if(!space.getDistance(oldpos, objpos).greater(getRange(oldobjects[i])) && (pos==null || space.getDistance(pos, objpos).greater(getRange(oldobjects[i])))) if(!space.getDistance(oldpos, objpos).greater(getRange(event.getSpaceObject())) && (pos==null || space.getDistance(pos, objpos).greater(getRange(event.getSpaceObject())))) if(owner!=null) if(!space.getDistance(pos, objpos).greater(getRange(objects[i]))) if(!space.getDistance(pos, objpos).greater(getRange(event.getSpaceObject()))) if(!space.getDistance(pos, objpos).greater(getRange(objects[i])))
if(dist.greater(my_location.getDistance(mps[i].getLocation())))
else if(space.getDistance(mypos, home).greater(Vector1Int.ZERO))
else if(space.getDistance(mypos, home).greater(Vector1Int.ZERO))