< Summary

Class:Builder.Gizmos.DCLBuilderRotateGizmo
Assembly:Builder
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Builder/Scripts/Gizmos/DCLBuilderRotateGizmo.cs
Covered lines:1
Uncovered lines:17
Coverable lines:18
Total lines:48
Line coverage:5.5% (1 of 18)
Covered branches:0
Total branches:0

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
SetSnapFactor(...)0%110100%
TransformEntity(...)0%12300%
OnBeginDrag(...)0%2100%
RaycastHit(...)0%6200%
GetHitPointToAxisValue(...)0%2100%
SetPreviousAxisValue(...)0%2100%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/Builder/Scripts/Gizmos/DCLBuilderRotateGizmo.cs

#LineLine coverage
 1using UnityEngine;
 2
 3namespace Builder.Gizmos
 4{
 5    public class DCLBuilderRotateGizmo : DCLBuilderGizmo
 6    {
 7        private Plane raycastPlane;
 8
 49        public override void SetSnapFactor(DCLBuilderGizmoManager.SnapInfo snapInfo) { snapFactor = snapInfo.rotation; }
 10
 11        public override float TransformEntity(Transform entityTransform, DCLBuilderGizmoAxis axis, float axisValue)
 12        {
 013            Space space = worldOrientedGizmos ? Space.World : Space.Self;
 014            Vector3 rotationVector = activeAxis.transform.forward;
 15
 016            float amount = axisValue * Mathf.Rad2Deg;
 017            entityTransform.Rotate(rotationVector, amount, space);
 018            return amount;
 19        }
 20
 21        public override void OnBeginDrag(DCLBuilderGizmoAxis axis, Transform entityTransform)
 22        {
 023            base.OnBeginDrag(axis, entityTransform);
 024            raycastPlane = new Plane(activeAxis.transform.forward, transform.position);
 025        }
 26
 27        public override bool RaycastHit(Ray ray, out Vector3 hitPoint)
 28        {
 029            float raycastHitDistance = 0.0f;
 30
 031            if (raycastPlane.Raycast(ray, out raycastHitDistance))
 32            {
 033                hitPoint = ray.GetPoint(raycastHitDistance);
 034                return true;
 35            }
 036            hitPoint = Vector3.zero;
 037            return false;
 38        }
 39
 40        protected override float GetHitPointToAxisValue(DCLBuilderGizmoAxis axis, Vector3 hitPoint, Vector2 mousePositio
 41        {
 042            Vector3 hitDir = (hitPoint - transform.position).normalized;
 043            return Vector3.SignedAngle(axis.transform.up, hitDir, axis.transform.forward) * Mathf.Deg2Rad;
 44        }
 45
 046        protected override void SetPreviousAxisValue(float axisValue, float transformValue) { prevAxisValue = axisValue;
 47    }
 48}