44 lines
1.5 KiB
C#
44 lines
1.5 KiB
C#
#if UNITY_EDITOR
|
|
using UnityEngine;
|
|
|
|
namespace O3DWB
|
|
{
|
|
public class MeshRayHit
|
|
{
|
|
#region Private Variables
|
|
private Ray _ray;
|
|
private float _hitEnter;
|
|
private Octave3DMesh _hitMesh;
|
|
private Octave3DMeshCollider _hitCollider;
|
|
private int _hitTraingleIndex;
|
|
private Vector3 _hitPoint;
|
|
private Vector3 _hitNormal;
|
|
#endregion
|
|
|
|
#region Public Properties
|
|
public Ray Ray { get { return _ray; } }
|
|
public float HitEnter { get { return _hitEnter; } }
|
|
public Octave3DMesh HitMesh { get { return _hitMesh; } }
|
|
public Octave3DMeshCollider HitCollider { get { return _hitCollider; } }
|
|
public int HitTriangleIndex { get { return _hitTraingleIndex; } }
|
|
public Vector3 HitPoint { get { return _hitPoint; } }
|
|
public Vector3 HitNormal { get { return _hitNormal; } }
|
|
#endregion
|
|
|
|
#region Constructors
|
|
public MeshRayHit(Ray ray, float hitEnter, Octave3DMesh hitMesh, int hitTriangleIndex, Vector3 hitPoint, Vector3 hitNormal, TransformMatrix meshTransformMatrix)
|
|
{
|
|
_ray = ray;
|
|
_hitEnter = hitEnter;
|
|
_hitMesh = hitMesh;
|
|
_hitCollider = new Octave3DMeshCollider(_hitMesh, meshTransformMatrix);
|
|
_hitTraingleIndex = hitTriangleIndex;
|
|
_hitPoint = hitPoint;
|
|
|
|
_hitNormal = hitNormal;
|
|
_hitNormal.Normalize();
|
|
}
|
|
#endregion
|
|
}
|
|
}
|
|
#endif |