public void PartitionSpaceNodeEventArgsConstructorTest()
 {
     MapSpaceNode partitionSpaceNode = null; // TODO: 初始化为适当的值
     BaseMap map = null; // TODO: 初始化为适当的值
     PartitionSpaceNodeEventArgs target = new PartitionSpaceNodeEventArgs( partitionSpaceNode, map );
     Assert.Inconclusive( "TODO: 实现用来验证目标的代码" );
 }
Beispiel #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="eventArgs"></param>
        public void ProcessPartitionSpaceNode(object sender, PartitionSpaceNodeEventArgs eventArgs)
        {
            if (eventArgs.PartitionSpaceNode.LayerIndex != 0)
            {
                return;
            }

            eventArgs.PartitionSpace = new MapSpaceNode[MAX_NUMBER_OF_CELLS, MAX_NUMBER_OF_CELLS, 0];

            for (int iIndexX = 0; iIndexX < MAX_NUMBER_OF_CELLS; iIndexX++)
            {
                for (int iIndexY = 0; iIndexY < MAX_NUMBER_OF_CELLS; iIndexY++)
                {
                    Point3D startPoint3D = new Point3D();
                    startPoint3D.X = eventArgs.PartitionSpaceNode.SpaceNodeRectangle.Start.X + (iIndexX * SIZE_OF_GRID_CELL);
                    startPoint3D.Y = eventArgs.PartitionSpaceNode.SpaceNodeRectangle.Start.Y + (iIndexY * SIZE_OF_GRID_CELL);
                    startPoint3D.Z = eventArgs.PartitionSpaceNode.SpaceNodeRectangle.Start.Z;

                    Point3D endPoint3D = new Point3D();
                    endPoint3D.X = startPoint3D.X + SIZE_OF_GRID_CELL;
                    endPoint3D.Y = startPoint3D.Y + SIZE_OF_GRID_CELL;
                    endPoint3D.Z = eventArgs.PartitionSpaceNode.SpaceNodeRectangle.End.Z;

                    eventArgs.PartitionSpace[iIndexX, iIndexY, 0] = new MapSpaceNode(new Rectangle3D(startPoint3D, endPoint3D));
                }
            }
        }
        public void PartitionSpaceNodeEventArgsConstructorTest()
        {
            MapSpaceNode partitionSpaceNode = null; // TODO: 初始化为适当的值
            BaseMap      map = null;                // TODO: 初始化为适当的值
            PartitionSpaceNodeEventArgs target = new PartitionSpaceNodeEventArgs(partitionSpaceNode, map);

            Assert.Inconclusive("TODO: 实现用来验证目标的代码");
        }
Beispiel #4
0
        public void ProcessPartitionSpaceNodeTest()
        {
            IPartitionSpaceNode target = CreateIPartitionSpaceNode(); // TODO: 初始化为适当的值
            object sender = null;                                     // TODO: 初始化为适当的值
            PartitionSpaceNodeEventArgs eventArgs = null;             // TODO: 初始化为适当的值

            target.ProcessPartitionSpaceNode(sender, eventArgs);
            Assert.Inconclusive("无法验证不返回值的方法。");
        }
 public void PartitionSpaceNodeTest()
 {
     MapSpaceNode partitionSpaceNode = null; // TODO: 初始化为适当的值
     BaseMap map = null; // TODO: 初始化为适当的值
     PartitionSpaceNodeEventArgs target = new PartitionSpaceNodeEventArgs( partitionSpaceNode, map ); // TODO: 初始化为适当的值
     MapSpaceNode actual;
     actual = target.PartitionSpaceNode;
     Assert.Inconclusive( "验证此测试方法的正确性。" );
 }
        public void PartitionSpaceNodeTest()
        {
            MapSpaceNode partitionSpaceNode = null;                                                        // TODO: 初始化为适当的值
            BaseMap      map = null;                                                                       // TODO: 初始化为适当的值
            PartitionSpaceNodeEventArgs target = new PartitionSpaceNodeEventArgs(partitionSpaceNode, map); // TODO: 初始化为适当的值
            MapSpaceNode actual;

            actual = target.PartitionSpaceNode;
            Assert.Inconclusive("验证此测试方法的正确性。");
        }
        /// <summary>
        ///
        /// </summary>
        public virtual void ProcessPartitionSpace(IPartitionSpaceNode partitionSpaceInterface)
        {
            if (partitionSpaceInterface == null)
            {
                throw new Exception("MapSpaceNode.ProcessPartitionSpace(...) - partitionSpaceInterface == null error!");
            }

            if (this.EventPartitionSpaceNode != null)
            {
                throw new Exception("MapSpaceNode.ProcessPartitionSpace(...) - this.EventPartitionSpaceNode != null error!");
            }

            this.EventInitSpaceNode       += new EventHandler <SpaceNodeEventArgs>(partitionSpaceInterface.InitSpaceNode);
            this.EventPartitionSpaceNode  += new EventHandler <PartitionSpaceNodeEventArgs>(partitionSpaceInterface.ProcessPartitionSpaceNode);
            this.EventActivateSpaceNode   += new EventHandler <ActivateSpaceNodeEventArgs>(partitionSpaceInterface.ActivateSpaceNode);
            this.EventDeactivateSpaceNode += new EventHandler <DeactivateSpaceNodeEventArgs>(partitionSpaceInterface.DeactivateSpaceNode);

            // EventInitSpaceNode
            SpaceNodeEventArgs spaceNodeEventArgs = new SpaceNodeEventArgs(this);

            this.EventInitSpaceNode(this, spaceNodeEventArgs);

            // EventPartitionSpaceNode
            PartitionSpaceNodeEventArgs partitionSpaceNodeEventArgs = new PartitionSpaceNodeEventArgs(this, this.m_Owner);

            this.EventPartitionSpaceNode(this, partitionSpaceNodeEventArgs);

            if (partitionSpaceNodeEventArgs.PartitionSpace != null)
            {
                m_SpaceNodes = partitionSpaceNodeEventArgs.PartitionSpace;

                for (int iIndex0 = 0; iIndex0 < m_SpaceNodes.GetLength(0); iIndex0++)
                {
                    for (int iIndex1 = 0; iIndex1 < m_SpaceNodes.GetLength(1); iIndex1++)
                    {
                        for (int iIndex2 = 0; iIndex2 < m_SpaceNodes.GetLength(2); iIndex2++)
                        {
                            if (m_SpaceNodes[iIndex0, iIndex1, iIndex2] != null)
                            {
                                m_SpaceNodes[iIndex0, iIndex1, iIndex2].RankIndex    = new RankIndex(iIndex0, iIndex1, iIndex2);
                                m_SpaceNodes[iIndex0, iIndex1, iIndex2].Parent       = this;
                                m_SpaceNodes[iIndex0, iIndex1, iIndex2].Owner        = this.Owner;
                                m_SpaceNodes[iIndex0, iIndex1, iIndex2].m_LayerIndex = this.m_LayerIndex + 1;

                                m_SpaceNodes[iIndex0, iIndex1, iIndex2].ProcessPartitionSpace(partitionSpaceInterface);
                            }
                        }
                    }
                }

                m_IsLeaf = false;
            }
        }
        /// <summary>
        /// 
        /// </summary>
        public virtual void ProcessPartitionSpace( IPartitionSpaceNode partitionSpaceInterface )
        {
            if ( partitionSpaceInterface == null )
                throw new Exception( "MapSpaceNode.ProcessPartitionSpace(...) - partitionSpaceInterface == null error!" );

            if ( this.EventPartitionSpaceNode != null )
                throw new Exception( "MapSpaceNode.ProcessPartitionSpace(...) - this.EventPartitionSpaceNode != null error!" );

            this.EventInitSpaceNode += new EventHandler<SpaceNodeEventArgs>( partitionSpaceInterface.InitSpaceNode );
            this.EventPartitionSpaceNode += new EventHandler<PartitionSpaceNodeEventArgs>( partitionSpaceInterface.ProcessPartitionSpaceNode );
            this.EventActivateSpaceNode += new EventHandler<ActivateSpaceNodeEventArgs>( partitionSpaceInterface.ActivateSpaceNode );
            this.EventDeactivateSpaceNode += new EventHandler<DeactivateSpaceNodeEventArgs>( partitionSpaceInterface.DeactivateSpaceNode );

            // EventInitSpaceNode
            SpaceNodeEventArgs spaceNodeEventArgs = new SpaceNodeEventArgs( this );
            this.EventInitSpaceNode( this, spaceNodeEventArgs );

            // EventPartitionSpaceNode
            PartitionSpaceNodeEventArgs partitionSpaceNodeEventArgs = new PartitionSpaceNodeEventArgs( this, this.m_Owner );
            this.EventPartitionSpaceNode( this, partitionSpaceNodeEventArgs );

            if ( partitionSpaceNodeEventArgs.PartitionSpace != null )
            {
                m_SpaceNodes = partitionSpaceNodeEventArgs.PartitionSpace;

                for ( int iIndex0 = 0; iIndex0 < m_SpaceNodes.GetLength( 0 ); iIndex0++ )
                {
                    for ( int iIndex1 = 0; iIndex1 < m_SpaceNodes.GetLength( 1 ); iIndex1++ )
                    {
                        for ( int iIndex2 = 0; iIndex2 < m_SpaceNodes.GetLength( 2 ); iIndex2++ )
                        {
                            if ( m_SpaceNodes[iIndex0, iIndex1, iIndex2] != null )
                            {
                                m_SpaceNodes[iIndex0, iIndex1, iIndex2].RankIndex = new RankIndex( iIndex0, iIndex1, iIndex2 );
                                m_SpaceNodes[iIndex0, iIndex1, iIndex2].Parent = this;
                                m_SpaceNodes[iIndex0, iIndex1, iIndex2].Owner = this.Owner;
                                m_SpaceNodes[iIndex0, iIndex1, iIndex2].m_LayerIndex = this.m_LayerIndex + 1;

                                m_SpaceNodes[iIndex0, iIndex1, iIndex2].ProcessPartitionSpace( partitionSpaceInterface );
                            }
                        }
                    }
                }

                m_IsLeaf = false;
            }
        }
        /// <summary>
        /// 
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="eventArgs"></param>
        public void ProcessPartitionSpaceNode( object sender, PartitionSpaceNodeEventArgs eventArgs )
        {
            if ( eventArgs.PartitionSpaceNode.LayerIndex != 0 )
                return;

            eventArgs.PartitionSpace = new MapSpaceNode[MAX_NUMBER_OF_CELLS, MAX_NUMBER_OF_CELLS, 0];

            for ( int iIndexX = 0; iIndexX < MAX_NUMBER_OF_CELLS; iIndexX++ )
            {
                for ( int iIndexY = 0; iIndexY < MAX_NUMBER_OF_CELLS; iIndexY++ )
                {
                    Point3D startPoint3D = new Point3D();
                    startPoint3D.X = eventArgs.PartitionSpaceNode.SpaceNodeRectangle.Start.X + ( iIndexX * SIZE_OF_GRID_CELL );
                    startPoint3D.Y = eventArgs.PartitionSpaceNode.SpaceNodeRectangle.Start.Y + ( iIndexY * SIZE_OF_GRID_CELL );
                    startPoint3D.Z = eventArgs.PartitionSpaceNode.SpaceNodeRectangle.Start.Z;

                    Point3D endPoint3D = new Point3D();
                    endPoint3D.X = startPoint3D.X + SIZE_OF_GRID_CELL;
                    endPoint3D.Y = startPoint3D.Y + SIZE_OF_GRID_CELL;
                    endPoint3D.Z = eventArgs.PartitionSpaceNode.SpaceNodeRectangle.End.Z;

                    eventArgs.PartitionSpace[iIndexX, iIndexY, 0] = new MapSpaceNode( new Rectangle3D( startPoint3D, endPoint3D ) );
                }
            }
        }