GetActiveObjects
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 11/11/2004 at 17:27, xxxxxxxx wrote:
User Information:
Cinema 4D Version: 9.012
Platform: Windows ;
Language(s) : C++ ;---------
Hi Guys,
Really new to C++ and the Cinema SDK. But I want to get all the selected objects in the document. This I belive can be done by doing this:AutoAlloc<AtomArray> objects; if (!objects) break; GetActiveDocument()->GetActiveObjects(objects, TRUE);
To me this means that all the selected elements will be stored in 'objects'. My question is how can I access the individual elements of the AtomArray so I can get the position of each object in the selection? Thanks in advance for any help
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 11/11/2004 at 19:03, xxxxxxxx wrote:
Hi, try this:
cnt= objects->GetCount(); // To get selected objects count
for(i=0;i<cnt;i++)
{
Obj =(BaseObject* )objects->GetIndex(i); // Get the first object
// you can proceed with 'Obj' to get position
} -
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 12/11/2004 at 13:14, xxxxxxxx wrote:
Thanks for the reply Charles, it helped a lot. My other question now is the GetIndex() returns the index of type long for each object. So Obj would have to be declared as a long such as:
for(int i=0; i<cnt; i++) { long Obj=(BaseObject* )objects->GetIndex(i); } How could I return each object to Obj from the provided index in the for loop? Thanks in advance. -Josh-
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 12/11/2004 at 13:20, xxxxxxxx wrote:
Hi Josh,
no GetIndex(i) returns already the object (pointer) and not a LONG value. That´s why the old cast is there.
BaseObject* Obj = static_cast<BaseObject*>(objects->GetIndex(i));