public override void RecreateFromXml(LayerEditor parentLayer, XElement xml) { base.RecreateFromXml(parentLayer, xml); _editorMode = ItemEditorMode.Created; ParentLayer = parentLayer; _properties = xml.Element(@"ConvexHullProperties").DeserializedAs <ConvexHullProperties>( ); WhenUpdatedByUi( ); }
public override void CreateInDesignMode(LayerEditor parentLayer, IEntityCreationProperties creationProperties) { _editorMode = ItemEditorMode.Creating; Vector2 mouseWorldPos = MouseStatus.WorldPosition; _properties = new ConvexHullProperties { Visible = true, Position = mouseWorldPos, WorldPoints = new List <Vector2>(), LocalPoints = new List <Vector2>(), Opacity = 1f, }; ParentLayer = parentLayer; var shapeSelectionForm = new ShapeSelectionForm( v => { _properties.WorldPoints.Clear( ); _properties.LocalPoints.Clear( ); v.ForEach(vt => addWorldPoint(mouseWorldPos + vt)); WhenUpdatedByUi( ); }) { TopLevel = true }; shapeSelectionForm.FormClosed += (s, e) => { if (shapeSelectionForm.Action == DialogResult.OK) { _editorMode = ItemEditorMode.Created; PreviewEndedReadyForCreation(this, EventArgs.Empty); } }; shapeSelectionForm.Show(); summonMainForm( ).SetToolStripStatusLabel1(Resource1.PreShapedHull_Entered); }
public static void ProcessLayer(ObjectLayer layer) { foreach (var io in layer.Objects) { var correspondingEllipse = CorrespondingEllipse.FromContour(io.Contour); io.SetFeature("MajorAxisOfCorrespondingEllipse", new MajorAxisOfCorrespondingEllipse(correspondingEllipse).Value); io.SetFeature("MinorAxisOfCorrespondingEllipse", new MinorAxisOfCorrespondingEllipse(correspondingEllipse).Value); ConvexHull ch = ConvexHull.FromContour(io.Contour); ConvexHullProperties chp = ConvexHullProperties.FromConvexHull(ch); ContourProperties cp = ContourProperties.FromContour(io.Contour); AreaOfContour ac = new AreaOfContour(cp); AreaOfConvexHull ach = new AreaOfConvexHull(chp); io.SetFeature("FormFactor", cp.FormFactor); io.SetFeature("Area", cp.Area); io.SetFeature("Convexity", cp.Convexity); io.SetFeature("AreaHull", ach.Value); io.SetFeature("AreaDiv", ach.Value / cp.Area); io.SetFeature("FormFactorOfConvexHull", new FormFactorOfConvexHull(chp).Value); } }
public override void CreateInDesignMode(LayerEditor parentLayer, IEntityCreationProperties creationProperties) { _editorMode = ItemEditorMode.Creating; Vector2 mouseWorldPos = MouseStatus.WorldPosition; _properties = new ConvexHullProperties { Visible = true, Position = mouseWorldPos, WorldPoints = new List <Vector2>(), LocalPoints = new List <Vector2>(), Opacity = 1f, }; addWorldPoint(mouseWorldPos); summonMainForm( ).SetToolStripStatusLabel1(Resource1.Path_Entered); ParentLayer = parentLayer; WhenUpdatedByUi( ); }
public ConvexHullEditor( ) { _properties = new ConvexHullProperties( ); }
public PreShapedConvexHullEditor( ) { _properties = new ConvexHullProperties( ); }