My ObjectARX application allows AcDbEntity-derived classes edition using
grip points (GRIP MODE on). I would like to monitor any grip points
edition over my custom entities. For instance, when the user moves an
entity, I need to validate the new position; when one uses grip points
to modify vertex position of an AcDbPolyline-derived class, I'm supposed
to check the existence of colinear vertices; etc. How can I accomplish
that? I can't overwrite moveGripPointsAt() because it seems to be called
"during" edition process (and not at the "end" of edition).
Thanks in advance,
--
o-------------------------o---------------------------------------o
| Ricardo Giacomin | Universidade Federal de Minas Gerais |
| e-mail: r...@dcc.ufmg.br | Departamento de Ciencia da Computacao |
| Tel: +55-31-499 58 60 | Desenv. de Sistemas de Engenharia |
| Fax: +55-31-499 58 58 | http://www.dse.dcc.ufmg.br |
o-------------------------o---------------------------------------o
This will not be easy. Notifications are currently set up to let you monitor
events and not really stop them. The ability to "veto" has come up a few
times and the solution is always very complicated.
What I have seen done is basically making a "clone" of the entity and cache
it during the open for modify notification. Then during a sync event such as
commandEnded (editor reactor) erase the entity and append the clone to the
owning block table record. Not very elegant but works in many cases.
Now your problem comes with grip editing. This will make the sync event non
existent. You will have to look for another appropriate place to do this. I
do not recommend doing it during object notification but you may want to
experiment and see what you can get away with.
Cheers,
Jorge Lopez
Autodesk
Ricardo Giacomin wrote in message <35BC7D...@dcc.ufmg.br>...
If I understand Ricardo's original message, he is working with a custom
object derived from AcDbPolyline. If that is the case, he has many
opportunities for updating the object after grip-editing is complete. I
think he could just mark a 'dirty' flag when grip editing is underway, then
when the object is closed (e.g. in RicardosCustomObject::close()) he could
update it internally to reflect any changes. I'm sure there are other
member functions which would work for the same purpose. :)
--
Owen Wengerd
President, ManuSoft ==> http://www.manusoft.com
VP Americas, CADLock, Inc. ==> http://www.cadlock.com
Jorge Lopez wrote in message <6pia2g$i7...@adesknews2.autodesk.com>...
>Ricardo,
>
>This will not be easy. Notifications are currently set up to let you
monitor
>events and not really stop them. The ability to "veto" has come up a few
>times and the solution is always very complicated.
>[...]