Connect() public static method

Connect two faces.
public static Connect ( FaceConnector a, FaceConnector b ) : void
a FaceConnector
b FaceConnector
return void
Exemplo n.º 1
0
        private void ConnectFace(FaceConnector connector)
        {
            uint          index = connector.HashCode % 0x7e1;
            ConnectorList list  = this.ConnectorTable[index];

            for (FaceConnector connector2 = list.First; connector2 != null; connector2 = connector2.Next)
            {
                if (FaceConnector.AreConnectable(connector, connector2, this.Dimension))
                {
                    list.Remove(connector2);
                    FaceConnector.Connect(connector2, connector);
                    connector2.Face = null;
                    connector.Face  = null;
                    this.ObjectManager.DepositConnector(connector2);
                    this.ObjectManager.DepositConnector(connector);
                    return;
                }
            }
            list.Add(connector);
        }
Exemplo n.º 2
0
        private void ConnectFace(FaceConnector connector)
        {
            uint          num           = connector.HashCode % 2017u;
            ConnectorList connectorList = ConnectorTable[num];

            for (FaceConnector faceConnector = connectorList.First; faceConnector != null; faceConnector = faceConnector.Next)
            {
                if (FaceConnector.AreConnectable(connector, faceConnector, NumOfDimensions))
                {
                    connectorList.Remove(faceConnector);
                    FaceConnector.Connect(faceConnector, connector);
                    faceConnector.Face = null;
                    connector.Face     = null;
                    ObjectManager.DepositConnector(faceConnector);
                    ObjectManager.DepositConnector(connector);
                    return;
                }
            }
            connectorList.Add(connector);
        }
        /// <summary>
        /// Connect faces using a connector.
        /// </summary>
        /// <param name="connector">The connector.</param>
        private void ConnectFace(FaceConnector connector)
        {
            var index = connector.HashCode % Constants.ConnectorTableSize;
            var list  = ConnectorTable[index];

            for (var current = list.First; current != null; current = current.Next)
            {
                if (FaceConnector.AreConnectable(connector, current, NumOfDimensions))
                {
                    list.Remove(current);
                    FaceConnector.Connect(current, connector);
                    current.Face   = null;
                    connector.Face = null;
                    ObjectManager.DepositConnector(current);
                    ObjectManager.DepositConnector(connector);
                    return;
                }
            }

            list.Add(connector);
        }
Exemplo n.º 4
0
        /// <summary>
        /// Connect faces using a connector.
        /// </summary>
        /// <param name="connector"></param>
        void ConnectFace(FaceConnector connector)
        {
            var index = connector.HashCode % ConnectorTableSize;
            var list  = ConnectorTable[index];

            for (var current = list.First; current != null; current = current.Next)
            {
                if (FaceConnector.AreConnectable(connector, current, Dimension))
                {
                    list.Remove(current);
                    FaceConnector.Connect(current, connector);
                    current.Face   = null;
                    connector.Face = null;
                    ConnectorStack.Push(current);
                    ConnectorStack.Push(connector);
                    return;
                }
            }

            list.Add(connector);
        }