new ArrowManager(velocityField, distanceMap, num_seed_points, num_arrows)
    Manages all arrows
    Parameters:
| Name | Type | Description | 
|---|---|---|
velocityField | 
            
            VelocityField | the related velocityField | 
distanceMap | 
            
            DistanceMap | the related distanceMap | 
num_seed_points | 
            
            number | the number of seed points | 
num_arrows | 
            
            number | number of maximum arrows | 
- Source:
 
Methods
getArrowheads()
- Source:
 
Returns:
    [ArrowHead] all Arrowheads
    
        
            
    
    getArrows()
- Source:
 
Returns:
    [Arrow] all arrows
    
        
            
    
    init()
    inits the Seedpositions and Arrows
- Source:
 
updateArrows()
    updates all arrows
- Source:
 
(inner) adjustOpacity()
    function that regulates with a counter when a respawned arrow is set to full opacity again.
kinda hack-ish, but avoids visual artifacts
- Source:
 
(inner) advectArrows()
    advects all arrows
- Source:
 
(inner) calcArrowheads()
    calculates the correct position and rotation of the Arrowheads
- Source:
 
(inner) checkCollisionForLivingArrows(arrows)
    checks collision of living arrows
    Parameters:
| Name | Type | Description | 
|---|---|---|
arrows | 
            
            Array.<Arrow> | array of arrows | 
- Source:
 
(inner) initArrowsAtSeedPositions()
    creates arrows at seed positions
- Source:
 
(inner) initSeedPositions()
    inits the Seedpositions
- Source:
 
(inner) integrateArrows()
    integrates all arrows
- Source:
 
(inner) respawnDeadArrows(arrows)
    respawns dead arrows in array
    Parameters:
| Name | Type | Description | 
|---|---|---|
arrows | 
            
            Array.<Arrow> | array of arrows | 
- Source:
 
(inner) sortArrowsByLengthAndLifetime(arrows)
    sorts arrows by length first and then by lifetime
    Parameters:
| Name | Type | Description | 
|---|---|---|
arrows | 
            
            Array.<Arrow> | array of arrows | 
- Source: