Your browser does not seem to support JavaScript. As a result, your viewing experience will be diminished, and you have been placed in read-only mode.
Please download a browser that supports JavaScript, or enable it if it's disabled (i.e. NoScript).
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 20/12/2006 at 17:23, xxxxxxxx wrote:
User Information: Cinema 4D Version: 9.x Platform: Mac OSX ; Language(s) : C.O.F.F.E.E ;
--------- I want to store the current state of an object for Undo purposes. But I would only like to store its current points location (its a polygon object). Using doc->AddUndo(UNDO_OBJECT_BASEDATA,op) or doc->AddUndo(UNDO_OBJECT,op) doesn't seem to work Anyone knows how to do this?
Rui Batista
On 29/12/2006 at 02:17, xxxxxxxx wrote:
Here a little working example for adding Undo when modifying points.
MyMenuPlugin::Execute(doc) { // Called when the menu item is chosen // TODO: Do whatever you want var op = doc->GetActiveObject(); if(!op || !instanceof(op,PolygonObject)) return TRUE; var pcnt = op->GetPointCount(); if(pcnt == 0) return TRUE; var points = op->GetPoints(); if(!points) return FALSE; var index; for (index=0; index<pcnt; index++) { points[index].y = points[index].y + 100; } doc->StartUndo(); doc->AddUndo(UNDO_OBJECT_BASEDATA,op); op->SetPoints(points); op->Message(MSG_UPDATE); doc->EndUndo(); EventAdd(); return TRUE; }
hope this helps
cheers, Matthias