From aed6fe630b6ed249e5e70899c055afd30a66e043 Mon Sep 17 00:00:00 2001 From: Julian Zobel Date: Wed, 23 Jun 2021 10:30:45 +0200 Subject: [PATCH] Square AP generator with radius, radius in AP constructor --- .../attraction/AttractionPoint.java | 5 +++++ .../EquidistantSquareAttractionGenerator.java | 20 +++++++++---------- 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/src/de/tud/kom/p2psim/impl/topology/movement/modularosm/attraction/AttractionPoint.java b/src/de/tud/kom/p2psim/impl/topology/movement/modularosm/attraction/AttractionPoint.java index f0eb04f6..aef9320b 100644 --- a/src/de/tud/kom/p2psim/impl/topology/movement/modularosm/attraction/AttractionPoint.java +++ b/src/de/tud/kom/p2psim/impl/topology/movement/modularosm/attraction/AttractionPoint.java @@ -63,6 +63,11 @@ public class AttractionPoint extends BasicAttractionPoint { Monitor.getOrNull(IAttractionBasedMovementAnalyzer.class).onAttractionPointAdded(this); } } + + public AttractionPoint(String name, PositionVector posVec, double radius) { + this(name, posVec); + this.radius = radius; + } public AttractionPoint(String name, PositionVector posVec, double weight, double radius, long pauseTimeMin, long pauseTimeMax) { this(name, posVec); diff --git a/src/de/tud/kom/p2psim/impl/topology/movement/modularosm/attraction/EquidistantSquareAttractionGenerator.java b/src/de/tud/kom/p2psim/impl/topology/movement/modularosm/attraction/EquidistantSquareAttractionGenerator.java index 11113ba7..26cef66b 100644 --- a/src/de/tud/kom/p2psim/impl/topology/movement/modularosm/attraction/EquidistantSquareAttractionGenerator.java +++ b/src/de/tud/kom/p2psim/impl/topology/movement/modularosm/attraction/EquidistantSquareAttractionGenerator.java @@ -21,24 +21,24 @@ package de.tud.kom.p2psim.impl.topology.movement.modularosm.attraction; import java.util.LinkedList; -import java.util.List; import de.tud.kom.p2psim.impl.topology.util.PositionVector; import de.tudarmstadt.maki.simonstrator.api.util.XMLConfigurableConstructor; /** - * Attraction Generator, providing 4 equidistant attraction points, i.e., in a square + * Attraction Generator, providing 4 equidistant attraction points, i.e., in a square. * * @author Julian Zobel * @version 1.0, Nov 2018 */ public class EquidistantSquareAttractionGenerator extends AbstractAttractionProvider { - - private PositionVector worldDimension; + private double squareSize; + private double radius; - @XMLConfigurableConstructor({ "squareSize" }) - public EquidistantSquareAttractionGenerator(double squareSize) { + @XMLConfigurableConstructor({ "squareSize", "radius" }) + public EquidistantSquareAttractionGenerator(double squareSize, double radius) { this.squareSize = squareSize; + this.radius = radius; createAttractionPoints(); } @@ -56,16 +56,16 @@ public class EquidistantSquareAttractionGenerator extends AbstractAttractionProv double y = worldDimension.getY() / 2; PositionVector p1 = new PositionVector(x - squareSize, y - squareSize); - this.addAttractionPoint(new AttractionPoint("AP1", p1)); + this.addAttractionPoint(new AttractionPoint("AP1", p1, radius)); PositionVector p2 = new PositionVector(x - squareSize, y + squareSize); - this.addAttractionPoint(new AttractionPoint("AP2", p2)); + this.addAttractionPoint(new AttractionPoint("AP2", p2, radius)); PositionVector p3 = new PositionVector(x + squareSize, y - squareSize); - this.addAttractionPoint(new AttractionPoint("AP3", p3)); + this.addAttractionPoint(new AttractionPoint("AP3", p3, radius)); PositionVector p4 = new PositionVector(x + squareSize, y + squareSize); - this.addAttractionPoint(new AttractionPoint("AP4", p4)); + this.addAttractionPoint(new AttractionPoint("AP4", p4, radius)); } -- GitLab