############### Tools/Operators ############### There are tools that help with editing the traffic system. They can be found in the 3D Viewport `Select` and `Object` menu and in the Shader Editor `CrowdSim` menu. .. _select-curves: Select Curves ============= **menu**: `3D View => Select => Traffic => Select Curves` This tool selects all curves that are part of the active traffic system. .. _select-connectors: Select Connectors ================= **menu**: `3D View => Select => Traffic => Select Connectors` This tool selects all connectors that are part of the active traffic system. .. _select-dead-ends: Select Dead Ends ================ **menu**: `3D View => Select => Traffic => Select Dead Ends` This tool detects dead ends of the active traffic system. These dead ends (connectors) will be selected and the number of detected dead ends will be reported. .. note:: After executing this operator the traffic system will be deselected. .. _remove-from-traffic-system: Remove From Traffic System ========================== **menu**: `3D View => Object => Traffic => Remove From Traffic System` This tool will remove selected curves from the traffic system. .. note:: When deleting a traffic system without removing the curves first the traffic system isn't actually removed from the scene. It is just not visible. This is default behavior of Blender. If you want to remove a traffic system from the scene you need to make sure that it doesn't have any references to the system. With the `Remove From Traffic System` you can make sure that the reference from a curve is removed. .. _validate-traffic-system: Validate ======== **menu**: `3D View => Object => Traffic => Validate` This tool validates the active traffic system. When working with a large traffic system it is easy to get lost. This tool warns about what is missing in the traffic system. When done it shows a dialog with the found issues. This tool does not make any changes to the scene. .. _fix-dead-ends: Fix Dead Ends ============= **menu**: `3D View => Object => Traffic => Fix Dead Ends` Try to fix dead ends of the active traffic system. When importing OSM models some dead-ends are created as OSM doesn't split the curves in a way the traffic system can handle. This operation helps by detecting most common cases so less dead-ends needs to be solved manually. The dead ends that will be solved are connectors that are within 1 blender unit of any curve point. When that is detected the curve-spline will be spliced into two separate splines. 1. Traffic System with dead ends. .. image:: /images/operator-fix-dead-ends-before.png :align: center 2. After fixing dead ends .. image:: /images/operator-fix-dead-ends-after.png :align: center The curve from left to right has a control point at the location where the dead-end is detected. The curve is split into two splines at this point. Both splines are still part of the same curve. This operation can also be used on regular `Bezier Curves`. .. _clean-up-traffic-system: Clean Up Traffic System ======================= **menu**: `3D View => Object => Traffic => Clean Up Traffic System` Tries to fix issues when the internal data of the traffic system becomes invalid. In normal situation you won't need to use this operation as the tool enforces that the traffic system is consistent at all times. This tool is kept for just-in-case situations. .. _refresh-traffic-system: Refresh Traffic System ====================== **menu**: `3D View => Object => Traffic => Refresh Traffic System` Regenerate the traffic system. You can still make changes to curves after they have been added to a traffic system. These changes might not be visible in the 3D Viewport. This operation will update the traffic system with the latest changes that have been made to the curve so the 3D Viewport will be updated. .. note:: When simulating, data of the curves are used directly. This operation just updates the visual representation in the 3D Viewport. .. _reset-junction: Reset Junction ============== **menu**: `3D View => Object => Traffic => Reset Junction` Reset the inner connections of a junction. When a junction is manually configured you can reset the configuration to its default where all incoming lanes are connected to all outgoing lanes. .. _create-trailers-wagons: Create Trailers Wagons ====================== **menu**: `3D View => Object => Traffic => Create Trailer Wagons` This operation adds trailers or wagons to a selected agent. In the Object Properties panel you can set the model for a trailer or wagon. .. _sync-open-street-map-data: Sync Open Street Map Data ========================= **menu**: `3D View => Object => Traffic => Sync Open Street Map Data` Sync metadata from curves that have been imported using the OSM Importer plugin. .. _clean-up-osm-curves: Clean Up OSM Curves =================== **menu**: `3D View => Object => Traffic => Clean Up OSM Curves` Apply all shrinkwrap modifiers selected (OSM) curves of the selected traffic simulation. This operation can take some time. .. _reset-shader-animation: Reset Shader Animation ====================== **menu**: `Shader Editor => CrowdSim => Reset Shader Animation` In the Material editor animations can be keyframed for braking, turning left and turning right. Animations should be unlinked from the material as you normally don't want these animations to play from the start of a crowd simulation, but only when its needed. `Reset Shader Animation` will set Fake User for the action and unlink the action. .. _determine_velocity: Determine Velocity ================== **menu**: `Action Editor => Context => Traffic => Determine Velocity` Update the velocity of the active action. This operator will update the velocity of the active action based on: * **Number of Frames**: Number of frames. * **Number of Rotations**: Number of rotations per time interval. * **Radius of Wheel**: The radius of the wheel.