< Summary

Class:BIWGizmosRotate
Assembly:BuilderInWorld
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/BuilderMode/Gizmos/BIWGizmosRotate.cs
Covered lines:12
Uncovered lines:6
Coverable lines:18
Total lines:47
Line coverage:66.6% (12 of 18)
Covered branches:0
Total branches:0

Metrics

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

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/BuilderMode/Gizmos/BIWGizmosRotate.cs

#LineLine coverage
 1using System.Collections;
 2using System.Collections.Generic;
 3using UnityEngine;
 4
 5public class BIWGizmosRotate : BIWGizmos
 6{
 7    internal Plane raycastPlane;
 8
 129    public override void SetSnapFactor(BIWGizmosController.SnapInfo snapInfo) { snapFactor = snapInfo.rotation; }
 10
 11    public override float TransformEntity(Transform entityTransform, BIWGizmosAxis axis, float axisValue)
 12    {
 113        Space space = worldOrientedGizmos ? Space.World : Space.Self;
 114        Vector3 rotationVector = activeAxis.transform.forward;
 15
 116        float amount = axisValue * Mathf.Rad2Deg;
 117        entityTransform.Rotate(rotationVector, amount, space);
 118        return amount;
 19    }
 20
 21    public override void OnBeginDrag(BIWGizmosAxis axis, Transform entityTransform)
 22    {
 123        base.OnBeginDrag(axis, entityTransform);
 124        raycastPlane = new Plane(activeAxis.transform.forward, transform.position);
 125    }
 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    internal override float GetHitPointToAxisValue(BIWGizmosAxis axis, Vector3 hitPoint, Vector2 mousePosition)
 41    {
 142        Vector3 hitDir = (hitPoint - transform.position).normalized;
 143        return Vector3.SignedAngle(axis.transform.up, hitDir, axis.transform.forward) * Mathf.Deg2Rad;
 44    }
 45
 246    internal override void SetPreviousAxisValue(float axisValue, float transformValue) { previousAxisValue = axisValue; 
 47}