Struct JobRVO Extends IJobParallelForBatched

Public

Inner Types

A half-plane defined as the line splitting plane.

Public Methods

CalculateForwardClearance (neighbours, movementPlane, position, radius, targetDir)

Find the distance we can move towards our target without colliding with anything.

Public
DebugTrace (agentIndex, prev, current, stepIndex)
Public
EvaluateGradient (agentIndex, vos, p, value, desiredVelocity)

Evaluate gradient and value of the cost function at velocity p.

Public
Execute (startIndex, batchSize)
Public
ExecuteORCA (startIndex, batchSize)
Public
ExecuteSampled (startIndex, batchSize)
Public
GenerateNeighbourAgentVOs (agentIndex, velocityObstacles, neighbours)
Public
GenerateObstacleVOs (agentIndex, adjacentObstacleVerticesScratch, segmentDistancesScratch, sortedVerticesScratch, orcaLines, orcaLineToAgent, numLines, movementPlane, optimalVelocity)

Generates ORCA half-planes for all obstacles near the agent.

Public
GradientDescent (agentIndex, vos, sampleAround1, sampleAround2, desiredVelocity)
Public
Trace (agentIndex, vos, p, score, desiredVelocity, iterations, stepSize)

Traces the vector field constructed out of the velocity obstacles.

Public

Public Static Methods

BiasDesiredVelocity (lines, numLines, desiredVelocity, targetPointInVelocitySpace, maxBiasRadians)

Bias towards the right side of agents.

Public Static
BiasDesiredVelocity (vos, desiredVelocity, targetPointInVelocitySpace, maxBiasRadians)

Bias towards the right side of agents.

Public Static
ClipBoundary (lines, lineIndex, radius, tLeft, tRight)
Public Static
ClipLine (line, clipper, tLeft, tRight)

Clip a line to the feasible region of the half-plane given by the clipper.

Public Static
ClipLineToCircle (point, direction, radius, tLeft, tRight)

Clips an infinite line to the intersection with a circle.

Public Static
ClosestPointOnSegment (a, dir, p, t0, t1)
Public Static
ClosestSegmentSegmentPointNonIntersecting (a, b, ta1, ta2, tb1, tb2)

Closest point on segment a to segment b.

Public Static
DistanceInsideVOs (lines, numLines, velocity)

Calculates how far inside the infeasible region of the ORCA half-planes the velocity is.

Public Static
DrawVO (draw, circleCenter, radius, origin, color)
Public Static
FromXZ (p)

(x, 0, y)

Public Static
LinearProgram1D (lines, lineIndex, radius, optimalVelocity, directionOpt, result)
Public Static
LinearProgram2D (lines, numLines, radius, optimalVelocity, directionOpt)
Public Static
LinearProgram2DCollapsedSegment (lines, numLines, startLine, radius, currentResult, optimalVelocityStart, optimalVelocityDir, optimalTLeft, optimalTRight)

Like LinearProgram2D, but the optimal velocity space is a segment instead of a point, however the current result has collapsed to a point.

Public Static
LinearProgram2DSegment (lines, numLines, radius, optimalVelocityStart, optimalVelocityDir, optimalTLeft, optimalTRight, optimalT)

Like LinearProgram2D, but the optimal velocity space is a segment instead of a point.

Public Static
LinearProgram3D (lines, numLines, numFixedLines, beginLine, radius, result, scratchBuffer)

Finds the velocity with the smallest maximum penetration into the given half-planes.

Public Static
Rainbow (v)
Public Static
det (vector1, vector2)

Determinant of the 2x2 matrix defined by vector1 and vector2.

Public Static
left (vector1, vector2)

True if vector2 is to the left of vector1.

Public Static
leftOrColinear (vector1, vector2)

True if vector2 is to the left of vector1 or if they are colinear.

Public Static
right (vector1, vector2)

True if vector2 is to the right of vector1.

Public Static
rightOrColinear (vector1, vector2)

True if vector2 is to the right of vector1 or if they are colinear.

Public Static
rot90 (v)
Public Static

Public Variables

agentData
Public
allowBoundsChecks
Public
collisionStrength

Should be in the range [0,1].

Public
deltaTime
Public
draw
Public
obstacleData
Public
output
Public
priorityMultiplier
Public
symmetryBreakingBias
Public
temporaryAgentData
Public

Public Static Variables

DesiredVelocityWeight
Public Static
MaxObstacleCount
Public Static