Tanoda
LeapRadialSpace.cs
Go to the documentation of this file.
1/******************************************************************************
2 * Copyright (C) Ultraleap, Inc. 2011-2020. *
3 * *
4 * Use subject to the terms of the Apache License 2.0 available at *
5 * http://www.apache.org/licenses/LICENSE-2.0, or another agreement *
6 * between Ultraleap and you, your company or other organization. *
7 ******************************************************************************/
8
9using UnityEngine;
11
12namespace Leap.Unity.Space {
13
14 public interface IRadialTransformer : ITransformer {
15 Vector4 GetVectorRepresentation(Transform element);
16 }
17
18 public abstract class LeapRadialSpace : LeapSpace {
19
20 [MinValue(0.001f)]
21 [SerializeField]
22 private float _radius = 1;
23
24 public float radius {
25 get {
26 return _radius;
27 }
28 set {
29 _radius = value;
30 }
31 }
32
33 public override Hash GetSettingHash() {
34 return new Hash() {
35 _radius
36 };
37 }
38
40 Vector3 anchorRectPos = transform.InverseTransformPoint(transformer.anchor.transform.position);
41 Vector3 parentRectPos = transform.InverseTransformPoint(parent.anchor.transform.position);
42 Vector3 delta = anchorRectPos - parentRectPos;
44 }
45
46 protected abstract void UpdateRadialTransformer(ITransformer transformer, ITransformer parent, Vector3 rectSpaceDelta
47 );
48 }
49}
override Hash GetSettingHash()
Get a hash of all features in this space. This is useful if you want to know if anything has changed ...
sealed override void UpdateTransformer(ITransformer transformer, ITransformer parent)
abstract void UpdateRadialTransformer(ITransformer transformer, ITransformer parent, Vector3 rectSpaceDelta)
Vector4 GetVectorRepresentation(Transform element)