armarx::view_selection::gaze_targets Namespace Reference

Namespaces

namespace  dto
 

Classes

class  GazeTarget
 Business Object (BO) class of GazeTarget. More...
 
class  GazeTargetStatus
 Business Object (BO) class of GazeTargetStatus: the lifecycle of one gaze target request, as observed and published by the gaze scheduler. More...
 
class  TargetPriority
 The Priority of a GazeTarget. More...
 

Enumerations

enum class  AttentionType { TaskDriven = 2 , StimulusDriven = 1 , RandomEvent = 0 }
 Describes the type of attention. More...
 
enum class  TargetStatus {
  Requested , Scheduled , Reached , Preempted ,
  Released , Aborted
}
 The lifecycle state of a gaze target, as observed by the gaze scheduler. More...
 

Functions

void fromAron (const arondto::AttentionType &dto, AttentionType &bo)
 
void fromAron (const arondto::GazeTarget &dto, GazeTarget &bo)
 
void fromAron (const arondto::GazeTargetStatus &dto, GazeTargetStatus &bo)
 
void fromAron (const arondto::TargetPriority &dto, TargetPriority &bo)
 
void fromAron (const arondto::TargetStatus &dto, TargetStatus &bo)
 
void fromIce (const dto::AttentionType::AttentionTypeEnum &dto, AttentionType &bo)
 
void fromIce (const dto::GazeTargetPtr &dto, GazeTarget &bo)
 
void fromIce (const dto::TargetPriority &dto, TargetPriority &bo)
 
bool isTerminal (const TargetStatus status)
 Whether the status is terminal, i.e. the target has left the scheduler's queue for good.
 
::std::ostream & operator<< (::std::ostream &os, const GazeTarget &target)
 
::std::ostream & operator<< (::std::ostream &os, const GazeTargetStatus &status)
 
std::ostream & operator<< (std::ostream &os, const TargetPriority &prio)
 
void toAron (arondto::AttentionType &dto, const AttentionType &bo)
 
void toAron (arondto::GazeTarget &dto, const GazeTarget &bo)
 
void toAron (arondto::GazeTargetStatus &dto, const GazeTargetStatus &bo)
 
void toAron (arondto::TargetPriority &dto, const TargetPriority &bo)
 
void toAron (arondto::TargetStatus &dto, const TargetStatus &bo)
 
void toIce (dto::AttentionType::AttentionTypeEnum &dto, const AttentionType &bo)
 
void toIce (dto::GazeTargetPtr &dto, const GazeTarget &bo)
 
void toIce (dto::TargetPriority &dto, const TargetPriority &bo)
 

Variables

const simox::meta::EnumNames< AttentionTypeAttentionTypeNames
 
const simox::meta::EnumNames< TargetStatusTargetStatusNames
 

Enumeration Type Documentation

◆ AttentionType

enum class AttentionType
strong

Describes the type of attention.

Enumerator
TaskDriven 

Task-Driven attention has highest priority.

StimulusDriven 

Stimulus-Driven attention is executed when there is no Task-Driven GazeTarget.

RandomEvent 

Random Targets with lowest priority.

Definition at line 32 of file AttentionType.h.

◆ TargetStatus

enum class TargetStatus
strong

The lifecycle state of a gaze target, as observed by the gaze scheduler.

Requested/Scheduled/Reached/Preempted are transient, Released/Aborted are terminal.

Released and Aborted are the success/failure split: a target that had been reached before it left the queue ends as Released – the caller got what it asked for, even though another target owns the head now. A target bumped before the gaze ever settled ends as Aborted.

Enumerator
Requested 

admitted to the scheduler's queue, waiting for scheduling

Scheduled 

submitted to the low-level controller

Reached 

the gaze residual settled below the threshold

Preempted 

lost the active slot but stays in the queue and may be scheduled again

Released 

left the queue having been reached (duration elapsed, or superseded afterwards)

Aborted 

left the queue without ever being reached, or the target is out of reach

Definition at line 38 of file TargetStatus.h.

Function Documentation

◆ fromAron() [1/5]

void fromAron ( const arondto::AttentionType & dto,
AttentionType & bo )

Definition at line 61 of file aron_conversions.cpp.

+ Here is the caller graph for this function:

◆ fromAron() [2/5]

void fromAron ( const arondto::GazeTarget & dto,
GazeTarget & bo )

Definition at line 156 of file aron_conversions.cpp.

+ Here is the call graph for this function:

◆ fromAron() [3/5]

void fromAron ( const arondto::GazeTargetStatus & dto,
GazeTargetStatus & bo )

Definition at line 184 of file aron_conversions.cpp.

+ Here is the call graph for this function:

◆ fromAron() [4/5]

void fromAron ( const arondto::TargetPriority & dto,
TargetPriority & bo )

Definition at line 85 of file aron_conversions.cpp.

+ Here is the call graph for this function:

◆ fromAron() [5/5]

void fromAron ( const arondto::TargetStatus & dto,
TargetStatus & bo )

Definition at line 118 of file aron_conversions.cpp.

◆ fromIce() [1/3]

void fromIce ( const dto::AttentionType::AttentionTypeEnum & dto,
AttentionType & bo )

Definition at line 26 of file ice_conversions.cpp.

◆ fromIce() [2/3]

void fromIce ( const dto::GazeTargetPtr & dto,
GazeTarget & bo )

Definition at line 10 of file ice_conversions.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ fromIce() [3/3]

void fromIce ( const dto::TargetPriority & dto,
TargetPriority & bo )

Definition at line 60 of file ice_conversions.cpp.

+ Here is the call graph for this function:

◆ isTerminal()

bool isTerminal ( const TargetStatus status)
inline

Whether the status is terminal, i.e. the target has left the scheduler's queue for good.

Definition at line 64 of file TargetStatus.h.

+ Here is the caller graph for this function:

◆ operator<<() [1/3]

std::ostream & operator<< ( ::std::ostream & os,
const GazeTarget & target )

Definition at line 51 of file GazeTarget.cpp.

◆ operator<<() [2/3]

std::ostream & operator<< ( ::std::ostream & os,
const GazeTargetStatus & status )

Definition at line 20 of file GazeTargetStatus.cpp.

◆ operator<<() [3/3]

std::ostream & operator<< ( std::ostream & os,
const TargetPriority & prio )

Definition at line 74 of file TargetPriority.cpp.

◆ toAron() [1/5]

void toAron ( arondto::AttentionType & dto,
const AttentionType & bo )

Definition at line 44 of file aron_conversions.cpp.

+ Here is the caller graph for this function:

◆ toAron() [2/5]

void toAron ( arondto::GazeTarget & dto,
const GazeTarget & bo )

Definition at line 144 of file aron_conversions.cpp.

+ Here is the call graph for this function:

◆ toAron() [3/5]

void toAron ( arondto::GazeTargetStatus & dto,
const GazeTargetStatus & bo )

Definition at line 168 of file aron_conversions.cpp.

+ Here is the call graph for this function:

◆ toAron() [4/5]

void toAron ( arondto::TargetPriority & dto,
const TargetPriority & bo )

Definition at line 78 of file aron_conversions.cpp.

+ Here is the call graph for this function:

◆ toAron() [5/5]

void toAron ( arondto::TargetStatus & dto,
const TargetStatus & bo )

Definition at line 92 of file aron_conversions.cpp.

◆ toIce() [1/3]

void toIce ( dto::AttentionType::AttentionTypeEnum & dto,
const AttentionType & bo )

Definition at line 43 of file ice_conversions.cpp.

◆ toIce() [2/3]

void toIce ( dto::GazeTargetPtr & dto,
const GazeTarget & bo )

Definition at line 18 of file ice_conversions.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ toIce() [3/3]

void toIce ( dto::TargetPriority & dto,
const TargetPriority & bo )

Definition at line 68 of file ice_conversions.cpp.

+ Here is the call graph for this function:

Variable Documentation

◆ AttentionTypeNames

const simox::meta::EnumNames< gaze_targets::AttentionType > AttentionTypeNames
extern
Initial value:
{
{AttentionType::TaskDriven, "TaskDriven"},
{AttentionType::StimulusDriven, "StimulusDriven"},
{AttentionType::RandomEvent, "RandomEvent"},
}
@ RandomEvent
Random Targets with lowest priority.
@ StimulusDriven
Stimulus-Driven attention is executed when there is no Task-Driven GazeTarget.
@ TaskDriven
Task-Driven attention has highest priority.

Definition at line 28 of file AttentionType.cpp.

◆ TargetStatusNames

const simox::meta::EnumNames<TargetStatus> TargetStatusNames
inline
Initial value:
{
{TargetStatus::Requested, "Requested"},
{TargetStatus::Scheduled, "Scheduled"},
{TargetStatus::Reached, "Reached"},
{TargetStatus::Preempted, "Preempted"},
{TargetStatus::Released, "Released"},
{TargetStatus::Aborted, "Aborted"}}
@ Scheduled
submitted to the low-level controller
@ Aborted
left the queue without ever being reached, or the target is out of reach
@ Reached
the gaze residual settled below the threshold
@ Released
left the queue having been reached (duration elapsed, or superseded afterwards)
@ Preempted
lost the active slot but stays in the queue and may be scheduled again
@ Requested
admitted to the scheduler's queue, waiting for scheduling

Definition at line 54 of file TargetStatus.h.