<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Rotate tool - Need help please urgent in ArcObjects SDK Questions</title>
    <link>https://community.esri.com/t5/arcobjects-sdk-questions/rotate-tool-need-help-please-urgent/m-p/494048#M13305</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Rotate tool &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi All,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I am writing rotate tool similar to ArcMap rotate tool using EngineRotateTrackerClass. I am unable to rotate to features first time, however , able to rotate second time onwards. Can any one help me please.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Here is the scenorio &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;1. Start editing&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;2. Select features&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;3. Select Rotate tool&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;4. Mousedown on map &amp;amp; rotate features...which is not working.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;5. If again mousedown &amp;amp; rotate features working fine.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Here is the code I am using...&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;private IHookHelper m_hookHelper = null;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;private IRotateTracker rotateTracker = null;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;bool m_bMouseDownOccurred = true;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;public override void OnClick()&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;this.rotateTracker = new EngineRotateTrackerClass();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;IScreenDisplay screenDisplay = this.m_hookHelper.ActiveView.ScreenDisplay;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;this.rotateTracker.Display = screenDisplay;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;public override void OnMouseDown(int Button, int Shift, int X, int Y)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;InitializeTracker();&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;if (this.rotateTracker != null)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;this.rotateTracker.OnMouseDown();&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;m_bMouseDownOccurred = true;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;private void InitializeTracker()&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;IEnumFeature enumFeat = this.m_hookHelper.FocusMap.FeatureSelection as IEnumFeature;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;if (enumFeat != null)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;this.rotateTracker.ClearGeometry();&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;IFeature feat = enumFeat.Next();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;ESRI.ArcGIS.Geometry.IGeometry objGeometry = feat.ShapeCopy;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;ESRI.ArcGIS.Geometry.IPoint objPoint = new ESRI.ArcGIS.Geometry.PointClass();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;objPoint.X = ((objGeometry.Envelope.UpperRight.X - objGeometry.Envelope.LowerLeft.X) / 2.0) + &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;objGeometry.Envelope.LowerLeft.X;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;objPoint.Y = ((objGeometry.Envelope.UpperRight.Y - objGeometry.Envelope.LowerLeft.Y) / 2.0) + &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;objGeometry.Envelope.LowerLeft.Y;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;this.rotateTracker.Origin = objPoint;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;this.rotateTracker.ClearGeometry();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;//this.rotateTracker.AddGeometry(feat.ShapeCopy);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;enumFeat.Reset();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;feat = enumFeat.Next();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;while (feat != null)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;this.rotateTracker.AddGeometry(feat.ShapeCopy);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;feat = enumFeat.Next();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;public override void OnMouseMove(int Button, int Shift, int X, int Y)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;if (!(Button == 1)) return;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;if (m_bMouseDownOccurred)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;//Debug.WriteLine("RotationTrackerTool beginning OnMouseMove");&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;if ((this.rotateTracker != null))&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;ESRI.ArcGIS.Geometry.IPoint pPoint = new PointClass();&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;ESRI.ArcGIS.Display.IScreenDisplay pScreenDisplay = this.m_hookHelper.ActiveView.ScreenDisplay;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;pPoint = pScreenDisplay.DisplayTransformation.ToMapPoint(X, Y);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;rotateTracker.OnMouseMove(pPoint);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;// this.m_hookHelper.ActiveView.Refresh();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;public override void OnMouseUp(int Button, int Shift, int X, int Y)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;try&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;if (!(Button == 1)) return;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;//Debug.WriteLine("RotationTrackerTool beginning OnMouseUp");&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;if ((rotateTracker != null))&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;if (!rotateTracker.OnMouseUp())&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;return;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;IInvalidArea2 pRefresh = null; ;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;pRefresh = new InvalidAreaClass();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;pRefresh.Display = this.m_hookHelper.ActiveView.ScreenDisplay;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;engineEditor.StartOperation();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;IEnumFeature enumFeat = this.engineEditor.EditSelection;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;IFeature feat = enumFeat.Next();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;while (feat != null)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;pRefresh.Add(feat);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;ESRI.ArcGIS.Geometry.IGeometry pGeom = feat.ShapeCopy;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;if (pGeom is ESRI.ArcGIS.Geometry.ITransform2D)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;ESRI.ArcGIS.Geometry.ITransform2D pTransform2D = pGeom as &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;ESRI.ArcGIS.Geometry.ITransform2D;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;pTransform2D.Rotate(rotateTracker.Origin, rotateTracker.Angle);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;feat.Shape = pGeom;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;feat.Store();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;pRefresh.Add(feat);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;feat = enumFeat.Next();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;engineEditor.StopOperation("Rotate Operation");&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;pRefresh.Invalidate((short)ESRI.ArcGIS.Display.esr iScreenCache.esriAllScreenCaches);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;catch (Exception ex)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;finally&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 11 May 2010 20:29:53 GMT</pubDate>
    <dc:creator>KrishnaPragada</dc:creator>
    <dc:date>2010-05-11T20:29:53Z</dc:date>
    <item>
      <title>Rotate tool - Need help please urgent</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/rotate-tool-need-help-please-urgent/m-p/494048#M13305</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Rotate tool &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi All,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I am writing rotate tool similar to ArcMap rotate tool using EngineRotateTrackerClass. I am unable to rotate to features first time, however , able to rotate second time onwards. Can any one help me please.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Here is the scenorio &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;1. Start editing&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;2. Select features&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;3. Select Rotate tool&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;4. Mousedown on map &amp;amp; rotate features...which is not working.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;5. If again mousedown &amp;amp; rotate features working fine.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Here is the code I am using...&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;private IHookHelper m_hookHelper = null;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;private IRotateTracker rotateTracker = null;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;bool m_bMouseDownOccurred = true;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;public override void OnClick()&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;this.rotateTracker = new EngineRotateTrackerClass();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;IScreenDisplay screenDisplay = this.m_hookHelper.ActiveView.ScreenDisplay;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;this.rotateTracker.Display = screenDisplay;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;public override void OnMouseDown(int Button, int Shift, int X, int Y)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;InitializeTracker();&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;if (this.rotateTracker != null)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;this.rotateTracker.OnMouseDown();&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;m_bMouseDownOccurred = true;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;private void InitializeTracker()&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;IEnumFeature enumFeat = this.m_hookHelper.FocusMap.FeatureSelection as IEnumFeature;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;if (enumFeat != null)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;this.rotateTracker.ClearGeometry();&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;IFeature feat = enumFeat.Next();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;ESRI.ArcGIS.Geometry.IGeometry objGeometry = feat.ShapeCopy;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;ESRI.ArcGIS.Geometry.IPoint objPoint = new ESRI.ArcGIS.Geometry.PointClass();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;objPoint.X = ((objGeometry.Envelope.UpperRight.X - objGeometry.Envelope.LowerLeft.X) / 2.0) + &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;objGeometry.Envelope.LowerLeft.X;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;objPoint.Y = ((objGeometry.Envelope.UpperRight.Y - objGeometry.Envelope.LowerLeft.Y) / 2.0) + &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;objGeometry.Envelope.LowerLeft.Y;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;this.rotateTracker.Origin = objPoint;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;this.rotateTracker.ClearGeometry();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;//this.rotateTracker.AddGeometry(feat.ShapeCopy);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;enumFeat.Reset();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;feat = enumFeat.Next();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;while (feat != null)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;this.rotateTracker.AddGeometry(feat.ShapeCopy);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;feat = enumFeat.Next();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;public override void OnMouseMove(int Button, int Shift, int X, int Y)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;if (!(Button == 1)) return;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;if (m_bMouseDownOccurred)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;//Debug.WriteLine("RotationTrackerTool beginning OnMouseMove");&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;if ((this.rotateTracker != null))&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;ESRI.ArcGIS.Geometry.IPoint pPoint = new PointClass();&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;ESRI.ArcGIS.Display.IScreenDisplay pScreenDisplay = this.m_hookHelper.ActiveView.ScreenDisplay;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;pPoint = pScreenDisplay.DisplayTransformation.ToMapPoint(X, Y);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;rotateTracker.OnMouseMove(pPoint);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;// this.m_hookHelper.ActiveView.Refresh();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;public override void OnMouseUp(int Button, int Shift, int X, int Y)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;try&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;if (!(Button == 1)) return;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;//Debug.WriteLine("RotationTrackerTool beginning OnMouseUp");&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;if ((rotateTracker != null))&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;if (!rotateTracker.OnMouseUp())&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;return;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;IInvalidArea2 pRefresh = null; ;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;pRefresh = new InvalidAreaClass();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;pRefresh.Display = this.m_hookHelper.ActiveView.ScreenDisplay;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;engineEditor.StartOperation();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;IEnumFeature enumFeat = this.engineEditor.EditSelection;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;IFeature feat = enumFeat.Next();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;while (feat != null)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;pRefresh.Add(feat);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;ESRI.ArcGIS.Geometry.IGeometry pGeom = feat.ShapeCopy;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;if (pGeom is ESRI.ArcGIS.Geometry.ITransform2D)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;ESRI.ArcGIS.Geometry.ITransform2D pTransform2D = pGeom as &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;ESRI.ArcGIS.Geometry.ITransform2D;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;pTransform2D.Rotate(rotateTracker.Origin, rotateTracker.Angle);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;feat.Shape = pGeom;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;feat.Store();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;pRefresh.Add(feat);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;feat = enumFeat.Next();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;engineEditor.StopOperation("Rotate Operation");&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;pRefresh.Invalidate((short)ESRI.ArcGIS.Display.esr iScreenCache.esriAllScreenCaches);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;catch (Exception ex)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;finally&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 11 May 2010 20:29:53 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/rotate-tool-need-help-please-urgent/m-p/494048#M13305</guid>
      <dc:creator>KrishnaPragada</dc:creator>
      <dc:date>2010-05-11T20:29:53Z</dc:date>
    </item>
    <item>
      <title>Re: Rotate tool - Need help please urgent</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/rotate-tool-need-help-please-urgent/m-p/494049#M13306</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I am writing a rotate tool similar to the one you wrote. Did you find a solution to your problem? &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;If so, can you please post it?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Idan&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 25 Jan 2011 13:59:47 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/rotate-tool-need-help-please-urgent/m-p/494049#M13306</guid>
      <dc:creator>IdanT</dc:creator>
      <dc:date>2011-01-25T13:59:47Z</dc:date>
    </item>
    <item>
      <title>Re: Rotate tool - Need help please urgent</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/rotate-tool-need-help-please-urgent/m-p/494050#M13307</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Ok, I solved it!&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;IEngineEditor m_pEditor;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;1.&amp;nbsp; public override void OnCreate(object hook)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; m_pEditor = new EngineEditorClass();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;2. private void InitializeTracker()&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IEnumFeature enumFeat = m_pEditor.EditSelection;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;...&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;And works good&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 01 Sep 2011 19:36:27 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/rotate-tool-need-help-please-urgent/m-p/494050#M13307</guid>
      <dc:creator>CARLOSGARCIA</dc:creator>
      <dc:date>2011-09-01T19:36:27Z</dc:date>
    </item>
  </channel>
</rss>

