Attractor allows controlling agent’s location inside a rectangular node or a polygonal node.
- If the node defines the destination of the agent movement (is referred, for instance, by MoveByTransporter or MoveTo), attractors define exact positions inside the node.
-
You can set a specific attractor as a destination. The following blocks allow you to define a destination or location with an attractor:
- Source, Split, Assembler, Batch, Enter, TransporterFleet — location of the agent.
- MoveTo, RackPick, ResourceSendTo, Seize, Service, MoveByTransporter, SeizeTransporter, MoveByCrane — destination for agents / moving resources.
- If the node defines the waiting location (is referred by Delay or Queue), attractors define exact points where agents will wait inside the node. Agents will go to attractor location for waiting.
- You can send agents to attractor by calling one of the moveTo() agent movement functions.
In pedestrian simulation, Attractor allows controlling pedestrians location inside a node.
- If the node defines the destination of the pedestrian movement (is referred by PedGoTo), attractors define the exact target points inside the node.
- If the node defines the pedestrians waiting location (is referred by PedWait), attractors define the exact points where pedestrians will wait inside the node. Pedestrians will go to the attractor location for waiting. This option may be used to simulate information boards, expo shelves inside shops, etc.
Demo model: Pedestrian Attractors Open the model page in AnyLogic Cloud. There you can run the model or download it (by clicking Model source files).
Tutorials > Bank Office > Phase 3. Adding tellers > Set up space markup for the tellers > Step 5. We will use attractors to define the tellers.
The attractor’s arrow defines the orientation for agents located in an attractor. This is generally important when you have 2D or 3D animation and want the agent animation shapes to face the exact way (e.g. you may want customer to face ATM).
Check out the use of attractor’s orientation in the process-centric tutorial:
Tutorials > Bank Office > Phase 3. Adding tellers > Set up space markup for the tellers > Step 5. We will use attractors to define the tellers.
You can change Orientation in attractor’s properties, or visually define the angle by moving the arrow’s end point in the graphical editor:
You can add attractors one by one, however, if attractors form a regular structure, it makes sense to add several attractors once using the special wizard.
To draw one attractor inside the node
- Drag the Attractor element from the Space Markup palette inside the node.
To draw several attractors
- Double-click Attractor in the Space Markup palette. Its icon will turn into . Now you can add attractors by clicking inside of nodes.
- You add one attractor each time you click inside the node. All new attractors have the default orientation as shown in the figure above. However, you can change attractor’s orientation while drawing it: do not release the mouse button after the click, but move it around until you get the orientation you need.
- To exit the drawing mode, click some area in the graphical editor outside the node.
- After you finish drawing, all added attractors will be selected with their properties open. You may find this useful for defining orientation for several attractors at once:
To add several attractors using the wizard
- Click the node in the graphical diagram.
- In the node properties, click Attractors... button. You will see Attractors dialog box.
- In the dialog, specify how many attractors you want to create. You may do this by explicitly specifying the Number of attractors, or filling the whole node with attractors, preserving the specified Space between attractors, or placing them in a Grid with cells of specified width and height.
- If you need to restructure attractors, select the option Delete all existing attractors and also define creation mode before you click OK. If you wish to clear all attractors from the node without creating new ones there, select this option and specify 0 in creation mode Number of attractors, then click OK.
When you add attractors (either manually or using the wizard), their creation order also defines the sequence of the agents' movement destinations. You can verify the creation order by looking at the names of the attractors (attractor1, attractor2, …). Agents will select attractors one by one according to this order. In case you need to change the order, you should change the positions of the corresponding attractors but not their names.
- General
-
Name — The name of the attractor. The name is used to identify and access the attractor from code.
Ignore — If selected, the attractor is excluded from the model.
Visible on upper agent — If selected, the attractor is visible on the upper agent where this agent lives.
- Position and size
-
X — X-coordinate of the attractor.
Y — Y-coordinate of the attractor.
Orientation — Here you can choose where agents should be directed when reaching/waiting at the attractor.
You can dynamically modify shape properties at model runtime using the following API.
- Position
-
Function Description double getX()
double getY()
double getZ()Returns the X (Y, Z) absolute coordinate of the attractor.
The Z coordinate is defined by the corresponding coordinate of the node.double getRelativeX()
double getRelativeY()Returns the X (Y) coordinate of the attractor relative to the node. - Orientation
-
Function Description double getOrientation() Returns the attractor’s orientation in radians (in the clockwise direction).
-
How can we improve this article?
-