UniversalViewer/Assets/Scripts/RuntimeGizmo/Objects/AxisInfo.cs

49 lines
966 B
C#

using System;
using UnityEngine;
namespace RuntimeGizmos
{
public struct AxisInfo
{
public Vector3 pivot;
public Vector3 xDirection;
public Vector3 yDirection;
public Vector3 zDirection;
public void Set(Transform target, Vector3 pivot, TransformSpace space)
{
if(space == TransformSpace.Global)
{
xDirection = Vector3.right;
yDirection = Vector3.up;
zDirection = Vector3.forward;
}
else if(space == TransformSpace.Local)
{
xDirection = target.right;
yDirection = target.up;
zDirection = target.forward;
}
this.pivot = pivot;
}
public Vector3 GetXAxisEnd(float size)
{
return pivot + (xDirection * size);
}
public Vector3 GetYAxisEnd(float size)
{
return pivot + (yDirection * size);
}
public Vector3 GetZAxisEnd(float size)
{
return pivot + (zDirection * size);
}
public Vector3 GetAxisEnd(Vector3 direction, float size)
{
return pivot + (direction * size);
}
}
}