How does InsertObject work [SOLVED]
-
On 17/07/2015 at 16:03, xxxxxxxx wrote:
User Information:
Cinema 4D Version: 16
Platform: Windows ;
Language(s) : C++ ;---------
Hello,I'm getting crazy. I want to cut an object and insert it as an child to an null object. Here's my code:
BaseObject* op = doc->GetFirstObject(); BaseObject* wallsNull = BaseObject::Alloc(Onull); wallsNull->SetName("UE4Ex_Walls"); doc->InsertObject(wallsNull,nullptr,nullptr); doc->InsertObject(op,wallsNull,nullptr);
After executing this, my whole objects of the scene are inside the "wallsNull" and not only the first one. Also cinema freezes.
What I'm doing wrong?Edit: Cinema doesn't freeze but I can't close it.
Thanks
-
On 17/07/2015 at 16:20, xxxxxxxx wrote:
You can only insert a new object once into the document. If you want it to be at the root, use the first doc->ObjectInsert() call. The second call is gibberish. You cannot insert op underneath the object your are inserting. If you want that then you have to remove op and insert under it:
doc->InsertObject(wallsNull, nullprt, nullptr); op->Remove(); doc->InsertObject(op, wallsNull, nullptr);
So, removing op frees it from the document's hierarchical chain so that you can then reinsert it into the document where you want in that hierarchy. Understand?
-
On 17/07/2015 at 16:30, xxxxxxxx wrote:
Thank you so much!!! I understand and it works now