Re: Automatically colred and indexed custom locators

*To*: mathgroup at smc.vnet.net*Subject*: [mg124583] Re: Automatically colred and indexed custom locators*From*: Christopher Young <cy56 at comcast.net>*Date*: Wed, 25 Jan 2012 07:08:03 -0500 (EST)*Delivered-to*: l-mathgroup@mail-archive0.wolfram.com*References*: <201201241005.FAA20228@smc.vnet.net> <7E8A3482-EB83-4C75-9D82-05A776C87976@gmail.com>

Thanks, that fixed the problem with the snapping not working when the point is created. The only problem is, the points can now only be dragged one grid unit at a time. I'm working on something that will work completely, but it looks like I may have to give up using Manipulate. I really don't want to have to click and drag only 1 unit at a time. On Jan 24, 2012, at 7:54 AM, Heike Gramberg wrote: > Looks nice. To make the locators snap to the grid on creation you can do something like this: > > locGraphics[k_, n_, locSize_, opac_, offset_] := > Graphics[{Opacity[opac], Hue[0.85 (k - 1)/(n - 1)], Disk[{0, 0}], > Opacity[1], Black, Circle[{0, 0}], Line[{{-1.5, 0}, {1.5, 0}}], > Line[{{0, -1.5}, {0, 1.5}}], Text[k, {0, 0}, offset]}, > ImageSize -> locSize] > > Manipulate[ > DynamicModule[{n}, > P = Round[P, .25]; > LocatorPane[Dynamic[P], > Show[Graphics[{Thick, Line[P]}], Axes -> True, PlotRange -> 2, > GridLines -> {Range[-2, 2, 0.25], Range[-2, 2, 0.25]}, > GridLinesStyle -> LightGray], {{-2, -2}, {2, 2}, {.25, .25}}, > LocatorAutoCreate -> True, Appearance -> (n = Length[P]; > Table[locGraphics[k, n, locSize, opac, offset], {k, 1, n}])]], > {{P, {{0, 0}, {1, 1}}}, None}, > {{locSize, 15}, 5, 80, 1}, {{opac, 0.75}, 0, > 1}, {{offset, {0, 0}}, {-2, -2}, {2, 2}, {0.25, 0.25}}] > > Basically, all I've done her is changing P from being a local variable of the DynamicModule to a > controller of the enclosing Manipulate and adding the line P = Round[P, .25]; > > Heike > > By the way, changing P to a controller should also solve the problem in your other > post about morphing Bezier curves.

**References**:**Automatically colred and indexed custom locators***From:*Chris Young <cy56@comcast.net>