コード例 #1
0
        private Face GetClosestAdjacentFace(Cuboid thisCuboid, List <Cuboid> otherCuboids, out int?thisFaceIndex)
        {
            thisFaceIndex = null;
            thatFace      = null;
            float currentDistance, minDistance = float.MaxValue; int currentThisIndex, currentThatIndex;

            for (int i = 0; i < otherCuboids.Count; i++)
            {
                currentDistance = Cuboid.GetClosedFaces(thisCuboid, otherCuboids[i], m_Settings.SnappingDistance, out currentThisIndex, out currentThatIndex);
                if (currentDistance >= 0 && currentDistance < minDistance)
                {
                    minDistance   = currentDistance;
                    thisFaceIndex = currentThisIndex;
                    thatFace      = otherCuboids[i].Faces[currentThatIndex];
                }
            }
            return(thatFace);
        }