This document is archived and information here might be outdated. Recommended version. |
Moves the sides x units horizontally and y units vertically.
[Visual Basic .NET]
Public Sub Offset ( _
ByVal X As Double, _
ByVal Y As Double _
)
[C#]
public void Offset (
double X,
double Y
);
[C++]
HRESULT Offset(
double X,
double Y
);
[C++] Parameters X
X is a parameter of type double Y
Y is a parameter of type double
Offset moves the position of the Envelope. A positive X value will shift the Envelope to the right and a negative value to the left. A positive Y value will shift the Envelope up and a negative value down. The Width and Height of the Envelope remain unchanged. Only the XMin, YMin, XMax, and YMax are changed.
The new position of the Envelope is as follows:
new XMin= old XMin + X
new YMin = old YMin + Y
new XMax = old XMax + X
new YMax = old YMax + Y
private void SetOffset()
{
IEnvelope envelope = new EnvelopeClass();
envelope.PutCoords(100, 100, 200, 200);
String report1 = "Envelope before setting offset: \n" +
"LowerLeft X = " + envelope.LowerLeft.X + "\n" +
"LowerLeft Y = " + envelope.LowerLeft.Y + "\n\n" +
"LowerRight X = " + envelope.LowerRight.X + "\n" +
"LowerRight Y = " + envelope.LowerRight.Y + "\n\n" +
"UpperLeft X = " + envelope.UpperLeft.X + "\n" +
"UpperLeft Y = " + envelope.UpperLeft.Y + "\n\n" +
"UpperRight X = " + envelope.UpperRight.X + "\n" +
"UpperRight Y = " + envelope.UpperRight.Y;
System.Windows.Forms.MessageBox.Show(report1);
//offsets envelope by 10 units in the X direction and 20 in the Y direction.
envelope.Offset(10, 20);
String report2 = "Envelope after setting offset: \n" +
"LowerLeft X = " + envelope.LowerLeft.X + "\n" +
"LowerLeft Y = " + envelope.LowerLeft.Y + "\n\n" +
"LowerRight X = " + envelope.LowerRight.X + "\n" +
"LowerRight Y = " + envelope.LowerRight.Y + "\n\n" +
"UpperLeft X = " + envelope.UpperLeft.X + "\n" +
"UpperLeft Y = " + envelope.UpperLeft.Y + "\n\n" +
"UpperRight X = " + envelope.UpperRight.X + "\n" +
"UpperRight Y = " + envelope.UpperRight.Y;
System.Windows.Forms.MessageBox.Show(report2);
}
Dim env As ESRI.ArcGIS.Geometry.IEnvelope
env = New ESRI.ArcGIS.Geometry.Envelope
env.PutCoords(100, 100, 200, 200)
env.Offset(10, 20)
IEnvelope Interface | IEnvelope.Union Method | IEnvelope.Intersect Method | IEnvelope.Expand Method | IEnvelope.CenterAt Method