예제 #1
0
        public static Vector3 Axis(Vector3.Axis axis)
        {
            switch (axis)
            {
            case Godot.Vector3.Axis.X:
                return(Rotate90);

            case Godot.Vector3.Axis.Y:
                return(Godot.Vector3.Up);

            case Godot.Vector3.Axis.Z:
            default:
                return(Godot.Vector3.Zero);
            }
        }
예제 #2
0
        public static Interval Range(this Box3 @this, Vector3.Axis axis)
        {
            switch (axis)
            {
            case Vector3.Axis.X:
                return(@this.XRange);

            case Vector3.Axis.Y:
                return(@this.YRange);

            case Vector3.Axis.Z:
                return(@this.ZRange);

            default:
                throw new ArgumentOutOfRangeException("Invalid 3D axis " + axis.ToString());
            }
        }
예제 #3
0
파일: AABB.cs 프로젝트: xKamuna/godot
        public Vector3.Axis GetShortestAxisIndex()
        {
            Vector3.Axis axis     = Vector3.Axis.X;
            real_t       max_size = size.x;

            if (size.y < max_size)
            {
                axis     = Vector3.Axis.Y;
                max_size = size.y;
            }

            if (size.z < max_size)
            {
                axis     = Vector3.Axis.Z;
                max_size = size.z;
            }

            return(axis);
        }
예제 #4
0
        public Vector3.Axis get_shortest_axis_index()
        {
            Vector3.Axis axis     = Vector3.Axis.X;
            float        max_size = size.x;

            if (size.y < max_size)
            {
                axis     = Vector3.Axis.Y;
                max_size = size.y;
            }

            if (size.z < max_size)
            {
                axis     = Vector3.Axis.Z;
                max_size = size.z;
            }

            return(axis);
        }
예제 #5
0
        public Vector3.Axis GetLongestAxisIndex()
        {
            Vector3.Axis axis     = Vector3.Axis.X;
            float        max_size = size.x;

            if (size.y > max_size)
            {
                axis     = Vector3.Axis.Y;
                max_size = size.y;
            }

            if (size.z > max_size)
            {
                axis     = Vector3.Axis.Z;
                max_size = size.z;
            }

            return(axis);
        }