public static bool Cast(IPhysicsGeom geom, Vector3 dir, float dist, int layerMask)
        {
            if (geom == null) throw new System.ArgumentNullException("geom");

            RaycastHit hit;
            return geom.Cast(dir, out hit, dist, layerMask);
        }
        public static bool Cast(IPhysicsGeom geom, Vector3 dir)
        {
            if (geom == null) throw new System.ArgumentNullException("geom");

            RaycastHit hit;
            return geom.Cast(dir, out hit, float.PositiveInfinity, Physics.AllLayers);
        }
        public static bool Cast(IPhysicsGeom geom, Vector3 dir, out RaycastHit hitInfo, QueryTriggerInteraction query = QueryTriggerInteraction.UseGlobal)
        {
            if (geom == null)
            {
                throw new System.ArgumentNullException("geom");
            }

            return(geom.Cast(dir, out hitInfo, float.PositiveInfinity, Physics.AllLayers, query));
        }
        public static bool Cast(IPhysicsGeom geom, Vector3 dir, float dist, int layerMask, QueryTriggerInteraction query = QueryTriggerInteraction.UseGlobal)
        {
            if (geom == null)
            {
                throw new System.ArgumentNullException("geom");
            }

            RaycastHit hit;

            return(geom.Cast(dir, out hit, dist, layerMask, query));
        }
        public static bool Cast(IPhysicsGeom geom, Vector3 dir, out RaycastHit hitInfo, float dist)
        {
            if (geom == null) throw new System.ArgumentNullException("geom");

            return geom.Cast(dir, out hitInfo, dist, Physics.AllLayers);
        }