public SpotLightAdorner3D(AdornerSet3D adornerSet, SpotLightAdornerBehavior3D.TypeOfConeAngle typeOfConeAngle) : base(adornerSet) { this.typeOfConeAngle = typeOfConeAngle; this.spotPropertyGeometry = Torus.CreateTorus(1.0, 0.015, 24, 15, this.typeOfConeAngle != SpotLightAdornerBehavior3D.TypeOfConeAngle.InnerConeAngle ? Adorner3D.RedLook : Adorner3D.GreenLook); this.AdornerModel = new Model3DGroup(); this.AdornerModel.Children.Add((Model3D)this.spotPropertyGeometry); this.SetName((DependencyObject)this.AdornerModel, "SpotLightAdorner3D"); }
public SpotLightConeAdorner3D(AdornerSet3D adornerSet, SpotLightAdornerBehavior3D.TypeOfConeAngle typeOfConeAngle) : base(adornerSet) { this.typeOfConeAngle = typeOfConeAngle; for (int index = 0; index < 4; ++index) { this.spotPropertyGeometry.Children.Add((Model3D)Cylinder.CreateCylinder(0.01, 1.0, 8, (Material) new DiffuseMaterial((Brush) new SolidColorBrush(this.typeOfConeAngle != SpotLightAdornerBehavior3D.TypeOfConeAngle.InnerConeAngle ? Color.FromRgb(byte.MaxValue, (byte)0, (byte)0) : Color.FromRgb((byte)0, byte.MaxValue, (byte)0))), (Material)null, (Material)null)); } this.AdornerModel = new Model3DGroup(); this.AdornerModel.Children.Add((Model3D)this.spotPropertyGeometry); this.SetName((DependencyObject)this.AdornerModel, "SpotLightConeAdorner3D"); }
public static double CalculateConeRadius(SpotLight spotLight, SpotLightAdornerBehavior3D.TypeOfConeAngle typeOfConeAngle) { return(Math.Tan((typeOfConeAngle != SpotLightAdornerBehavior3D.TypeOfConeAngle.InnerConeAngle ? spotLight.OuterConeAngle : spotLight.InnerConeAngle) / 180.0 * Math.PI) * 1.0); }