All pastes #485586 Raw Edit

Anonymous

public text v1 · immutable
·published 2007-05-13 02:44 UTC
rendered paste body
public override Vector3 ReflectRayAtPoint(Vector3 incoming, Vector3 intersection)
        {
            float dotA = Vector3.Dot(plane.Normal, incoming);

            Vector3 r;

            if (dotA < 0)
                r = Vector3.Reflect(incoming, plane.Normal);
            else
                r = Vector3.Reflect(incoming, -plane.Normal);

            r.Normalize();
            return r;
        }

        public override Vector3 GetNormalToPoint(Vector3 point)
        {
            float dotA = Vector3.Dot(plane.Normal, point);

            if (dotA < 0)
                return plane.Normal;
            else
                return -plane.Normal;
        }