public OrientationChangeCommandFactory(WorldEditor worldEditor, IObjectOrientation obj, float azimuth, float zenith) { app = worldEditor; this.obj = obj; switch ((obj as IWorldObject).ObjectType) { case "DirectionalLight": origAzimuth = (obj as DirectionalLight).OrigAzimuth; origZenith = (obj as DirectionalLight).OrigZenith; break; case "GlobalDirectionalLight": origAzimuth = (obj as GlobalDirectionalLight).OrigAzimuth; origZenith = (obj as GlobalDirectionalLight).OrigZenith; break; default: origAzimuth = obj.Azimuth; origZenith = obj.Zenith; break; } }
public OrientationChangeCommand(WorldEditor worldEditor, IObjectOrientation objOri, float lightAzi, float lightZen, float oldAzi, float oldZen) { while (lightAzi > 180 || lightAzi < -180) { if (lightAzi > 180) { lightAzi -= 360; } else { if (lightAzi < -180) { lightAzi += 360; } } } while (lightZen > 90 || lightZen < -90) { if (lightZen > 90) { lightZen -= 180; } else { if (lightZen < -90) { lightZen += 180; } } } this.app = worldEditor; this.objOrient = objOri; this.lightAzimuth = lightAzi; this.lightZenith = lightZen; this.oldAzimuth = oldAzi; this.oldZenith = oldZen; }
public void UpdateOrientationPanel(IObjectOrientation obj) { int rot = (int)Math.Round(obj.Azimuth); int inc = (int)Math.Round(obj.Zenith); if (float.Parse(orientationRotationTextBox.Text) != rot) { orientationRotationTextBox.Text = rot.ToString(); } if (orientationRotationTrackBar.Value != rot) { orientationRotationTrackBar.Value = rot; } if (float.Parse(inclinationTextBox.Text) != inc) { inclinationTextBox.Text = inc.ToString(); } if (inclinationTrackbar.Value != inc) { inclinationTrackbar.Value = inc; } }