Example #1
0
    private static IAABBNode GetNextByHeuristice(IAABBNode CurrentObject, Vector3 areabounds)
    {
        float DistanceLeft  = -1;//TODO: Refactor this
        float DistanceRight = -1;

        DistanceLeft  = DistanceApproximation.DistanceTaxiCab(CurrentObject.Left.Bounds.Center, areabounds);
        DistanceRight = DistanceApproximation.DistanceTaxiCab(CurrentObject.Right.Bounds.Center, areabounds);
        if (DistanceLeft >= DistanceRight)
        {
            CurrentObject = CurrentObject.Right;
        }
        else
        {
            CurrentObject = CurrentObject.Left;
        }

        return(CurrentObject);
    }
        private AABBNode GetNextByHeuristic(AABBNode myNewNode, AABBNode CurrentObject)
        {
            float DistanceLeft  = -1;
            float DistanceRight = -1;

            DistanceLeft  = DistanceApproximation.DistanceTaxiCab(CurrentObject.Left.myBox.Center, myNewNode.myBox.Center);
            DistanceRight = DistanceApproximation.DistanceTaxiCab(CurrentObject.Right.myBox.Center, myNewNode.myBox.Center);
            AABBNode Closest;

            if (DistanceLeft >= DistanceRight)
            {
                CurrentObject = CurrentObject.Right;
            }
            else
            {
                CurrentObject = CurrentObject.Left;
            }

            return(CurrentObject);
        }