Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
		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);
		}
Ejemplo n.º 3
0
        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);
 }
Ejemplo n.º 5
0
		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);
		}
Ejemplo n.º 6
0
        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));
        }
Ejemplo n.º 7
0
        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);
        }
Ejemplo n.º 8
0
        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));
        }
Ejemplo n.º 9
0
        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;
                }// 没有处理移动失败
            }
        }
Ejemplo n.º 10
0
		public abstract Voxel mutate(LocalApplication app, Index p, LocalAction action, Voxel original);
Ejemplo n.º 11
0
 public override Voxel mutate(LocalApplication app, Index p, LocalAction action, Voxel original)
 {
     return child.mutate(((LineApplication)app).childApp, p, action, original);
 }
Ejemplo n.º 12
0
 public override Voxel mutate(LocalApplication app, Index p, LocalAction action, Voxel original)
 {
     return(child.mutate(((LineApplication)app).childApp, p, action, original));
 }
Ejemplo n.º 13
0
 public abstract Voxel mutate(LocalApplication app, Index p, LocalAction action, Voxel original);