private RectangleCoordinateFunctionalPathData _AddRectangleCoordinateFunctionalPathObject() { RectangleCoordinateFunctionalPathData res = new RectangleCoordinateFunctionalPathData(); AddGeometricObject(res); return(res); }
/// <summary>RectangleCoordinateFunctionalPathを作成して追加する。</summary> public RectangleCoordinateFunctionalPathData AddRectangleCoordinateFunctionalPathObject() { LogMethodStart(); RectangleCoordinateFunctionalPathData res = _AddRectangleCoordinateFunctionalPathObject(); LogMethodEnd(); return(res); }
public static void MakeTestProject() { Application app = Application.SingletonInstance; app.OpenedProject = new WaveguideDesignerProjectData(); app.OpenedProject.Name = "Test Project"; ProjectManifestData manifest = new ProjectManifestData(); manifest.SimulationRegion.Dimension = Dimension.Dim2; manifest.SimulationRegion.MinX = 0; manifest.SimulationRegion.MaxX = 15; manifest.SimulationRegion.MinY = -4; manifest.SimulationRegion.MaxY = 4; manifest.Resolution = 50; app.OpenedProject.ProjectManifest = manifest; app.OpenedProject.GlobalRenderSetting = new GlobalRenderSettingData(); app.OpenedProject.GlobalStructureNumerics = new GlobalStructureNumericsData(); app.OpenedProject.Layers.Add(new LayerData()); app.OpenedProject.Layers[0].Name = "Layer1"; app.OpenedProject.Layers[0].Profile.Material = new MaterialData(MaterialData.MaterialType.Dielectric) { Name = "material1", Index = 2, }; RectangleCoordinateFunctionalPathData s = new RectangleCoordinateFunctionalPathData(); s.PointNum = 100; s.XOffset = "0"; s.YOffset = "1"; s.CenterX = "15*t"; s.CenterY = "3*sin(6*pi*t)*t"; s.LeftWingWidth = "0.2"; s.RightWingWidth = "0.2"; app.OpenedProject.Layers[0].GeometricObjects.Add(s); s = new RectangleCoordinateFunctionalPathData(); s.PointNum = 50; s.XOffset = "0"; s.YOffset = "1"; s.CenterX = "10*t"; s.CenterY = "-5*t"; s.LeftWingWidth = "0.2"; s.RightWingWidth = "0.2*sin(10*t)"; app.OpenedProject.Layers[0].GeometricObjects.Add(s); app.OpenedProject.Layers.Add(new LayerData()); app.OpenedProject.Layers[1].Name = "Layer2"; app.OpenedProject.Layers[1].Profile.Material = new MaterialData(MaterialData.MaterialType.Dielectric) { Name = "material2", Index = 3, };; app.OpenedProject.Layers[1].Profile.RenderSetting.Border = Pens.LightGreen; app.OpenedProject.Layers[1].Profile.RenderSetting.Fill = new HatchBrush(HatchStyle.DarkDownwardDiagonal, Color.LightGreen); s = new RectangleCoordinateFunctionalPathData(); s.PointNum = 2; s.XOffset = "0"; s.YOffset = "1"; s.CenterX = "10*t"; s.CenterY = "5*t"; s.LeftWingWidth = "0.2"; s.RightWingWidth = "0.2"; app.OpenedProject.Layers[1].GeometricObjects.Add(s); app.OpenedProject.Layers.Add(new LayerData()); app.OpenedProject.Layers[2].Name = "Layer3"; app.OpenedProject.Layers[2].Profile.Material = new MaterialData(MaterialData.MaterialType.Dielectric) { Name = "material3", Index = 4, };; app.OpenedProject.Layers[2].Profile.RenderSetting.Border = Pens.Purple; app.OpenedProject.Layers[2].Profile.RenderSetting.Fill = new HatchBrush(HatchStyle.DarkDownwardDiagonal, Color.Purple); PolarCoordinateFunctionalPathData p = new PolarCoordinateFunctionalPathData(); p.PointNum = 10; p.XOffset = "10"; p.YOffset = "0"; p.CenterRadius = "5*t"; p.CenterPhase = "4*pi*t"; p.LeftWingWidth = "0.5*t"; p.RightWingWidth = "0.25*(1+sin(16*pi*t))"; app.OpenedProject.Layers[2].GeometricObjects.Add(p); app.OpenedProject.Layers.Add(new LayerData()); app.OpenedProject.Layers[3].Name = "Layer4"; app.OpenedProject.Layers[3].Profile.Material = new MaterialData(MaterialData.MaterialType.Dielectric) { Name = "material1", Index = 2, };; app.OpenedProject.Layers[3].Profile.RenderSetting.Border = Pens.Aqua; app.OpenedProject.Layers[3].Profile.RenderSetting.Fill = new HatchBrush(HatchStyle.Percent05, Color.Aqua); p = new PolarCoordinateFunctionalPathData(); p.PointNum = 10; p.XOffset = "5"; p.YOffset = "0"; p.CenterRadius = "1*t"; p.CenterPhase = "-4*pi*t"; p.LeftWingWidth = "0.5*t"; p.RightWingWidth = "0.25*(1+sin(5*pi*t))"; app.OpenedProject.Layers[3].GeometricObjects.Add(p); SourceData src = new SourceData(); src.Name = "TestSrc"; src.Wavelength = 1.55; src.Center = new Vector3(1, 0, 0); src.Size = new Vector3(0, 0, 0); src.Type = SourceData.SourceType.Continuous; manifest.Sources.Add(src); }