Automatic Undo

The assertWriteEnabled() function has the following signature:

void assertWriteEnabled(
    Adesk::Boolean autoUndo = Adesk::kTrue,
    Adesk::Boolean recordModified = Adesk::kTrue);

When a modification function calls assertWriteEnabled(), it first checks the value of the recordModified parameter. If recordModified is kFalse, no undo recording is performed. If recordModified is kTrue, it next checks the autoUndo parameter, which specifies whether an auto undo operation should be performed.

If autoUndo is kTrue (the default), the full object state is automatically written to the object's undo filer. If you specify kFalse for autoUndo, no information is recorded. AutoCAD assumes that your modification function will take care of recording the changed object state to the object's undo filer.

Even if you plan to implement a partial undo mechanism for your class, you can rely on automatic undo in the first stages of development.