A tool that can engage interactables. More...

Public Member Functions | |
List< InteractableCollisionInfo > | GetCurrentIntersectingObjects () |
abstract List< InteractableCollisionInfo > | GetNextIntersectingObjects () |
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, InteractableCollisionInfo > | GetFirstCurrentCollisionInfo () |
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()
|
pure virtual |
Implemented in OculusSampleFramework.RayTool, and OculusSampleFramework.FingerTipPokeTool.
◆ FocusOnInteractable()
|
pure virtual |
Used to tell the tool to "focus" on a specific object, if focusing is indeed possible given the tool type.
- Parameters
-
focusedInteractable Interactable to focus. colliderZone Collider zone of interactable.
Implemented in OculusSampleFramework.RayTool, and OculusSampleFramework.FingerTipPokeTool.
◆ GetCurrentIntersectingObjects()
List<InteractableCollisionInfo> OculusSampleFramework.InteractableTool.GetCurrentIntersectingObjects | ( | ) |
◆ GetFirstCurrentCollisionInfo()
KeyValuePair<Interactable, InteractableCollisionInfo> OculusSampleFramework.InteractableTool.GetFirstCurrentCollisionInfo | ( | ) |
◆ GetNextIntersectingObjects()
|
pure virtual |
Implemented in OculusSampleFramework.FingerTipPokeTool, and OculusSampleFramework.RayTool.
◆ Initialize()
|
pure virtual |
Implemented in OculusSampleFramework.RayTool, and OculusSampleFramework.FingerTipPokeTool.
◆ UpdateCurrentCollisionsBasedOnDepth()
|
virtual |
For each intersecting interactable, update meta data to indicate deepest collision only.
◆ 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
|
protected |
List of objects that intersect tool.
Property Documentation
◆ EnableState
|
getset |
◆ InteractionPosition
|
getprotected set |
Sometimes we want the position of a tool for stuff like pokes.
◆ IsFarFieldTool
|
get |
◆ IsRightHandedTool
|
getset |
◆ ToolInputState
|
get |
◆ ToolTags
|
get |
◆ ToolTransform
|
get |
◆ Velocity
|
getprotected set |
The documentation for this class was generated from the following file:
- Oculus/SampleFramework/Core/HandsInteraction/Scripts/Tools/InteractableTool.cs