Пример #1
0
        private void validateFloor()
        {
            if (_floorUpper == Vector3.Empty)
            {
                _floorUpper = new Vector3(0, 1, 0);
            }
            if (_floorParallel == Vector3.Empty)
            {
                _floorParallel = new Vector3(1, 0, 0);
            }
            _floorUpper.Normalize();
            _floorParallel.Normalize();
            float diff = Vector3.Dot(_floorUpper, _floorParallel);

            if (diff == 0)
            {
                _floorParallel = VectorEx.GetOneOfNormals(_floorUpper);
            }
            else
            {
                _floorParallel -= FloorUpper * diff;
                _floorParallel.Normalize();
            }
        }