protected static GeometryDrawing DrawRegion(RegionShape shape) { try { GeometryGroup roiDrawing = new GeometryGroup(); roiDrawing.Children.Add((Geometry)drawPath(shape.Shape, shape.PathPoints)); Pen myPen = new Pen(); myPen.Thickness = 1;// ReconNode.Resolution > 200 ? 1 : 2; myPen.LineJoin = PenLineJoin.Round; myPen.EndLineCap = PenLineCap.Round; LinearGradientBrush myLinearGradientBrush = new LinearGradientBrush(); myLinearGradientBrush.GradientStops.Add(new GradientStop(shape.Pen, 0)); myLinearGradientBrush.GradientStops.Add(new GradientStop(shape.Pen, 1)); myPen.Brush = myLinearGradientBrush; return(new GeometryDrawing( Brushes.Transparent, myPen, roiDrawing )); } catch { return(new GeometryDrawing()); } }
public LatLng GetLocation(int?regionId) { RegionServices regSrv = new RegionServices(); var regions = regSrv.Get(new RegionModel() { RegionId = regionId }); var regions2 = new List <RegionModel>(); foreach (var r in regions) { RegionShape shape = new RegionShape(r.Coordenates.ToArray()); shape.CutEar(); for (int i = 0; i < shape.NumberOfPolygons; i++) { var reg = new RegionModel(); reg.Coordenates = new List <LatLng>(); int nPoints = shape.Polygons(i).Length; for (int j = 0; j < nPoints; j++) //Triangulo { reg.Coordenates.Add(new LatLng() { Lat = shape.Polygons(i)[j].Lat, Lng = shape.Polygons(i)[j].Lng }); } regions2.Add(reg); } } var tRandom = regions2[new Random().Next((regions2.Count - 1))]; return(getRandomPoint(getAreaTriangule(tRandom.Coordenates[0], tRandom.Coordenates[1], tRandom.Coordenates[2]), tRandom.Coordenates[0], tRandom.Coordenates[1], tRandom.Coordenates[2]));//tRandom.Coordenates.ToArray().GetCentroid(); }
void UpdateCurrentShape(RegionShape newValue) { try { if (newValue != null) { if (_currentRegion != null) { imageAdornerLayer.Remove(_currentRegion); } Style thumbStyle = this.Resources["PolygonControlThumbStyle"] as Style; Style anchorThumbStyle = this.Resources["AnchorControlThumbStyle"] as Style; RegionShape region = newValue; RoiAdorner newShape = new RoiAdorner(imageViewXY.backgroundImage, region.Pen, thumbStyle, anchorThumbStyle, true, model3DPane.ImageProperties.SelectedROIsStyle); Binding myBinding = new Binding("ImageProperties.CurrentZoom"); myBinding.Source = model3DPane; newShape.SetBinding(RoiAdorner.ZoomProperty, myBinding); newShape.ChangePathPoints(region.PathPoints); newShape.CurrentShape = region.Shape; newShape.DrawStaticElements(); _currentRegion = newShape; imageAdornerLayer.Add(newShape); } } catch { } }
public ActionResult Regions() { RegionServices regSrv = new RegionServices(); var regions = regSrv.Get(new RegionModel()); var regions2 = new List <RegionModel>(); foreach (var r in regions) { RegionShape shape = new RegionShape(r.Coordenates.ToArray()); shape.CutEar(); for (int i = 0; i < shape.NumberOfPolygons; i++) { var reg = new RegionModel(); reg.Coordenates = new List <LatLng>(); int nPoints = shape.Polygons(i).Length; for (int j = 0; j < nPoints; j++) { reg.Coordenates.Add(new LatLng() { Lat = shape.Polygons(i)[j].Lat, Lng = shape.Polygons(i)[j].Lng }); } regions2.Add(reg); } } RegionServices vesSrv = new RegionServices(); var location = vesSrv.GetLocation(1); return(Json(regions2)); }
public Region(string name, RegionShape type) { region_name = name; region_type = type; region_box_spec = new BoxSpecification(); region_visibility = true; region_color = new System.Windows.Media.Color(); region_color = System.Windows.Media.Color.FromRgb(255, 255, 255); }
private void ChangeCurrentShape(RegionShape shape) { surface.Config.CurrentRegionShape = shape; UpdateCurrentRegionInfo(); }
public RegionInfo(Rectangle area, RegionShape shape) { Area = area; Shape = shape; }