示例#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);
        }
        public override Application setup(OcTree target)
        {
            LineApplication app = new LineApplication();
            app.tree = target;
            app.position = target.globalToVoxelPosition(globalPoints[0]);
            app.points = new Vector3[globalPoints.Length];
            for (int i = 0; i < globalPoints.Length; ++i)
                app.points[i] = target.globalToVoxelPosition(globalPoints[i]) -app.position;
            app.childApp = (LocalApplication) child.setup(target);
            // TODO: set min, max and updateMesh.

            return app;
        }
示例#3
0
        public override Application setup(Tree target)
        {
            LineApplication app = new LineApplication();

            app.tree     = target;
            app.position = target.globalToVoxelPosition(globalPoints[0]);
            app.points   = new Vector3[globalPoints.Length];
            for (int i = 0; i < globalPoints.Length; ++i)
            {
                app.points[i] = target.globalToVoxelPosition(globalPoints[i]) - app.position;
            }
            app.childApp = (LocalApplication)child.setup(target);
            // TODO: set min, max and updateMesh.

            return(app);
        }