Compare commits

..

No commits in common. "f7bc2def040fe9d641c68a742219c4b0a8c4a15e" and "c6e1acc697c86a03875b067e686a13ba140d7e27" have entirely different histories.

8 changed files with 5 additions and 102 deletions

View File

@ -92,7 +92,7 @@ namespace DCFApixels
{ {
Mesh = mesh; Mesh = mesh;
Position = position; Position = position;
Rotation = rotation.CheckQuaternionOrDefault(); Rotation = rotation;
Size = size; Size = size;
} }
public IGizmoRenderer<MeshGizmo<TMat>> RegisterNewRenderer() { return new Renderer(); } public IGizmoRenderer<MeshGizmo<TMat>> RegisterNewRenderer() { return new Renderer(); }
@ -146,7 +146,7 @@ namespace DCFApixels
public readonly Vector3 Size; public readonly Vector3 Size;
public InstancingMeshGizmoLayout(Vector3 position, Quaternion rotation, Vector3 size) public InstancingMeshGizmoLayout(Vector3 position, Quaternion rotation, Vector3 size)
{ {
Rotation = rotation.CheckQuaternionOrDefault(); Rotation = rotation;
Position = position; Position = position;
Size = size; Size = size;
} }

View File

@ -1,64 +0,0 @@
using DCFApixels.DebugXCore;
using UnityEngine;
using UnityEngine.Rendering;
#if UNITY_EDITOR
using UnityEditor;
#endif
namespace DCFApixels
{
public static class WireArcGizmosExtensions
{
public static DebugX.DrawHandler WireArc(this DebugX.DrawHandler self, Vector3 center, Vector3 normal, Vector3 from, float angle, float radius)
{
return self.Gizmo(new WireArcGizmos(center, normal, from, angle, radius));
}
}
}
namespace DCFApixels.DebugXCore
{
using static DebugX;
using IN = System.Runtime.CompilerServices.MethodImplAttribute;
public struct WireArcGizmos : IGizmo<WireArcGizmos>
{
public readonly Vector3 Position;
public readonly Vector3 Normal;
public readonly Vector3 From;
public readonly float Angle;
public readonly float Radius;
[IN(LINE)]
public WireArcGizmos(Vector3 position, Vector3 normal, Vector3 from, float angle, float radius)
{
Position = position;
Normal = normal.CheckNormalOrDefault();
From = from;
Angle = angle;
Radius = radius;
}
public IGizmoRenderer<WireArcGizmos> RegisterNewRenderer()
{
return new Renderer();
}
private class Renderer : IGizmoRenderer<WireArcGizmos>
{
public int ExecuteOrder => default(WireMat).GetExecuteOrder();
public bool IsStaticRender => false;
public void Prepare(Camera camera, GizmosList<WireArcGizmos> list) { }
public void Render(Camera camera, GizmosList<WireArcGizmos> list, CommandBuffer cb)
{
#if UNITY_EDITOR
Color handles_color = Handles.color;
foreach (var gizmo in list)
{
Handles.color = gizmo.Color;
Handles.DrawWireArc(gizmo.Value.Position, gizmo.Value.Normal, gizmo.Value.From, gizmo.Value.Angle, gizmo.Value.Radius);
}
Handles.color = handles_color;
#endif
}
}
}
}

View File

@ -1,2 +0,0 @@
fileFormatVersion: 2
guid: c3f0e370bd83bef4a8955d9f9979ce01

View File

@ -137,7 +137,7 @@ namespace DCFApixels
public DrawHandler Circle<TMat>(Vector3 position, Vector3 normal, float radius) public DrawHandler Circle<TMat>(Vector3 position, Vector3 normal, float radius)
where TMat : struct, IStaticMaterial where TMat : struct, IStaticMaterial
{ {
return Mesh<CircleMesh, TMat>(position, Quaternion.LookRotation(normal.CheckNormalOrDefault()), new Vector3(radius, radius, radius)); return Mesh<CircleMesh, TMat>(position, Quaternion.LookRotation(normal), new Vector3(radius, radius, radius));
} }
[IN(LINE)] [IN(LINE)]
public DrawHandler Circle<TMat>(Vector3 position, Quaternion rotation, float radius) public DrawHandler Circle<TMat>(Vector3 position, Quaternion rotation, float radius)
@ -148,7 +148,7 @@ namespace DCFApixels
[IN(LINE)] [IN(LINE)]
public DrawHandler Circle(Vector3 position, Vector3 normal, float radius) public DrawHandler Circle(Vector3 position, Vector3 normal, float radius)
{ {
return Mesh<CircleMesh>(position, Quaternion.LookRotation(normal.CheckNormalOrDefault()), new Vector3(radius, radius, radius)); return Mesh<CircleMesh>(position, Quaternion.LookRotation(normal), new Vector3(radius, radius, radius));
} }
[IN(LINE)] [IN(LINE)]
public DrawHandler Circle(Vector3 position, Quaternion rotation, float radius) public DrawHandler Circle(Vector3 position, Quaternion rotation, float radius)

View File

@ -11,7 +11,6 @@ namespace DCFApixels
public readonly partial struct DrawHandler public readonly partial struct DrawHandler
{ {
#if DEBUGX_ENABLE_PHYSICS3D #if DEBUGX_ENABLE_PHYSICS3D
#region RaycastHit #region RaycastHit
[IN(LINE)] [IN(LINE)]
public DrawHandler RaycastHit(RaycastHit hit) public DrawHandler RaycastHit(RaycastHit hit)
@ -131,7 +130,6 @@ namespace DCFApixels
#endif #endif
#if DEBUGX_ENABLE_PHYSICS2D #if DEBUGX_ENABLE_PHYSICS2D
#region RaycastHit2D #region RaycastHit2D
[IN(LINE)] [IN(LINE)]
public DrawHandler RaycastHit(RaycastHit2D hit) public DrawHandler RaycastHit(RaycastHit2D hit)

View File

@ -1,27 +0,0 @@
using UnityEngine;
namespace DCFApixels.DebugXCore
{
public static class ValidationUtils
{
public static Quaternion CheckQuaternionOrDefault(this Quaternion quaternion)
{
float sqrMagnitude = quaternion.x * quaternion.x + quaternion.y * quaternion.y + quaternion.z * quaternion.z + quaternion.w * quaternion.w;
if (float.IsNaN(sqrMagnitude) || (sqrMagnitude < float.Epsilon))
{
return Quaternion.identity;
}
return quaternion;
}
public static Vector3 CheckNormalOrDefault(this Vector3 normal)
{
float sqrMagnitude = normal.sqrMagnitude;
if (float.IsNaN(sqrMagnitude) || (sqrMagnitude < float.Epsilon))
{
return Vector3.forward;
}
return normal;
}
}
}

View File

@ -1,2 +0,0 @@
fileFormatVersion: 2
guid: cfcf280d995044a46b559a8da9d2f25d

View File

@ -26,7 +26,7 @@ namespace DCFApixels.DebugXCore.Samples
int i = -1; int i = -1;
const float RADIUS_M = 0.5f; const float RADIUS_M = 0.5f;
i++; DebugX.Draw(GetColor(Points[i])).BillboardCross(Points[i].position, Points[i].localScale.x); i++; DebugX.Draw(GetColor(Points[i])).Cross(Points[i].position, Points[i].localScale.x);
i++; DebugX.Draw(GetColor(Points[i])).BillboardCircle(Points[i].position, Points[i].localScale.x * RADIUS_M); i++; DebugX.Draw(GetColor(Points[i])).BillboardCircle(Points[i].position, Points[i].localScale.x * RADIUS_M);
i++; DebugX.Draw(GetColor(Points[i])).WireMesh<SphereMesh>(Points[i].position, Points[i].rotation, Points[i].localScale * RADIUS_M); i++; DebugX.Draw(GetColor(Points[i])).WireMesh<SphereMesh>(Points[i].position, Points[i].rotation, Points[i].localScale * RADIUS_M);
i++; DebugX.Draw(GetColor(Points[i])).Text(Points[i].position, Points[i].name, DebugXTextSettings.WorldSpaceScale.SetSize(26).SetBackground(TextBackgroundColor)); i++; DebugX.Draw(GetColor(Points[i])).Text(Points[i].position, Points[i].name, DebugXTextSettings.WorldSpaceScale.SetSize(26).SetBackground(TextBackgroundColor));