OculusSampleFramework.InteractableTool Class Referenceabstract

A tool that can engage interactables. More...

Inheritance diagram for OculusSampleFramework.InteractableTool:
OculusSampleFramework.FingerTipPokeTool OculusSampleFramework.RayTool

Public Member Functions

List< InteractableCollisionInfoGetCurrentIntersectingObjects ()
 
abstract List< InteractableCollisionInfoGetNextIntersectingObjects ()
 
abstract void FocusOnInteractable (Interactable focusedInteractable, ColliderZone colliderZone)
 Used to tell the tool to "focus" on a specific object, if focusing is indeed possible given the tool type. More...
 
abstract void DeFocus ()
 
abstract void Initialize ()
 
KeyValuePair< Interactable, InteractableCollisionInfoGetFirstCurrentCollisionInfo ()
 
void ClearAllCurrentCollisionInfos ()
 
virtual void UpdateCurrentCollisionsBasedOnDepth ()
 For each intersecting interactable, update meta data to indicate deepest collision only. More...
 
virtual void UpdateLatestCollisionData ()
 If our collision information changed per frame, make note of it. Removed, added and remaining objects must get their proper events. More...
 

Protected Attributes

List< InteractableCollisionInfo_currentIntersectingObjects
 List of objects that intersect tool. More...
 

Properties

Transform ToolTransform [get]
 
bool IsRightHandedTool [get, set]
 
abstract InteractableToolTags ToolTags [get]
 
abstract ToolInputState ToolInputState [get]
 
abstract bool IsFarFieldTool [get]
 
Vector3 Velocity [get, protected set]
 
Vector3 InteractionPosition [get, protected set]
 Sometimes we want the position of a tool for stuff like pokes. More...
 
abstract bool EnableState [get, set]
 

Detailed Description

A tool that can engage interactables.

Member Function Documentation

◆ ClearAllCurrentCollisionInfos()

void OculusSampleFramework.InteractableTool.ClearAllCurrentCollisionInfos ( )

◆ DeFocus()

abstract void OculusSampleFramework.InteractableTool.DeFocus ( )
pure virtual

◆ FocusOnInteractable()

abstract void OculusSampleFramework.InteractableTool.FocusOnInteractable ( Interactable  focusedInteractable,
ColliderZone  colliderZone 
)
pure virtual

Used to tell the tool to "focus" on a specific object, if focusing is indeed possible given the tool type.

Parameters
focusedInteractableInteractable to focus.
colliderZoneCollider zone of interactable.

Implemented in OculusSampleFramework.RayTool, and OculusSampleFramework.FingerTipPokeTool.

◆ GetCurrentIntersectingObjects()

List<InteractableCollisionInfo> OculusSampleFramework.InteractableTool.GetCurrentIntersectingObjects ( )

◆ GetFirstCurrentCollisionInfo()

KeyValuePair<Interactable, InteractableCollisionInfo> OculusSampleFramework.InteractableTool.GetFirstCurrentCollisionInfo ( )

◆ GetNextIntersectingObjects()

abstract List<InteractableCollisionInfo> OculusSampleFramework.InteractableTool.GetNextIntersectingObjects ( )
pure virtual

◆ Initialize()

abstract void OculusSampleFramework.InteractableTool.Initialize ( )
pure virtual

◆ UpdateCurrentCollisionsBasedOnDepth()

virtual void OculusSampleFramework.InteractableTool.UpdateCurrentCollisionsBasedOnDepth ( )
virtual

For each intersecting interactable, update meta data to indicate deepest collision only.

◆ UpdateLatestCollisionData()

virtual void OculusSampleFramework.InteractableTool.UpdateLatestCollisionData ( )
virtual

If our collision information changed per frame, make note of it. Removed, added and remaining objects must get their proper events.

Member Data Documentation

◆ _currentIntersectingObjects

List<InteractableCollisionInfo> OculusSampleFramework.InteractableTool._currentIntersectingObjects
protected
Initial value:
=
new List<InteractableCollisionInfo>()

List of objects that intersect tool.

Property Documentation

◆ EnableState

abstract bool OculusSampleFramework.InteractableTool.EnableState
getset

◆ InteractionPosition

Vector3 OculusSampleFramework.InteractableTool.InteractionPosition
getprotected set

Sometimes we want the position of a tool for stuff like pokes.

◆ IsFarFieldTool

abstract bool OculusSampleFramework.InteractableTool.IsFarFieldTool
get

◆ IsRightHandedTool

bool OculusSampleFramework.InteractableTool.IsRightHandedTool
getset

◆ ToolInputState

abstract ToolInputState OculusSampleFramework.InteractableTool.ToolInputState
get

◆ ToolTags

abstract InteractableToolTags OculusSampleFramework.InteractableTool.ToolTags
get

◆ ToolTransform

Transform OculusSampleFramework.InteractableTool.ToolTransform
get

◆ Velocity

Vector3 OculusSampleFramework.InteractableTool.Velocity
getprotected set

The documentation for this class was generated from the following file: