Class TaskExtensions
Static class that contains various extension methods that allow tasks to be created. Tasks in turn offer similar methods that allow for a concise notion when creation arbitrary complex task graphs.
Namespace: Unity.Kinematica
Syntax
public static class TaskExtensions
Methods
Action(MotionSynthesizer)
Creates a new action task as a child of the root task.
Declaration
public static ActionTask Action(this MotionSynthesizer synthesizer)
Parameters
| Type | Name | Description |
|---|---|---|
| MotionSynthesizer | synthesizer |
Returns
| Type | Description |
|---|---|
| ActionTask | Reference to the newly created action task. |
See Also
Action(MotionSynthesizer, MemoryIdentifier)
Creates a new action task as a child of the parent task passed as argument.
Declaration
public static ActionTask Action(this MotionSynthesizer synthesizer, MemoryIdentifier parent)
Parameters
| Type | Name | Description |
|---|---|---|
| MotionSynthesizer | synthesizer | |
| MemoryIdentifier | parent | Identifier of the parent task. |
Returns
| Type | Description |
|---|---|
| ActionTask | Reference to the newly created action task. |
Condition(MotionSynthesizer)
Creates a new condition task as a child of the root task.
Declaration
public static ConditionTask Condition(this MotionSynthesizer synthesizer)
Parameters
| Type | Name | Description |
|---|---|---|
| MotionSynthesizer | synthesizer |
Returns
| Type | Description |
|---|---|
| ConditionTask | Reference to the newly created condition task. |
See Also
Condition(MotionSynthesizer, MemoryIdentifier)
Creates a new condition task as a child of the parent task passed as argument.
Declaration
public static ConditionTask Condition(this MotionSynthesizer synthesizer, MemoryIdentifier parent)
Parameters
| Type | Name | Description |
|---|---|---|
| MotionSynthesizer | synthesizer | |
| MemoryIdentifier | parent | Identifier of the parent task. |
Returns
| Type | Description |
|---|---|
| ConditionTask | Reference to the newly created condition task. |
CurrentPose(ActionTask)
Creates a new current pose task as a child of an action.
Declaration
public static CurrentPoseTask CurrentPose(this ActionTask action)
Parameters
| Type | Name | Description |
|---|---|---|
| ActionTask | action |
Returns
| Type | Description |
|---|---|
| CurrentPoseTask | Reference to the newly created current pose task. |
See Also
GetByType<T>(ActionTask)
Retrieves a reference to a task or data based on the generic type.
Declaration
public static T GetByType<T>(this ActionTask action)
where T : struct
Parameters
| Type | Name | Description |
|---|---|---|
| ActionTask | action |
Returns
| Type | Description |
|---|---|
| T | Reference to a task or data that matches the generic type. |
Type Parameters
| Name | Description |
|---|---|
| T |
Navigation(ActionTask)
Declaration
public static NavigationTask Navigation(this ActionTask action)
Parameters
| Type | Name | Description |
|---|---|---|
| ActionTask | action |
Returns
| Type | Description |
|---|---|
| NavigationTask |
Parallel(MotionSynthesizer)
Creates a new parallel task as a child of the root task.
Declaration
public static ParallelTask Parallel(this MotionSynthesizer synthesizer)
Parameters
| Type | Name | Description |
|---|---|---|
| MotionSynthesizer | synthesizer |
Returns
| Type | Description |
|---|---|
| ParallelTask | Reference to the newly created parallel task. |
See Also
Parallel(MotionSynthesizer, MemoryIdentifier)
Creates a new parallel task as a child of the parent task passed as argument.
Declaration
public static ParallelTask Parallel(this MotionSynthesizer synthesizer, MemoryIdentifier parent)
Parameters
| Type | Name | Description |
|---|---|---|
| MotionSynthesizer | synthesizer | |
| MemoryIdentifier | parent | Identifier of the parent task. |
Returns
| Type | Description |
|---|---|
| ParallelTask | Reference to the newly created parallel task. |
Push(ActionTask, Identifier<TimeIndex>)
Creates a new push task as a child of an action.
Declaration
public static PushTask Push(this ActionTask action, Identifier<TimeIndex> samplingTime)
Parameters
| Type | Name | Description |
|---|---|---|
| ActionTask | action | |
| Identifier<TimeIndex> | samplingTime | The sampling time that the push task receives as input. |
Returns
| Type | Description |
|---|---|
| PushTask | Reference to the newly created push task. |
See Also
Push(ActionTask, QueryResult)
Creates a new push task as a child of an action.
Declaration
public static PushTask Push(this ActionTask action, QueryResult result)
Parameters
| Type | Name | Description |
|---|---|---|
| ActionTask | action | |
| QueryResult | result | Pose sequence that will be passed to the implicitely created reduce operation. |
Returns
| Type | Description |
|---|---|
| PushTask | Reference to the newly created push task. |
Remarks
This is a convenience method that implicitely creates a reduce task for the query result that is passed as argument. Since in this case the reduce task will not receive any constraints it will simply select the first pose of the query result. This method allows to push the first pose of a query result to the motion synthesizer.
See Also
Push(ActionTask, TimeIndex)
Creates a new push task as a child of an action.
Declaration
public static PushTask Push(this ActionTask action, TimeIndex samplingTime)
Parameters
| Type | Name | Description |
|---|---|---|
| ActionTask | action | |
| TimeIndex | samplingTime | The sampling time that the push task receives as input. |
Returns
| Type | Description |
|---|---|
| PushTask | Reference to the newly created push task. |
See Also
PushConstrained(ActionTask, QueryResult, Single)
Creates a new push task as a child of an action.
Declaration
public static PushTask PushConstrained(this ActionTask action, QueryResult result, float threshold)
Parameters
| Type | Name | Description |
|---|---|---|
| ActionTask | action | |
| QueryResult | result | Pose sequence that will be passed to the implicitely created reduce operation. |
| Single | threshold | Threshold that will be passed to the implicitely created reduce operation. |
Returns
| Type | Description |
|---|---|
| PushTask | Reference to the newly created push task. |
Remarks
This is a convenience method that implicitely creates a reduce task for the query result that is passed as argument. The reduce task will be set up such that it selects the animation pose that is most similar to the current pose of the synthesizer.
See Also
PushConstrained(ActionTask, QueryResult, Identifier<Trajectory>)
Creates a new push task as a child of an action.
Declaration
public static PushTask PushConstrained(this ActionTask action, QueryResult result, Identifier<Trajectory> trajectory)
Parameters
| Type | Name | Description |
|---|---|---|
| ActionTask | action | |
| QueryResult | result | Pose sequence that will be passed to the implicitely created reduce operation. |
| Identifier<Trajectory> | trajectory | Trajectory that will be passed to the implicitely created reduce operation. |
Returns
| Type | Description |
|---|---|
| PushTask | Reference to the newly created push task. |
Remarks
This is a convenience method that implicitely creates a reduce task for the query result that is passed as argument. The reduce task will be set up such that it selects the animation pose that is most similar to the current pose of the synthesizer and the desired trajectory that is passed as argument.
See Also
QueryResult(ActionTask, QueryResult)
Creates a new pose sequence.
Declaration
public static Identifier<PoseSequence> QueryResult(this ActionTask action, QueryResult result)
Parameters
| Type | Name | Description |
|---|---|---|
| ActionTask | action | |
| QueryResult | result | Query result that is to be used as initial value of the pose sequence. |
Returns
| Type | Description |
|---|---|
| Identifier<PoseSequence> | Reference to the newly created pose sequence. |
Remarks
This method allows the creation of a pose sequence that can be fed into a reduce task. The pose sequence will be initialized based on the query result passed as argument.
See Also
Reduce(ActionTask, Identifier<PoseSequence>)
Creates a new reduce task as a child of an action.
Declaration
public static ReduceTask Reduce(this ActionTask action, Identifier<PoseSequence> sequences)
Parameters
| Type | Name | Description |
|---|---|---|
| ActionTask | action | |
| Identifier<PoseSequence> | sequences | The pose sequence that the reduce task receives as input. |
Returns
| Type | Description |
|---|---|
| ReduceTask | Reference to the newly created reduce task. |
See Also
Reduce(ActionTask, Identifier<PoseSequence>, Identifier<SamplingTime>, Identifier<Trajectory>, Single)
Creates a new reduce task as a child of an action.
Declaration
public static ReduceTask Reduce(this ActionTask action, Identifier<PoseSequence> sequences, Identifier<SamplingTime> samplingTime, Identifier<Trajectory> trajectory, float threshold = 0F)
Parameters
| Type | Name | Description |
|---|---|---|
| ActionTask | action | |
| Identifier<PoseSequence> | sequences | The pose sequence that the reduce task receives as input. |
| Identifier<SamplingTime> | samplingTime | Reference animation pose that the reduce task will receive as input. |
| Identifier<Trajectory> | trajectory | The desired future trajectory that the reduce task will receive as input. |
| Single | threshold | The threshold that the reduce task will receive as input. |
Returns
| Type | Description |
|---|---|
| ReduceTask | Reference to the newly created reduce task. |
See Also
SamplingTime(ActionTask)
Creates a new sampling time.
Declaration
public static Identifier<SamplingTime> SamplingTime(this ActionTask action)
Parameters
| Type | Name | Description |
|---|---|---|
| ActionTask | action |
Returns
| Type | Description |
|---|---|
| Identifier<SamplingTime> | Reference to the newly created sampling time. |
Remarks
The value of the newly created sampling time will be set to invalid.
SamplingTime(ActionTask, SamplingTime)
Creates a new sampling time.
Declaration
public static Identifier<SamplingTime> SamplingTime(this ActionTask action, SamplingTime samplingTime)
Parameters
| Type | Name | Description |
|---|---|---|
| ActionTask | action | |
| SamplingTime | samplingTime | Sampling time value that is to be used as initial value. |
Returns
| Type | Description |
|---|---|
| Identifier<SamplingTime> | Reference to the newly created sampling time. |
Remarks
The value of the newly created sampling time will be set to the sampling time passed as argument.
Selector(MotionSynthesizer)
Creates a new selector task as a child of the root task.
Declaration
public static SelectorTask Selector(this MotionSynthesizer synthesizer)
Parameters
| Type | Name | Description |
|---|---|---|
| MotionSynthesizer | synthesizer |
Returns
| Type | Description |
|---|---|
| SelectorTask | Reference to the newly created selector task. |
See Also
Selector(MotionSynthesizer, MemoryIdentifier)
Creates a new selector task as a child of the parent task passed as argument.
Declaration
public static SelectorTask Selector(this MotionSynthesizer synthesizer, MemoryIdentifier parent)
Parameters
| Type | Name | Description |
|---|---|---|
| MotionSynthesizer | synthesizer | |
| MemoryIdentifier | parent | Identifier of the parent task. |
Returns
| Type | Description |
|---|---|
| SelectorTask | Reference to the newly created selector task. |
Sequence(MotionSynthesizer)
Creates a new sequence task as a child of the root task.
Declaration
public static SequenceTask Sequence(this MotionSynthesizer synthesizer)
Parameters
| Type | Name | Description |
|---|---|---|
| MotionSynthesizer | synthesizer |
Returns
| Type | Description |
|---|---|
| SequenceTask | Reference to the newly created sequence task. |
See Also
Sequence(MotionSynthesizer, MemoryIdentifier)
Creates a new sequence task as a child of the parent task passed as argument.
Declaration
public static SequenceTask Sequence(this MotionSynthesizer synthesizer, MemoryIdentifier parent)
Parameters
| Type | Name | Description |
|---|---|---|
| MotionSynthesizer | synthesizer | |
| MemoryIdentifier | parent | Identifier of the parent task. |
Returns
| Type | Description |
|---|---|
| SequenceTask | Reference to the newly created sequence task. |
TimeIndex(ActionTask)
Creates a new time index.
Declaration
public static Identifier<TimeIndex> TimeIndex(this ActionTask action)
Parameters
| Type | Name | Description |
|---|---|---|
| ActionTask | action |
Returns
| Type | Description |
|---|---|
| Identifier<TimeIndex> | Reference to the newly created time index. |
Remarks
The value of the newly created time index will be set to invalid.
TimeIndex(ActionTask, TimeIndex)
Creates a new time index.
Declaration
public static Identifier<TimeIndex> TimeIndex(this ActionTask action, TimeIndex timeIndex)
Parameters
| Type | Name | Description |
|---|---|---|
| ActionTask | action | |
| TimeIndex | timeIndex | Time index value that is to be used as initial value. |
Returns
| Type | Description |
|---|---|
| Identifier<TimeIndex> | Reference to the newly created time index. |
Remarks
The value of the newly created time index will be set to the time index passed as argument.
Timer(ActionTask, Single)
Creates a new timer task as a child of an action.
Declaration
public static MemoryIdentifier Timer(this ActionTask action, float timeInSeconds = 0F)
Parameters
| Type | Name | Description |
|---|---|---|
| ActionTask | action | |
| Single | timeInSeconds | Time in seconds that will be used as initial value for the timer task. |
Returns
| Type | Description |
|---|---|
| MemoryIdentifier | Reference to the newly created timer task. |
Trajectory(ActionTask)
Creates a new trajectory.
Declaration
public static Identifier<Trajectory> Trajectory(this ActionTask action)
Parameters
| Type | Name | Description |
|---|---|---|
| ActionTask | action |
Returns
| Type | Description |
|---|---|
| Identifier<Trajectory> | Reference to the newly created trajectory. |
Remarks
This method allows the creation of a trajectory that can be used for any task that requires a reference to a trajectory.
TrajectoryHeuristic(ActionTask, Identifier<TimeIndex>, Identifier<Trajectory>)
Creates a new trajectory heuristic task as a child of an action.
Declaration
public static TrajectoryHeuristicTask TrajectoryHeuristic(this ActionTask action, Identifier<TimeIndex> candidate, Identifier<Trajectory> trajectory)
Parameters
| Type | Name | Description |
|---|---|---|
| ActionTask | action | |
| Identifier<TimeIndex> | candidate | The candidate time index that the trajectory heuristic task receives as input. |
| Identifier<Trajectory> | trajectory | The trajectory that the trajectory heuristic task receives as input. |
Returns
| Type | Description |
|---|---|
| TrajectoryHeuristicTask | Reference to the newly created trajectory heuristic task. |
See Also
TrajectoryPrediction(ActionTask)
Creates a new trajectory prediction task as a child of an action.
Declaration
public static TrajectoryPredictionTask TrajectoryPrediction(this ActionTask action)
Parameters
| Type | Name | Description |
|---|---|---|
| ActionTask | action |
Returns
| Type | Description |
|---|---|
| TrajectoryPredictionTask | Reference to the newly created trajectory prediction task. |