get more than 1 active object
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 30/11/2006 at 03:05, xxxxxxxx wrote:
User Information:
Cinema 4D Version:
Platform: Mac ;
Language(s) : C.O.F.F.E.E ;---------
maybe a simple one, but i didnt get it...i can get the active obj with
obj=doc->GetActiveObject();but what if i select more than one object.
obj=doc->GetActiveObject();
seems to return nil then !...? any inputs ?
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 30/11/2006 at 04:50, xxxxxxxx wrote:
You then first need to loop the document, searching for the active ones.
If you do a search for "hierarchy" here at SDK you'll find example code, including finding specific tags as well.Cheers
Lennart -
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 30/11/2006 at 18:13, xxxxxxxx wrote:
Hi zeorge ...
I used to do it like below ...
AtomArray *atm=AtomArray::Alloc();
BaseDocument *doc=GetActiveDocument();
doc->GetActiveObjects(*atm,FALSE);
LONG lObjCnt=atm->GetCount();//Taking the selected object count ...
MessageDialog(LongToString(lObjCnt) + " objects are selected!");
//If you want to take the first object
BaseObject *obj=(BaseObject* )atm->GetIndex(0);
MessageDialog("The first object is " + obj->GetName());I hope the above code block can help you ...
Take care the function is GetActiveOjbect s not GetActiveObject ...Wishing you all the best ...
Zaw Min Tun -
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 30/11/2006 at 18:46, xxxxxxxx wrote:
Sorry ...
You're talking about Coffee ...I found a forum link here ...
http://forums.cgsociety.org/showpost.php?p=2776293&postcount;=4Wishing you all the best ...
Zaw Min Tun -
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 06/12/2006 at 04:17, xxxxxxxx wrote:
OK,
I GOT THE SOLUTION NOW BY MYSELF .... AND SHARE IT HERE FOR OTHERS :this code counts the active objects...
var obj=GetActiveDocument()->GetFirstObject(), active_objects;
if(obj->GetBit(BIT_AOBJ)) { active_objects=0; } else { active_objects=-1; }
while(obj) { active_objects++; obj=obj->SearchNext(BIT_AOBJ); }
println(active_objects, " active objects");