public override LocalAction checkMutation(LocalApplication app, Index p, Vector3 diff, float voxelSize) { LineApplication lApp = (LineApplication)app; Vector3 cp = closestPointToPath(lApp.points, diff); Vector3 virtualDiff = diff - cp; LocalAction action = child.checkMutation(((LineApplication)app).childApp, p, virtualDiff, voxelSize); action.diff = virtualDiff; return(action); }
public override Voxel mutate(LocalApplication app, Index p, LocalAction action, Voxel original) { CubeAction cAction = (CubeAction)action; byte newOpacity = (byte)((original.averageOpacity() * (1 - cAction.percentInside) + value.averageOpacity() * (cAction.percentInside))); byte newSubstance = original.averageMaterialType(); if (overwriteSubstance && cAction.percentInside > 0.5) newSubstance = value.averageMaterialType(); if (!overwriteShape) newOpacity = original.averageOpacity(); return new Voxel(newSubstance, newOpacity); }
protected override Action checkMutation(Application app, Index p) { LocalApplication lApp = (LocalApplication)app; float voxelSize = calculateVoxelSize(app, p); Vector3 diff = calculateDiff(lApp.position, p, voxelSize); LocalAction action = checkMutation(lApp, p, diff, voxelSize); action.voxelSize = voxelSize; return(action); }
public void TestMethod() { StringBuilder tester = new StringBuilder(); tester.AppendLine("Hello, world!"); ImmutableArray<string> strings = new[] {"Abercrombie", "Benjamin", "Christopher"}.ToImmutableArray(); LocalAction<StringBuilder, ImmutableArray<string>> action = (ref StringBuilder sb, in ImmutableArray<string> arr) => { StringBuilderUnitTestExtensions.UnitTestOnlyAppendRangeToStringBuilder(sb, arr); }; ExecuteAction(action, ref tester, in strings); string finalResult = ExecuteQuery((in StringBuilder sb) => sb.ToString(), tester); Console.WriteLine(finalResult); }
public override Voxel mutate(LocalApplication app, Index p, LocalAction action, Voxel original) { SphereApp sApp = (SphereApp)app; SphereAction sAction = (SphereAction)action; float dis = Mathf.Sqrt(sAction.disSqr); float percentInside = Mathf.Min((sAction.maxRadius -dis) /(sAction.maxRadius -sAction.minRadius), 1); byte newOpacity = (byte)(original.averageOpacity() * (1 -percentInside) + value.averageOpacity() * percentInside); byte newSubstance = original.averageMaterialType(); if (overwriteSubstance && (dis < sApp.radius || percentInside > 0.5f)) newSubstance = value.averageMaterialType(); if (!overwriteShape) newOpacity = original.averageOpacity(); return new Voxel(newSubstance, newOpacity); }
public override Voxel mutate(LocalApplication app, Index p, LocalAction action, Voxel original) { CubeAction cAction = (CubeAction)action; byte newOpacity = (byte)((original.averageOpacity() * (1 - cAction.percentInside) + value.averageOpacity() * (cAction.percentInside))); byte newSubstance = original.averageMaterialType(); if (newOpacity >= 2 * original.averageOpacity() || (overwriteSubstance && cAction.percentInside > 0.5)) { newSubstance = value.averageMaterialType(); } if (!overwriteShape) { newOpacity = original.averageOpacity(); } return(new Voxel(newSubstance, newOpacity)); }
public override Voxel mutate(LocalApplication app, Index p, LocalAction action, Voxel original) { SphereApp sApp = (SphereApp)app; SphereAction sAction = (SphereAction)action; float dis = Mathf.Sqrt(sAction.disSqr); byte newOpacity = (dis <= sAction.minRadius) ? value.averageOpacity() : (byte)((original.averageOpacity() * (dis - sAction.minRadius) + value.averageOpacity() * (sAction.maxRadius - dis)) / 2); byte newSubstance = original.averageMaterialType(); if (newOpacity >= 2 * original.averageOpacity() || (overwriteSubstance && dis < sApp.radius)) newSubstance = value.averageMaterialType(); if (!overwriteShape) newOpacity = original.averageOpacity(); return new Voxel(newSubstance, newOpacity); }
public override Voxel mutate(LocalApplication app, Index p, LocalAction action, Voxel original) { SphereApp sApp = (SphereApp)app; SphereAction sAction = (SphereAction)action; float dis = Mathf.Sqrt(sAction.disSqr); byte newOpacity = (dis <= sAction.minRadius) ? value.averageOpacity() : (byte)((original.averageOpacity() * (dis - sAction.minRadius) + value.averageOpacity() * (sAction.maxRadius - dis)) / 2); byte newSubstance = original.averageMaterialType(); if (newOpacity >= 2 * original.averageOpacity() || (overwriteSubstance && dis < sApp.radius)) { newSubstance = value.averageMaterialType(); } if (!overwriteShape) { newOpacity = original.averageOpacity(); } return(new Voxel(newSubstance, newOpacity)); }
private void MoveFileToKeywordFolder() { if (CategoryTree.SelectedNode.Tag is KeywordAndUser) { Keywords target = ((KeywordAndUser)CategoryTree.SelectedNode.Tag).Keyword; if (target.KeywordSubPath == null) { LocalAction.CreateKeywordDefaultSubPath(ref target); } else { return; } if (LocalAction.MoveKeywordFileToFolder(ref target)) { JianLiLinq.Default.DB.SubmitChanges(); this.指定文件夹ToolStripMenuItem.Visible = false; this.打开文件夹ToolStripMenuItem.Visible = true; }// 没有处理移动失败 } }
public abstract Voxel mutate(LocalApplication app, Index p, LocalAction action, Voxel original);
public override Voxel mutate(LocalApplication app, Index p, LocalAction action, Voxel original) { return child.mutate(((LineApplication)app).childApp, p, action, original); }
public override Voxel mutate(LocalApplication app, Index p, LocalAction action, Voxel original) { return(child.mutate(((LineApplication)app).childApp, p, action, original)); }
public abstract Voxel mutate(LocalApplication app, Index p, LocalAction action, Voxel original);