AR Design
UBC EML collab with UBC SALA - visualizing IoT data in AR
HoloToolkit.Unity.SolverSurfaceMagnetism Class Reference

SurfaceMagnetism casts rays to Surfaces in the world align the object to the surface. More...

Inheritance diagram for HoloToolkit.Unity.SolverSurfaceMagnetism:
HoloToolkit.Unity.Solver

Public Types

enum  RaycastDirectionEnum { RaycastDirectionEnum.CameraFacing, RaycastDirectionEnum.ToObject, RaycastDirectionEnum.ToLinkedPosition }
 
enum  RaycastModeEnum { RaycastModeEnum.Simple, RaycastModeEnum.Box, RaycastModeEnum.Sphere }
 
enum  OrientModeEnum { OrientModeEnum.None, OrientModeEnum.Vertical, OrientModeEnum.Full, OrientModeEnum.Blended }
 

Public Member Functions

override void SolverUpdate ()
 
- Public Member Functions inherited from HoloToolkit.Unity.Solver
void SolverUpdateEntry ()
 Tracks lifetime of the solver, disabling it when expired, and finally runs the orientation update logic More...
 
virtual void SnapTo (Vector3 position, Quaternion rotation)
 SnapTo may be used to bypass smoothing to a certain position if the object is teleported or spawned More...
 
virtual void SnapGoalTo (Vector3 position, Quaternion rotation)
 SnapGoalTo only sets the goal orientation. Not really useful. More...
 
virtual void AddOffset (Vector3 offset)
 
void UpdateWorkingToGoal ()
 Updates the Working orientation (which may be the object, or the shared orientation) to the goal, with smoothing accounted for More...
 
void UpdateWorkingPosToGoal ()
 Updates only the working position to goal with smoothing More...
 
void UpdateWorkingRotToGoal ()
 Updates only the working rotation to goal with smoothing More...
 
void UpdateWorkingScaleToGoal ()
 Updates only the working scale to goal with smoothing More...
 

Public Attributes

LayerMask MagneticSurface = 0
 
float MaxDistance = 3.0f
 
float CloseDistance = 0.5f
 
float SurfaceNormalOffset = 0.5f
 
float SurfaceRayOffset = 0
 
RaycastModeEnum raycastMode = RaycastModeEnum.Simple
 
int BoxRaysPerEdge = 3
 
bool OrthoBoxCast = false
 
float MaximumNormalVariance = 0.5f
 
float SphereSize = 1.0f
 
float VolumeCastSizeOverride = 0
 
bool UseLinkedAltScaleOverride = false
 
RaycastDirectionEnum raycastDirection = RaycastDirectionEnum.ToLinkedPosition
 
OrientModeEnum orientationMode = OrientModeEnum.Vertical
 
float OrientBlend = 0.65f
 
bool OnSurface
 
- Public Attributes inherited from HoloToolkit.Unity.Solver
bool UpdateLinkedTransform = false
 
float MoveLerpTime = 0.1f
 
float RotateLerpTime = 0.1f
 
float ScaleLerpTime = 0
 
bool MaintainScale = true
 
Vector3 GoalPosition
 
Quaternion GoalRotation
 
Vector3 GoalScale
 
bool Smoothing = true
 
float Lifetime = 0
 

Protected Member Functions

void Start ()
 
- Protected Member Functions inherited from HoloToolkit.Unity.Solver
virtual void Awake ()
 
virtual void OnEnable ()
 Typically when a solver becomes enabled, it should update its internal state to the system, in case it was disabled far away More...
 
void UpdateTransformToGoal ()
 Updates all object orientations to the goal orientation for this solver, with smoothing accounted for (smoothing may be off) More...
 

Additional Inherited Members

- Static Public Member Functions inherited from HoloToolkit.Unity.Solver
static Vector3 SmoothTo (Vector3 source, Vector3 goal, float deltaTime, float lerpTime)
 Lerps Vector3 source to goal, handles lerpTime of 0 More...
 
static Quaternion SmoothTo (Quaternion source, Quaternion goal, float deltaTime, float lerpTime)
 Slerps Quaternion source to goal, handles lerpTime of 0 More...
 
- Protected Attributes inherited from HoloToolkit.Unity.Solver
SolverHandler solverHandler
 
- Properties inherited from HoloToolkit.Unity.Solver
Vector3 WorkingPos [get, set]
 WorkingPos automatically uses the shared position if the solver is set to use the 'linked transform'. UpdateLinkedTransform may be set to false, and a solver will automatically update the object directly, and not inherit work done by other solvers to the shared position More...
 
Quaternion WorkingRot [get, set]
 Rotation version of WorkingPos More...
 
Vector3 WorkingScale [get, set]
 Scale version of WorkingPos More...
 

Detailed Description

SurfaceMagnetism casts rays to Surfaces in the world align the object to the surface.

Definition at line 11 of file SolverSurfaceMagnetism.cs.

Member Enumeration Documentation

§ OrientModeEnum

Enumerator
None 
Vertical 
Full 
Blended 

Definition at line 27 of file SolverSurfaceMagnetism.cs.

§ RaycastDirectionEnum

Enumerator
CameraFacing 
ToObject 
ToLinkedPosition 

Definition at line 14 of file SolverSurfaceMagnetism.cs.

§ RaycastModeEnum

Enumerator
Simple 
Box 
Sphere 

Definition at line 20 of file SolverSurfaceMagnetism.cs.

Member Function Documentation

§ SolverUpdate()

override void HoloToolkit.Unity.SolverSurfaceMagnetism.SolverUpdate ( )
virtual

Implements HoloToolkit.Unity.Solver.

Definition at line 258 of file SolverSurfaceMagnetism.cs.

§ Start()

void HoloToolkit.Unity.SolverSurfaceMagnetism.Start ( )
protected

Definition at line 93 of file SolverSurfaceMagnetism.cs.

Member Data Documentation

§ BoxRaysPerEdge

int HoloToolkit.Unity.SolverSurfaceMagnetism.BoxRaysPerEdge = 3

Definition at line 54 of file SolverSurfaceMagnetism.cs.

§ CloseDistance

float HoloToolkit.Unity.SolverSurfaceMagnetism.CloseDistance = 0.5f

Definition at line 43 of file SolverSurfaceMagnetism.cs.

§ MagneticSurface

LayerMask HoloToolkit.Unity.SolverSurfaceMagnetism.MagneticSurface = 0

Definition at line 38 of file SolverSurfaceMagnetism.cs.

§ MaxDistance

float HoloToolkit.Unity.SolverSurfaceMagnetism.MaxDistance = 3.0f

Definition at line 41 of file SolverSurfaceMagnetism.cs.

§ MaximumNormalVariance

float HoloToolkit.Unity.SolverSurfaceMagnetism.MaximumNormalVariance = 0.5f

Definition at line 60 of file SolverSurfaceMagnetism.cs.

§ OnSurface

bool HoloToolkit.Unity.SolverSurfaceMagnetism.OnSurface

Definition at line 85 of file SolverSurfaceMagnetism.cs.

§ orientationMode

OrientModeEnum HoloToolkit.Unity.SolverSurfaceMagnetism.orientationMode = OrientModeEnum.Vertical

Definition at line 79 of file SolverSurfaceMagnetism.cs.

§ OrientBlend

float HoloToolkit.Unity.SolverSurfaceMagnetism.OrientBlend = 0.65f

Definition at line 82 of file SolverSurfaceMagnetism.cs.

§ OrthoBoxCast

bool HoloToolkit.Unity.SolverSurfaceMagnetism.OrthoBoxCast = false

Definition at line 57 of file SolverSurfaceMagnetism.cs.

§ raycastDirection

RaycastDirectionEnum HoloToolkit.Unity.SolverSurfaceMagnetism.raycastDirection = RaycastDirectionEnum.ToLinkedPosition

Definition at line 76 of file SolverSurfaceMagnetism.cs.

§ raycastMode

RaycastModeEnum HoloToolkit.Unity.SolverSurfaceMagnetism.raycastMode = RaycastModeEnum.Simple

Definition at line 51 of file SolverSurfaceMagnetism.cs.

§ SphereSize

float HoloToolkit.Unity.SolverSurfaceMagnetism.SphereSize = 1.0f

Definition at line 63 of file SolverSurfaceMagnetism.cs.

§ SurfaceNormalOffset

float HoloToolkit.Unity.SolverSurfaceMagnetism.SurfaceNormalOffset = 0.5f

Definition at line 46 of file SolverSurfaceMagnetism.cs.

§ SurfaceRayOffset

float HoloToolkit.Unity.SolverSurfaceMagnetism.SurfaceRayOffset = 0

Definition at line 48 of file SolverSurfaceMagnetism.cs.

§ UseLinkedAltScaleOverride

bool HoloToolkit.Unity.SolverSurfaceMagnetism.UseLinkedAltScaleOverride = false

Definition at line 69 of file SolverSurfaceMagnetism.cs.

§ VolumeCastSizeOverride

float HoloToolkit.Unity.SolverSurfaceMagnetism.VolumeCastSizeOverride = 0

Definition at line 66 of file SolverSurfaceMagnetism.cs.


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