# OpenLayers.Control.TransformFeature

Control to transform features with a standard transformation box.

#### Inherits From

- OpenLayers.Control

Summary

OpenLayers.Control.TransformFeature | Control to transform features with a standard transformation box.
Properties |
events | {OpenLayers.Events} Events instance for listeners and triggering control specific events.
geometryTypes | {Array(String)} To restrict transformation to a limited set of geometry types, send a list of strings corresponding to the geometry class names.
preserveAspectRatio | {Boolean} set to true to not change the feature’s aspect ratio.
rotate | {Boolean} set to false if rotation should be disabled.
feature | {OpenLayers.Feature.Vector} Feature currently available for transformation.
renderIntent | {String|Object} Render intent for the transformation box and handles.
rotationHandleSymbolizer | {Object|String} Optional.
box | {OpenLayers.Feature.Vector} The transformation box rectangle.
center | {OpenLayers.Geometry.Point} The center of the feature bounds.
scale | {Float} The scale of the feature, relative to the scale the time the feature was set.
ratio | {Float} The ratio of the feature relative to the ratio the time the feature was set.
handles | {Array(OpenLayers.Feature.Vector)} The 8 handles currently available for scaling/resizing.
rotationHandles | {Array(OpenLayers.Feature.Vector)} The 4 rotation handles currently available for rotating.
irregular | {Boolean} Make scaling/resizing work irregularly.
Constructor |
OpenLayers.Control.TransformFeature | Create a new transform feature control.
Functions |
activate | Activates the control.
deactivate | Deactivates the control.
setFeature | Place the transformation box on a feature and start transforming it.
unsetFeature | Remove the transformation box off any feature.
destroy | Take care of things that are not handled in superclass.

### Properties

### events

{OpenLayers.Events} Events instance for listeners and triggering control specific events.

#### Register a listener for a particular event with the following syntax

>     control.events.register(type, obj, listener);

#### Supported event types (in addition to those from OpenLayers.Control.events)

beforesetfeature | Triggered before a feature is set for tranformation. The feature will not be set if a listener returns false. Listeners receive a feature property, with the feature that will be set for transformation. Listeners are allowed to set the control’s scale, ratio and rotation properties, which will set the initial scale, ratio and rotation of the feature, like the setFeature method’s initialParams argument.
setfeature | Triggered when a feature is set for tranformation. Listeners receive a feature property, with the feature that is now set for transformation.
beforetransform | Triggered while dragging, before a feature is transformed. The feature will not be transformed if a listener returns false (but the box still will). Listeners receive one or more of center, scale, ratio and rotation. The center property is an OpenLayers.Geometry.Point object with the new center of the transformed feature, the others are Floats with the scale, ratio or rotation change since the last transformation.
transform | Triggered while dragging, when a feature is transformed. Listeners receive an event object with one or more of center, scale*, ratio and rotation. The center property is an OpenLayers.Geometry.Point object with the new center of the transformed feature, the others are Floats with the scale, ratio or rotation change of the feature since the last transformation.
transformcomplete | Triggered after dragging. Listeners receive an event object with the transformed feature.

### geometryTypes

{Array(String)} To restrict transformation to a limited set of geometry types, send a list of strings corresponding to the geometry class names.

### preserveAspectRatio

{Boolean} set to true to not change the feature’s aspect ratio.

### rotate

{Boolean} set to false if rotation should be disabled. Default is true. To be passed with the constructor or set when the control is not active.

### feature

{OpenLayers.Feature.Vector} Feature currently available for transformation. Read-only, use setFeature to set it manually.

### renderIntent

{String|Object} Render intent for the transformation box and handles. A symbolizer object can also be provided here.

### rotationHandleSymbolizer

{Object|String} Optional. A custom symbolizer for the rotation handles. A render intent can also be provided here. Defaults to

>     {
>         stroke: false,
>         pointRadius: 10,
>         fillOpacity: 0,
>         cursor: "pointer"
>     }

### box

{OpenLayers.Feature.Vector} The transformation box rectangle. Read-only.

### center

{OpenLayers.Geometry.Point} The center of the feature bounds. Read-only.

### scale

{Float} The scale of the feature, relative to the scale the time the feature was set. Read-only, except for beforesetfeature listeners.

### ratio

{Float} The ratio of the feature relative to the ratio the time the feature was set. Read-only, except for beforesetfeature listeners.

### handles

{Array(OpenLayers.Feature.Vector)} The 8 handles currently available for scaling/resizing. Numbered counterclockwise, starting from the southwest corner. Read-only.

### rotationHandles

{Array(OpenLayers.Feature.Vector)} The 4 rotation handles currently available for rotating. Numbered counterclockwise, starting from the southwest corner. Read-only.

### irregular

{Boolean} Make scaling/resizing work irregularly. If true then dragging a handle causes the feature to resize in the direction of movement. If false then the feature resizes symetrically about it’s center.

### Constructor

### OpenLayers.Control.TransformFeature

Create a new transform feature control.

#### Parameters

layer | {OpenLayers.Layer.Vector} Layer that contains features that will be transformed.
options | {Object} Optional object whose properties will be set on the control.

### Functions

### activate

> activate: function()

Activates the control.

### deactivate

> deactivate: function()

Deactivates the control.

### setFeature

> setFeature: function( | feature,
> | initialParams | )

Place the transformation box on a feature and start transforming it. If the control is not active, it will be activated.

#### Parameters

feature | {OpenLayers.Feature.Vector}
initialParams | {Object} Initial values for rotation, scale or ratio. Setting a rotation value here will cause the transformation box to start rotated. Setting a scale or ratio will not affect the transormation box, but applications may use this to keep track of scale and ratio of a feature across multiple transforms.

### unsetFeature

> unsetFeature: function()

Remove the transformation box off any feature. If the control is active, it will be deactivated first.

### destroy

> destroy: function()

Take care of things that are not handled in superclass.

Vector features use the OpenLayers.Geometry classes as geometry description.
Point geometry class.

> activate: function()

Activates the control.

> deactivate: function()

Deactivates the control.

> setFeature: function( | feature,
> | initialParams | )

Place the transformation box on a feature and start transforming it.

> unsetFeature: function()

Remove the transformation box off any feature.

> destroy: function()

Take care of things that are not handled in superclass.
Controls affect the display or behavior of the map.
{OpenLayers.Events} Events instance for listeners and triggering control specific events.
Instances of OpenLayers.Layer.Vector are used to render vector data from a variety of sources.
Close