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; }
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); }