EditInteractiveOverlay¶
Namespace: ThinkGeo.Core
This class inherits from InterativeOverlay abstract class. This specified overlay describle the EditShape interative process with MapControl using Mouse or Keyborad.
public class EditInteractiveOverlay : InteractiveOverlay, System.IDisposable
Inheritance Object → Overlay → InteractiveOverlay → EditInteractiveOverlay
Implements IDisposable
Properties¶
PolygonTrackMode¶
public PolygonTrackMode PolygonTrackMode { get; set; }
Property Value¶
EditShapesLayer¶
This property gets the InMemoryFeatureLayer which holds the edit shapes.
public InMemoryFeatureLayer EditShapesLayer { get; }
Property Value¶
InMemoryFeatureLayer
EditsInProcessLayer¶
public InMemoryFeatureLayer EditsInProcessLayer { get; }
Property Value¶
InMemoryFeatureLayer
SelectedEditsInProcessLayer¶
public InMemoryFeatureLayer SelectedEditsInProcessLayer { get; }
Property Value¶
InMemoryFeatureLayer
DragControlPointsLayer¶
This property gets the InMemoryFeatureLayer which holds the control points for drag.
public InMemoryFeatureLayer DragControlPointsLayer { get; }
Property Value¶
InMemoryFeatureLayer
Remarks:
Every control points for drag are not the existing vertex of the edit shapes.
RotateControlPointsLayer¶
This property gets the InMemoryFeatureLayer which holds the control points for rotate.
public InMemoryFeatureLayer RotateControlPointsLayer { get; }
Property Value¶
InMemoryFeatureLayer
Remarks:
Every control points for rotate are not the existing vertex of the edit shapes.
ResizeControlPointsLayer¶
This property gets the InMemoryFeatureLayer which holds the control points for resize.
public InMemoryFeatureLayer ResizeControlPointsLayer { get; }
Property Value¶
InMemoryFeatureLayer
Remarks:
Every control points for resize are not the existing vertex of the edit shapes.
ExistingControlPointsLayer¶
This property gets the InMemoryFeatureLayer which holds the control points which represents the existing vertices of the edit shapes.
public InMemoryFeatureLayer ExistingControlPointsLayer { get; }
Property Value¶
InMemoryFeatureLayer
Remarks:
Every control points in this layer are the existing vertices of the edit shapes.
SelectedControlPointLayer¶
public InMemoryFeatureLayer SelectedControlPointLayer { get; }
Property Value¶
InMemoryFeatureLayer
CanDrag¶
Gets a value which indicates whether the shape can be dragged.
public bool CanDrag { get; set; }
Property Value¶
CanReshape¶
Gets a value which indicates whether the shape can be reshaped.
public bool CanReshape { get; set; }
Property Value¶
CanResize¶
Gets a value which indicates whether the shape can be resized.
public bool CanResize { get; set; }
Property Value¶
CanRotate¶
Gets a value which indicates whether the shape can be rotated.
public bool CanRotate { get; set; }
Property Value¶
CanAddVertex¶
Gets a value which indicates whether the shape can Add new vertex.
public bool CanAddVertex { get; set; }
Property Value¶
CanRemoveVertex¶
Gets a value which indicates whether the shape can remove a existing vertex.
public bool CanRemoveVertex { get; set; }
Property Value¶
IsEmpty¶
This property indicates whether this overlay is empty or not.
public bool IsEmpty { get; }
Property Value¶
DrawingMarginPercentage¶
This property gets and sets the extra drawing margin as a percentage around the map that draw to ensure that labeling is correct.
public double DrawingMarginPercentage { get; set; }
Property Value¶
This property gets the extra drawing margin as a percentage around the map that
draws to ensure that labeling is correct.
Remarks:
This extra margin that we draw exists so that labels match up if they are partially cut off.
CanRefreshRegion¶
public bool CanRefreshRegion { get; protected set; }
Property Value¶
IsBase¶
public bool IsBase { get; set; }
Property Value¶
Name¶
Gets or sets the name of this overaly.
public string Name { get; set; }
Property Value¶
MapArguments¶
Gets or sets current map information which will be used for calculating mechanism.
public MapArguments MapArguments { get; set; }
Property Value¶
MapArguments
OverlayCanvas¶
Gets or sets the actual canvas which maintains all the visual elements on the overlay.
public Canvas OverlayCanvas { get; set; }
Property Value¶
Canvas
DrawingExceptionMode¶
This property gets and sets the DrawingExceptionMode used when an exception occurs during drawing.
public DrawingExceptionMode DrawingExceptionMode { get; set; }
Property Value¶
DrawingExceptionMode
IsVisible¶
Gets or sets if this overlay is visible.
public bool IsVisible { get; set; }
Property Value¶
Attribution¶
public string Attribution { get; set; }
Property Value¶
AutoRefreshInterval¶
public TimeSpan AutoRefreshInterval { get; set; }
Property Value¶
Constructors¶
EditInteractiveOverlay()¶
public EditInteractiveOverlay()
Methods¶
ResizeFeature(Feature, PointShape, PointShape)¶
This is the method to Resize a feature.
protected Feature ResizeFeature(Feature sourceFeature, PointShape sourceControlPoint, PointShape targetControlPoint)
Parameters¶
sourceFeature
Feature
This parameter specifies the source feature to be resized.
sourceControlPoint
PointShape
This parameter specifes the source control point to resize the feature.
targetControlPoint
PointShape
This parameter specifes the target control point to resize the feature.
Returns¶
Feature
Returns a resized feature.
Exceptions¶
ArgumentNullException
If you pass a null as the sourceControlPoint, we will throw an ArgumentNullException.
ArgumentNullException
If you pass a null as the targetControlPoint, we will throw an ArgumentNullException.
Remarks:
This method is the concrete wrapper for the abstract method ResizeFeatureCore.
As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework.
ResizeFeatureCore(Feature, PointShape, PointShape)¶
This is the Core method of ResizeFeature which encapsulate the logic.
protected Feature ResizeFeatureCore(Feature sourceFeature, PointShape sourceControlPoint, PointShape targetControlPoint)
Parameters¶
sourceFeature
Feature
This parameter specifies the source feature to be resized.
sourceControlPoint
PointShape
This parameter specifes the source control point to resize the feature.
targetControlPoint
PointShape
This parameter specifes the target control point to resize the feature.
Returns¶
Feature
Returns a resized feature.
Exceptions¶
ArgumentNullException
If you pass a null as the sourceControlPoint, we will throw an ArgumentNullException.
ArgumentNullException
If you pass a null as the targetControlPoint, we will throw an ArgumentNullException.
RotateFeature(Feature, PointShape, PointShape)¶
This is the method to Rotate a feature.
protected Feature RotateFeature(Feature sourceFeature, PointShape sourceControlPoint, PointShape targetControlPoint)
Parameters¶
sourceFeature
Feature
This parameter specifies the source feature to be rotated.
sourceControlPoint
PointShape
This parameter specifes the source control point to rotate the feature.
targetControlPoint
PointShape
This parameter specifes the target control point to rotate the feature.
Returns¶
Feature
Returns a rotated feature.
Exceptions¶
ArgumentNullException
If you pass a null as the sourceControlPoint, we will throw an ArgumentNullException.
ArgumentNullException
If you pass a null as the targetControlPoint, we will throw an ArgumentNullException.
Remarks:
This method is the concrete wrapper for the abstract method RotateFeatureCore.
As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework.
RotateFeatureCore(Feature, PointShape, PointShape)¶
This is the Core method of RotateFeature which encapsulate the logic.
protected Feature RotateFeatureCore(Feature sourceFeature, PointShape sourceControlPoint, PointShape targetControlPoint)
Parameters¶
sourceFeature
Feature
This parameter specifies the source feature to be rotated.
sourceControlPoint
PointShape
This parameter specifes the source control point to rotate the feature.
targetControlPoint
PointShape
This parameter specifes the target control point to rotate the feature.
Returns¶
Feature
Returns a resized feature.
Exceptions¶
ArgumentNullException
If you pass a null as the sourceControlPoint, we will throw an ArgumentNullException.
ArgumentNullException
If you pass a null as the targetControlPoint, we will throw an ArgumentNullException.
AddVertex(PointShape, Double)¶
This is the method to add vertex from a feature.
protected bool AddVertex(PointShape targetPointShape, double searchingTolerance)
Parameters¶
targetPointShape
PointShape
This parameter specifies the point shape to search the vertex.
searchingTolerance
Double
This parameter specifes the searching tolerance to search the vetex.
Returns¶
Boolean
True if add vertex succeed , other wise return false.
Exceptions¶
ArgumentNullException
If you pass a null as the targetPointShape, we will throw an ArgumentNullException.
ArgumentOutOfRangeException
If you pass a searchingTolerance negative value, we will throw an ArgumentOutOfRangeException.
Remarks:
This method is the concrete wrapper for the abstract method AddVertexCore.
As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework.
AddVertexCore(Feature, PointShape, Double)¶
This is the Core method of AddVertex which encapsulate the logic.
protected Feature AddVertexCore(Feature targetFeature, PointShape targetPointShape, double searchingTolerance)
Parameters¶
targetFeature
Feature
This parameter specifies the target feature to be add vertex from.
targetPointShape
PointShape
This parameter specifies the target vertex to be added.
searchingTolerance
Double
This parameter specifes the searching tolerance to search the vetex.
Returns¶
Feature
Returns a vertex added feature.
Exceptions¶
ArgumentNullException
If you pass a null as the targetPointShape, we will throw an ArgumentNullException.
ArgumentOutOfRangeException
If you pass a searchingTolerance negative value, we will throw an ArgumentOutOfRangeException.
MoveVertex(Feature, PointShape, PointShape)¶
This is the method to move vertex from a feature.
protected Feature MoveVertex(Feature sourceFeature, PointShape sourceControlPoint, PointShape targetControlPoint)
Parameters¶
sourceFeature
Feature
This parameter specifies the source feature to be move vertex from.
sourceControlPoint
PointShape
This parameter specifes the source control point to move vertex from the feature.
targetControlPoint
PointShape
This parameter specifes the target control point to move vertex from the feature.
Returns¶
Feature
Returns a rotated feature.
Exceptions¶
ArgumentNullException
If you pass a null as the sourceControlPoint, we will throw an ArgumentNullException.
ArgumentNullException
If you pass a null as the targetControlPoint, we will throw an ArgumentNullException.
Remarks:
This method is the concrete wrapper for the abstract method MoveVertexCore.
As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework.
MoveVertexCore(Feature, PointShape, PointShape)¶
This is the Core method of MoveVertex which encapsulate the logic.
protected Feature MoveVertexCore(Feature sourceFeature, PointShape sourceControlPoint, PointShape targetControlPoint)
Parameters¶
sourceFeature
Feature
This parameter specifies the source feature to be move vertex from.
sourceControlPoint
PointShape
This parameter specifes the source control point to move vertex from the feature.
targetControlPoint
PointShape
This parameter specifes the target control point to move vertex from the feature.
Returns¶
Feature
Returns a vertex moved feature.
Exceptions¶
ArgumentNullException
If you pass a null as the sourceControlPoint, we will throw an ArgumentNullException.
ArgumentNullException
If you pass a null as the targetControlPoint, we will throw an ArgumentNullException.
RemoveVertex(PointShape, Double)¶
This is the method to remove vertex from a feature.
protected bool RemoveVertex(PointShape targetPointShape, double searchingTolerance)
Parameters¶
targetPointShape
PointShape
This parameter specifies the point shape to search the vertex.
searchingTolerance
Double
This parameter specifes the searching tolerance to search the vetex.
Returns¶
Boolean
True if remove vertex succeed , other wise return false.
Exceptions¶
ArgumentNullException
If you pass a null as the targetPointShape, we will throw an ArgumentNullException.
ArgumentOutOfRangeException
If you pass a searchingTolerance negative value, we will throw an ArgumentOutOfRangeException.
Remarks:
This method is the concrete wrapper for the abstract method RemoveVertexCore.
As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework.
RemoveVertexCore(Feature, Vertex, Double)¶
This is the Core method of RemoveVertex which encapsulate the logic.
protected Feature RemoveVertexCore(Feature editShapeFeature, Vertex selectedVertex, double searchingTolerance)
Parameters¶
editShapeFeature
Feature
This parameter specifies the target feature to be remove vertex from.
selectedVertex
Vertex
This parameter specifies the selected vertex to search the vertex.
searchingTolerance
Double
This parameter specifes the searching tolerance to search the vetex.
Returns¶
Feature
Returns a vertex removed feature.
Exceptions¶
ArgumentNullException
If you pass a null as the targetPointShape, we will throw an ArgumentNullException.
ArgumentOutOfRangeException
If you pass a searchingTolerance negative value, we will throw an ArgumentOutOfRangeException.
OnFeatureDragging(FeatureDraggingEditInteractiveOverlayEventArgs)¶
This event will be fired before dragging the feature.
protected void OnFeatureDragging(FeatureDraggingEditInteractiveOverlayEventArgs e)
Parameters¶
e
FeatureDraggingEditInteractiveOverlayEventArgs
The FeatureDraggingEditInteractiveOverlayEventArgs passed for the event raised.
OnFeatureDragged(FeatureDraggedEditInteractiveOverlayEventArgs)¶
This event will be fired after dragging the feature.
protected void OnFeatureDragged(FeatureDraggedEditInteractiveOverlayEventArgs e)
Parameters¶
e
FeatureDraggedEditInteractiveOverlayEventArgs
The FeatureDraggedEditInteractiveOverlayEventArgs passed for the event raised.
OnFeatureDropped(FeatureDroppedEditInteractiveOverlayEventArgs)¶
This event will be fired after drop the feature.
protected void OnFeatureDropped(FeatureDroppedEditInteractiveOverlayEventArgs e)
Parameters¶
e
FeatureDroppedEditInteractiveOverlayEventArgs
The FeatureDroppedEditInteractiveOverlayEventArgs passed for the event raised.
OnFeatureResizing(FeatureResizingEditInteractiveOverlayEventArgs)¶
This event will be fired before resizing the feature.
protected void OnFeatureResizing(FeatureResizingEditInteractiveOverlayEventArgs e)
Parameters¶
e
FeatureResizingEditInteractiveOverlayEventArgs
The FeatureResizingEditInteractiveOverlayEventArgs passed for the event raised.
OnFeatureResized(FeatureResizedEditInteractiveOverlayEventArgs)¶
This event will be fired after resizing the feature.
protected void OnFeatureResized(FeatureResizedEditInteractiveOverlayEventArgs e)
Parameters¶
e
FeatureResizedEditInteractiveOverlayEventArgs
The FeatureResizedEditInteractiveOverlayEventArgs passed for the event raised.
OnFeatureRotating(FeatureRotatingEditInteractiveOverlayEventArgs)¶
This event will be fired before rotating the feature.
protected void OnFeatureRotating(FeatureRotatingEditInteractiveOverlayEventArgs e)
Parameters¶
e
FeatureRotatingEditInteractiveOverlayEventArgs
The FeatureRotatingEditInteractiveOverlayEventArgs passed for the event raised.
OnFeatureRotated(FeatureRotatedEditInteractiveOverlayEventArgs)¶
This event will be fired after rotating the feature.
protected void OnFeatureRotated(FeatureRotatedEditInteractiveOverlayEventArgs e)
Parameters¶
e
FeatureRotatedEditInteractiveOverlayEventArgs
The FeatureRotatedEditInteractiveOverlayEventArgs passed for the event raised.
OnControlPointSelecting(ControlPointSelectingEditInteractiveOverlayEventArgs)¶
This event will be fired before control point selected.
protected void OnControlPointSelecting(ControlPointSelectingEditInteractiveOverlayEventArgs e)
Parameters¶
e
ControlPointSelectingEditInteractiveOverlayEventArgs
The ControlPointSelectingEditInteractiveOverlayEventArgs passed for the event raised.
OnControlPointSelected(ControlPointSelectedEditInteractiveOverlayEventArgs)¶
This event will be fired after control point selected.
protected void OnControlPointSelected(ControlPointSelectedEditInteractiveOverlayEventArgs e)
Parameters¶
e
ControlPointSelectedEditInteractiveOverlayEventArgs
The ControlPointSelectedEditInteractiveOverlayEventArgs passed for the event raised.
OnVertexAdding(VertexAddingEditInteractiveOverlayEventArgs)¶
This event will be fired before vertex added to the edit feature.
protected void OnVertexAdding(VertexAddingEditInteractiveOverlayEventArgs e)
Parameters¶
e
VertexAddingEditInteractiveOverlayEventArgs
The VertexAddingEditInteractiveOverlayEventArgs passed for the event raised.
OnVertexAdded(VertexAddedEditInteractiveOverlayEventArgs)¶
This event will be fired after vertex added to the edit feature.
protected void OnVertexAdded(VertexAddedEditInteractiveOverlayEventArgs e)
Parameters¶
e
VertexAddedEditInteractiveOverlayEventArgs
The VertexAddedEditInteractiveOverlayEventArgs passed for the event raised.
OnVertexMoving(VertexMovingEditInteractiveOverlayEventArgs)¶
This event will be fired before moving the feature.
protected void OnVertexMoving(VertexMovingEditInteractiveOverlayEventArgs e)
Parameters¶
e
VertexMovingEditInteractiveOverlayEventArgs
The VertexMovingEditInteractiveOverlayEventArgs passed for the event raised.
OnVertexMoved(VertexMovedEditInteractiveOverlayEventArgs)¶
This event will be fired after moving the feature.
protected void OnVertexMoved(VertexMovedEditInteractiveOverlayEventArgs e)
Parameters¶
e
VertexMovedEditInteractiveOverlayEventArgs
The VertexMovedEditInteractiveOverlayEventArgs passed for the event raised.
OnVertexRemoving(VertexRemovingEditInteractiveOverlayEventArgs)¶
This event will be fired before vertex removed from the edit feature.
protected void OnVertexRemoving(VertexRemovingEditInteractiveOverlayEventArgs e)
Parameters¶
e
VertexRemovingEditInteractiveOverlayEventArgs
The VertexRemovingEditInteractiveOverlayEventArgs passed for the event raised.
OnVertexRemoved(VertexRemovedEditInteractiveOverlayEventArgs)¶
This event will be fired after vertex removed from the edit feature.
protected void OnVertexRemoved(VertexRemovedEditInteractiveOverlayEventArgs e)
Parameters¶
e
VertexRemovedEditInteractiveOverlayEventArgs
The VertexRemovedEditInteractiveOverlayEventArgs passed for the event raised.
SaveStateCore()¶
This method saves overlay state to a byte array.
protected Byte[] SaveStateCore()
Returns¶
Byte[]
A byte array indicates current overlay state.
LoadStateCore(Byte[])¶
This method restore the overlay state back from the specified state.
protected void LoadStateCore(Byte[] state)
Parameters¶
state
Byte[]
This parameter indicates the state for restore the overlay.
OnFeatureEditing(FeatureEditingEditInteractiveOverlayEventArgs)¶
protected void OnFeatureEditing(FeatureEditingEditInteractiveOverlayEventArgs e)
Parameters¶
e
FeatureEditingEditInteractiveOverlayEventArgs
OnFeatureEdited(FeatureEditedEditInteractiveOverlayEventArgs)¶
protected void OnFeatureEdited(FeatureEditedEditInteractiveOverlayEventArgs e)
Parameters¶
e
FeatureEditedEditInteractiveOverlayEventArgs
InitializeCore(MapArguments)¶
protected void InitializeCore(MapArguments mapArguments)
Parameters¶
mapArguments
MapArguments
OpenAsyncCore()¶
protected Task OpenAsyncCore()
Returns¶
DrawAsyncCore(RectangleShape, OverlayRefreshType, CancellationToken)¶
protected Task DrawAsyncCore(RectangleShape targetExtent, OverlayRefreshType overlayRefreshType, CancellationToken cancellationToken)
Parameters¶
targetExtent
RectangleShape
overlayRefreshType
OverlayRefreshType
cancellationToken
CancellationToken
Returns¶
DrawTileAsyncCore(GeoCanvas)¶
protected Task DrawTileAsyncCore(GeoCanvas geoCanvas)
Parameters¶
geoCanvas
GeoCanvas
Returns¶
SetSelectedControlPoint(PointShape, Double)¶
This protected method is to set the control point.
protected bool SetSelectedControlPoint(PointShape targetPointShape, double searchingTolerance)
Parameters¶
targetPointShape
PointShape
This parameter is target point shape we determine to edit.
searchingTolerance
Double
This parameter is the searchinig tolerance to seach the control point.
Returns¶
Boolean
Returns true if control point are found and set correct, other wise, returns false.
Exceptions¶
ArgumentNullException
If you pass a null as the targetPointShape, we will throw an ArgumentNullException.
ArgumentOutOfRangeException
If you pass a minus value for the tolerance, we will throw an ArgumentOutOfRangeException.
SetSelectedControlPointCore(PointShape, Double)¶
This protected virtual method is the Core method of SetSelectedControlPoint API.
protected Feature SetSelectedControlPointCore(PointShape targetPointShape, double searchingTolerance)
Parameters¶
targetPointShape
PointShape
This parameter is target point shape we determine to edit.
searchingTolerance
Double
This parameter is the searchinig tolerance to seach the control point.
Returns¶
Feature
A feature stands for the selected control point.
Exceptions¶
ArgumentNullException
If you pass a null as the targetPointShape, we will throw an ArgumentNullException.
ArgumentOutOfRangeException
If you pass a minus value for the tolerance, we will throw an ArgumentOutOfRangeException.
EndEditing(PointShape)¶
This method End the editing for the interative editing on the feature in the EditShapesLayer. You can override its logic by rewrite its core method.
protected void EndEditing(PointShape targetPointShape)
Parameters¶
targetPointShape
PointShape
This is the targetPointShape possible be used when overriding.
EndEditingCore(PointShape)¶
This is the core method of EndEditing method. This method End the editing for the interative editing on the feature in the EditShapesLayer.
protected void EndEditingCore(PointShape targetPointShape)
Parameters¶
targetPointShape
PointShape
This is the targetPointShape possible be used when overriding.
ClearAllControlPoints()¶
This method clears all control points in corresponding layer.
protected void ClearAllControlPoints()
CalculateAllControlPoints()¶
This method calculates all control points.
public void CalculateAllControlPoints()
Remarks:
First, it will clear all control points. Then it will calculate each control points according to their settings.
CalculateDragControlPoints()¶
This method caculates the Drag control points for all the features in the EditShapesLayer. You can override its logic by rewrite its core method.
protected void CalculateDragControlPoints()
CalculateDragControlPointsCore(Feature)¶
This is the core API for the CalculateDragControlPoints, you can override this method if you want to change its logic.
protected IEnumerable<Feature> CalculateDragControlPointsCore(Feature feature)
Parameters¶
feature
Feature
The target feature to caculate the control point.
Returns¶
IEnumerable<Feature>
A collection of features stands for the Drag control points.
CalculateRotateControlPoints()¶
This method caculates the Rotate control points for all the features in the EditShapesLayer. You can override its logic by rewrite its core method.
protected void CalculateRotateControlPoints()
CalculateRotateControlPointsCore(Feature)¶
This is the core API for the CalculateRotateControlPoints, you can override this method if you want to change its logic.
protected IEnumerable<Feature> CalculateRotateControlPointsCore(Feature feature)
Parameters¶
feature
Feature
The target feature to caculate the control point.
Returns¶
IEnumerable<Feature>
A collection of features stands for the Rotate control points.
CalculateResizeControlPoints()¶
This method caculates the Resize control points for all the features in the EditShapesLayer. You can override its logic by rewrite its core method.
protected void CalculateResizeControlPoints()
CalculateResizeControlPointsCore(Feature)¶
This is the core API for the CalculateResizeControlPoints, you can override this method if you want to change its logic.
protected IEnumerable<Feature> CalculateResizeControlPointsCore(Feature feature)
Parameters¶
feature
Feature
The target feature to caculate the control point.
Returns¶
IEnumerable<Feature>
A collection of features stands for the Resize control points.
CalculateVertexControlPoints()¶
This method caculates the vertex control points for all the features in the EditShapesLayer. You can override its logic by rewrite its core method.
protected void CalculateVertexControlPoints()
CalculateVertexControlPointsCore(Feature)¶
This is the core API for the CalculateVertexControlPoints, you can override this method if you want to change its logic.
protected IEnumerable<Feature> CalculateVertexControlPointsCore(Feature feature)
Parameters¶
feature
Feature
The target feature to caculate the control point.
Returns¶
IEnumerable<Feature>
A collection of features stands for the Vertex control points.
MouseDownCore(InteractionArguments)¶
This overrides the MouseDown logic in its base class InterativeOverlay.
protected InteractiveResult MouseDownCore(InteractionArguments interactionArguments)
Parameters¶
interactionArguments
InteractionArguments
This parameter is the interaction auguments for the method.
Returns¶
InteractiveResult
Interaction results of this method.
Exceptions¶
ArgumentNullException
If you pass a null as the interactionArguments, we will throw an ArgumentNullException.
MouseMoveCore(InteractionArguments)¶
This overrides the MouseMove logic in its base class InterativeOverlay.
protected InteractiveResult MouseMoveCore(InteractionArguments interactionArguments)
Parameters¶
interactionArguments
InteractionArguments
This parameter is the interaction auguments for the method.
Returns¶
InteractiveResult
Interaction results of this method.
Exceptions¶
ArgumentNullException
If you pass a null as the interactionArguments, we will throw an ArgumentNullException.
MouseUpCore(InteractionArguments)¶
This overrides the MouseUp logic in its base class InterativeOverlay.
protected InteractiveResult MouseUpCore(InteractionArguments interactionArguments)
Parameters¶
interactionArguments
InteractionArguments
This parameter is the interaction auguments for the method.
Returns¶
InteractiveResult
Interaction results of this method.
Exceptions¶
ArgumentNullException
If you pass a null as the interactionArguments, we will throw an ArgumentNullException.
ManipulationStartedCore(InteractionArguments)¶
protected InteractiveResult ManipulationStartedCore(InteractionArguments interactionArguments)
Parameters¶
interactionArguments
InteractionArguments
Returns¶
ManipulationDeltaCore(InteractionArguments)¶
protected InteractiveResult ManipulationDeltaCore(InteractionArguments interactionArguments)
Parameters¶
interactionArguments
InteractionArguments
Returns¶
ManipulationCompletedCore(InteractionArguments)¶
protected InteractiveResult ManipulationCompletedCore(InteractionArguments interactionArguments)
Parameters¶
interactionArguments
InteractionArguments
Returns¶
MouseClickCore(InteractionArguments)¶
This overrides the MouseClick logic in its base class.
protected InteractiveResult MouseClickCore(InteractionArguments interactionArguments)
Parameters¶
interactionArguments
InteractionArguments
This parameter is the interaction auguments for the method.
Returns¶
InteractiveResult
Interaction results of this method.
Exceptions¶
ArgumentNullException
If you pass a null as the interactionArguments, we will throw an ArgumentNullException.
MouseDoubleClickCore(InteractionArguments)¶
This overrides the MouseDoubleClick logic in its base class InterativeOverlay.
protected InteractiveResult MouseDoubleClickCore(InteractionArguments interactionArguments)
Parameters¶
interactionArguments
InteractionArguments
This parameter is the interaction auguments for the method.
Returns¶
InteractiveResult
Interaction results of this method.
Exceptions¶
ArgumentNullException
If you pass a null as the interactionArguments, we will throw an ArgumentNullException.
DragFeature(Feature, PointShape, PointShape)¶
This is the method to Drag a feature.
protected Feature DragFeature(Feature sourceFeature, PointShape sourceControlPoint, PointShape targetControlPoint)
Parameters¶
sourceFeature
Feature
This parameter specifies the source feature to be dragged.
sourceControlPoint
PointShape
This parameter specifes the source control point to drag the feature.
targetControlPoint
PointShape
This parameter specifes the target control point to drag the feature.
Returns¶
Feature
Returns a dragged feature.
Exceptions¶
ArgumentNullException
If you pass a null as the sourceControlPoint, we will throw an ArgumentNullException.
ArgumentNullException
If you pass a null as the targetControlPoint, we will throw an ArgumentNullException.
Remarks:
This method is the concrete wrapper for the abstract method DragFeatureCore.
As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework.
DragFeatureCore(Feature, PointShape, PointShape)¶
This is the Core method of DragFeature which encapsulate the logic.
protected Feature DragFeatureCore(Feature sourceFeature, PointShape sourceControlPoint, PointShape targetControlPoint)
Parameters¶
sourceFeature
Feature
This parameter specifies the source feature to be dragged.
sourceControlPoint
PointShape
This parameter specifes the source control point to drag the feature.
targetControlPoint
PointShape
This parameter specifes the target control point to drag the feature.
Returns¶
Feature
Returns a dragged feature.
Exceptions¶
ArgumentNullException
If you pass a null as the sourceControlPoint, we will throw an ArgumentNullException.
ArgumentNullException
If you pass a null as the targetControlPoint, we will throw an ArgumentNullException.
Events¶
FeatureDragged¶
This event will be fired after drag the feature.
public event EventHandler<FeatureDraggedEditInteractiveOverlayEventArgs> FeatureDragged;
FeatureDragging¶
This event will be fired before drag the feature.
public event EventHandler<FeatureDraggingEditInteractiveOverlayEventArgs> FeatureDragging;
FeatureDropped¶
This event will be fired after drop the feature.
public event EventHandler<FeatureDroppedEditInteractiveOverlayEventArgs> FeatureDropped;
FeatureResized¶
This event will be fired after resize the feature.
public event EventHandler<FeatureResizedEditInteractiveOverlayEventArgs> FeatureResized;
FeatureResizing¶
This event will be fired before resize the feature.
public event EventHandler<FeatureResizingEditInteractiveOverlayEventArgs> FeatureResizing;
FeatureRotated¶
This event will be fired after rotate the feature.
public event EventHandler<FeatureRotatedEditInteractiveOverlayEventArgs> FeatureRotated;
FeatureRotating¶
This event will be fired before rotate the feature.
public event EventHandler<FeatureRotatingEditInteractiveOverlayEventArgs> FeatureRotating;
VertexAdded¶
This event will be fired after add the vertex.
public event EventHandler<VertexAddedEditInteractiveOverlayEventArgs> VertexAdded;
VertexAdding¶
This event will be fired before add the vertex.
public event EventHandler<VertexAddingEditInteractiveOverlayEventArgs> VertexAdding;
VertexMoved¶
This event will be fired after move the vertex.
public event EventHandler<VertexMovedEditInteractiveOverlayEventArgs> VertexMoved;
VertexMoving¶
This event will be fired before move the vertex.
public event EventHandler<VertexMovingEditInteractiveOverlayEventArgs> VertexMoving;
VertexRemoved¶
This event will be fired after remove the vertex.
public event EventHandler<VertexRemovedEditInteractiveOverlayEventArgs> VertexRemoved;
VertexRemoving¶
This event will be fired before remove the vertex.
public event EventHandler<VertexRemovingEditInteractiveOverlayEventArgs> VertexRemoving;
ControlPointSelected¶
This event will be fired after select the control point.
public event EventHandler<ControlPointSelectedEditInteractiveOverlayEventArgs> ControlPointSelected;
ControlPointSelecting¶
This event will be fired before select the control point.
public event EventHandler<ControlPointSelectingEditInteractiveOverlayEventArgs> ControlPointSelecting;
FeatureEditing¶
public event EventHandler<FeatureEditingEditInteractiveOverlayEventArgs> FeatureEditing;
FeatureEdited¶
public event EventHandler<FeatureEditedEditInteractiveOverlayEventArgs> FeatureEdited;
MapMouseDown¶
This event will be fired when Mouse pressed Down on the Map.
public event EventHandler<MapMouseDownInteractiveOverlayEventArgs> MapMouseDown;
MapMouseMove¶
This event will be fired when Mouse moved on the Map.
public event EventHandler<MapMouseMoveInteractiveOverlayEventArgs> MapMouseMove;
MapMouseUp¶
This event will be fired when Mouse released up on the Map.
public event EventHandler<MapMouseUpInteractiveOverlayEventArgs> MapMouseUp;
MapMouseClick¶
This event will be fired when Mouse clicked(mouse up and mouse down in the same postion) on the Map.
public event EventHandler<MapMouseClickInteractiveOverlayEventArgs> MapMouseClick;
MapMouseDoubleClick¶
This event will be fired when Mouse double clicked on the Map.
public event EventHandler<MapMouseDoubleClickInteractiveOverlayEventArgs> MapMouseDoubleClick;
MapMouseWheel¶
This event will be fired when Mouse wheel on the Map.
public event EventHandler<MapMouseWheelInteractiveOverlayEventArgs> MapMouseWheel;
MapMouseLeave¶
Occurs when mouse leave the map canvas.
public event EventHandler<MapMouseLeaveInteractiveOverlayEventArgs> MapMouseLeave;
MapMouseEnter¶
Occurs when mouse enter the map canvas.
public event EventHandler<MapMouseEnterInteractiveOverlayEventArgs> MapMouseEnter;
MapKeyDown¶
Occurs when key down on the map canvas.
public event EventHandler<MapKeyDownInteractiveOverlayEventArgs> MapKeyDown;
MapKeyUp¶
Occurs when key up on the map canvas.
public event EventHandler<MapKeyUpInteractiveOverlayEventArgs> MapKeyUp;
Drawing¶
This event raises before the overlay is drawing.
public event EventHandler<DrawingOverlayEventArgs> Drawing;
Drawn¶
This event raises after the overlay is drawn.
public event EventHandler<DrawnOverlayEventArgs> Drawn;
DrawingAttribution¶
public event EventHandler<DrawingAttributionOverlayEventArgs> DrawingAttribution;
DrawnAttribution¶
public event EventHandler<DrawnAttributionOverlayEventArgs> DrawnAttribution;
ThrowingException¶
public event EventHandler<ThrowingExceptionOverlayEventArgs> ThrowingException;