Beispiel #1
0
        private void ApplyLocalChunk(CoordinateGroup group, string value, bool primary)
        {
            group.LocalChunk = ParseInt(value);
            ApplyValueToTextBox(group.LocalChunkBox, value, primary);

            if (primary && group.LocalChunk.HasValue)
            {
                if (group.Region.HasValue)
                {
                    ApplyChunk(group, ChunkFromLocalChunk(group.Region.Value, group.LocalChunk.Value), false);
                    if (group.LocalBlock.HasValue && !group.LocalBlockBox.WatermarkActive)
                    {
                        ApplyBlock(group,
                                   BlockFromLocalBlock(group.Region.Value, group.LocalChunk.Value, group.LocalBlock.Value),
                                   false);
                    }
                    else
                    {
                        ApplyBlock(group, BlockFromLocalChunk(group.Region.Value, group.LocalChunk.Value), false);
                        ApplyLocalBlock(group, LocalBlockFromLocalChunk(group.Region.Value, group.LocalChunk.Value),
                                        false);
                    }
                }
                else
                {
                    ApplyRegion(group, RegionFromLocalChunk(group.LocalChunk.Value), false);
                    ApplyChunk(group, ChunkFromLocalChunk(group.LocalChunk.Value), false);
                    ApplyBlock(group, BlockFromLocalChunk(group.LocalChunk.Value), false);
                    ApplyLocalBlock(group, LocalBlockFromLocalChunk(group.LocalChunk.Value), false);
                }
            }
        }
Beispiel #2
0
        public FindBlock(DataNode searchRoot)
        {
            InitializeComponent();

            _searchRoot = searchRoot;

            _groupX = new CoordinateGroup
            {
                RegionBox     = _regionXTextBox,
                ChunkBox      = _chunkXTextBox,
                BlockBox      = _blockXTextBox,
                LocalChunkBox = _localChunkXTextBox,
                LocalBlockBox = _localBlockXTextBox
            };

            _groupZ = new CoordinateGroup
            {
                RegionBox     = _regionZTextBox,
                ChunkBox      = _chunkZTextBox,
                BlockBox      = _blockZTextBox,
                LocalChunkBox = _localChunkZTextBox,
                LocalBlockBox = _localBlockZTextBox
            };

            ApplyRegion(_groupX, "0", true);
            ApplyRegion(_groupZ, "0", true);

            Validate();
        }
Beispiel #3
0
 public SlotShapeCollections(float Dia, int Torder, CoordinateGroup startpointGP, CoordinateGroup endpointGP)
 {
     DriBitDia             = Dia;
     TOrder                = Torder;
     _startCoordinateGroup = startpointGP;
     EndCoordinateGroup    = endpointGP;
 }
Beispiel #4
0
        private bool IsStop(CoordinateGroup coordinateGroup)
        {
            var mid = new Coordinate()
            {
                Latitude  = coordinateGroup.Coordinates.Average(c => c.Latitude),
                Longitude = coordinateGroup.Coordinates.Average(c => c.Longitude),
            };
            var averageDist =
                coordinateGroup.Coordinates.Average(
                    c =>
                    PointDistance(new Point()
            {
                X = c.Longitude, Y = c.Latitude
            },
                                  new Point()
            {
                X = mid.Longitude, Y = mid.Latitude
            }));

            return(averageDist <
                   MaxLatLongVariance);
            //return
            //    (coordinateGroup.AzimuthVariance > MaxAzimuthVariance &&
            //       coordinateGroup.SpeedVariance > MaxSpeedVariance) ||
            //  (coordinateGroup.LatitudeVariance < MaxLatLongVariance && coordinateGroup.LongitudeVariance<MaxLatLongVariance);
        }
Beispiel #5
0
        public FindBlock(DataNode searchRoot)
        {
            InitializeComponent();

            inputDistance = groupBox1.Width - _regionXTextBox.Width;

            FormResize();

            _searchRoot = searchRoot;

            _groupX = new CoordinateGroup()
            {
                RegionBox     = _regionXTextBox,
                ChunkBox      = _chunkXTextBox,
                BlockBox      = _blockXTextBox,
                LocalChunkBox = _localChunkXTextBox,
                LocalBlockBox = _localBlockXTextBox,
            };

            _groupZ = new CoordinateGroup()
            {
                RegionBox     = _regionZTextBox,
                ChunkBox      = _chunkZTextBox,
                BlockBox      = _blockZTextBox,
                LocalChunkBox = _localChunkZTextBox,
                LocalBlockBox = _localBlockZTextBox,
            };

            ApplyRegion(_groupX, "0", true);
            ApplyRegion(_groupZ, "0", true);
            Validate();
        }
Beispiel #6
0
 public HoleShapeCollections(float dia, int tOrder, CoordinateGroup coordgp)
 {
     HoleSize          = dia;
     this.TOrder       = tOrder;
     xyCoordinateGroup = coordgp;
     count             = xyCoordinateGroup.GetCoordinateCount();
 }
Beispiel #7
0
        public FindBlock (DataNode searchRoot)
        {
            InitializeComponent();

            _searchRoot = searchRoot;

            _groupX = new CoordinateGroup() {
                RegionBox = _regionXTextBox,
                ChunkBox = _chunkXTextBox,
                BlockBox = _blockXTextBox,
                LocalChunkBox = _localChunkXTextBox,
                LocalBlockBox = _localBlockXTextBox,
            };

            _groupZ = new CoordinateGroup() {
                RegionBox = _regionZTextBox,
                ChunkBox = _chunkZTextBox,
                BlockBox = _blockZTextBox,
                LocalChunkBox = _localChunkZTextBox,
                LocalBlockBox = _localBlockZTextBox,
            };

            ApplyRegion(_groupX, "0", true);
            ApplyRegion(_groupZ, "0", true);

            Validate();
        }
Beispiel #8
0
        protected void GeneratorHoleGroup(float size, int tOrder, List <PointF> pointFArray)
        {
            PointF[] temPointFs = pointFArray.ToArray();
            var      xyCoordgp  = new CoordinateGroup(temPointFs);
            var      hs         = new HoleShapeCollections(size, tOrder, xyCoordgp);

            HoleList.Add(hs);
            pointFArray.Clear();
        }
Beispiel #9
0
        private void ApplyBlock(CoordinateGroup group, string value, bool primary)
        {
            group.Block = ParseInt(value);
            ApplyValueToTextBox(group.BlockBox, value, primary);

            if (primary && group.Block.HasValue)
            {
                ApplyRegion(group, RegionFromBlock(group.Block.Value), false);
                ApplyChunk(group, ChunkFromBlock(group.Block.Value), false);
                ApplyLocalChunk(group, LocalChunkFromBlock(group.Block.Value), false);
                ApplyLocalBlock(group, LocalBlockFromBlock(group.Block.Value), false);
            }
        }
Beispiel #10
0
        private CoordinateGroup MergeStops(IEnumerable <CoordinateGroup> stops)
        {
            var result = new CoordinateGroup()
            {
                Coordinates = new List <Coordinate>(),
                IsStop      = true
            };

            foreach (var coordinateGroup in stops)
            {
                result.Coordinates.AddRange(coordinateGroup.Coordinates);
            }
            return(result);
        }
        private CoordinateGroup[] CreateCoordinateGroups(
            int groupCount, 
            Dictionary<BoardCoordinate, int> groupPerCoordinate)
        {
            var coordinateGroups = new CoordinateGroup[groupCount];
            foreach (BoardCoordinate coordinate in groupPerCoordinate.Keys)
            {
                int groupId = groupPerCoordinate[coordinate];
                if (coordinateGroups[groupId] == null)
                    coordinateGroups[groupId] = new CoordinateGroup();

                coordinateGroups[groupId].Add(coordinate);
            }
            return coordinateGroups;
        }
Beispiel #12
0
        private void ApplyLocalBlock (CoordinateGroup group, string value, bool primary)
        {
            group.LocalBlock = ParseInt(value);
            ApplyValueToTextBox(group.LocalBlockBox, value, primary);

            if (primary && group.LocalBlock.HasValue) {
                if (group.Region.HasValue && group.LocalChunk.HasValue && !group.LocalChunkBox.WatermarkActive) {
                    ApplyChunk(group, ChunkFromLocalBlock(group.Region.Value, group.LocalChunk.Value, group.LocalBlock.Value), false);
                    ApplyBlock(group, BlockFromLocalBlock(group.Region.Value, group.LocalChunk.Value, group.LocalBlock.Value), false);
                }
                else {
                    ApplyRegion(group, RegionFromLocalBlock(group.LocalBlock.Value), false);
                    ApplyChunk(group, ChunkFromLocalBlock(group.LocalBlock.Value), false);
                    ApplyBlock(group, BlockFromLocalBlock(group.LocalBlock.Value), false);
                }
            }
        }
Beispiel #13
0
        private void ApplyBlock (CoordinateGroup group, string value, bool primary)
        {
            group.Block = ParseInt(value);
            ApplyValueToTextBox(group.BlockBox, value, primary);

            if (primary && group.Block.HasValue) {
                ApplyRegion(group, RegionFromBlock(group.Block.Value), false);
                ApplyChunk(group, ChunkFromBlock(group.Block.Value), false);
                ApplyLocalChunk(group, LocalChunkFromBlock(group.Block.Value), false);
                ApplyLocalBlock(group, LocalBlockFromBlock(group.Block.Value), false);
            }
        }