protected virtual void FixedUpdate()
        {
            Frame frame = _leapProvider.CurrentFixedFrame;

            if (OnPrePhysicalUpdate != null)
            {
                OnPrePhysicalUpdate();
            }

            simulateFrame(frame);

            if (OnPostPhysicalUpdate != null)
            {
                OnPostPhysicalUpdate();
            }

            if (_showDebugLines)
            {
                RuntimeGizmoDrawer gizmoDrawer;
                if (RuntimeGizmoManager.TryGetGizmoDrawer(gameObject, out gizmoDrawer))
                {
                    InteractionC.GetDebugLines(ref _scene, _debugLines);
                    for (int i = 0; i < _debugLines.Count; i++)
                    {
                        var line = _debugLines[i];
                        gizmoDrawer.color = line.color.ToUnityColor();
                        gizmoDrawer.DrawLine(line.start.ToVector3(), line.end.ToVector3());
                    }
                }
            }

            if (_showDebugOutput)
            {
                InteractionC.GetDebugStrings(ref _scene, _debugOutput);
            }
        }
 public void GetDebugLines()
 {
     InteractionC.EnableDebugFlags(ref _scene, (uint)DebugFlags.Lines);
     InteractionC.GetDebugLines(ref _scene, new List <INTERACTION_DEBUG_LINE>());
 }