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 09/06/2004 at 07:58, xxxxxxxx wrote:
User Information: Cinema 4D Version: 8.100 Platform: Windows ; Language(s) : C++ ;
--------- Hi all,
im just starting with my first plugin and i have a problem i cant seem to solve on my own.
I wrote a tag plugin, which can be attached as an expression and which has a link field that accepts polygon selections.
My question now is, how do i access the polygon selection in my functions?
i tried it like this:
BaseList2D* polySelection = tag->GetData().GetLink(1001,doc);
but i still dont know how to access the polys and besides, cinema crashes when i clear the link field..
thanks in advance, devel
On 09/06/2004 at 15:20, xxxxxxxx wrote:
You should cast the return object into a SelectionTag, you should then check that its non NULL, this will avoid the crashes. Use the SelectionTag to get the selection
SelectionTag *polySelection = static_cast<SelectionTag*>(tag->GetData().GetLink(1001,doc)); if(!polySelection) return FALSE; BaseSelect *selectedpolies = polySelection->GetBaseSelect(); // Unefficiently check for selected polies for(LONG i=0; i < selectedpolies->GetCount();i++) { if(selectedpolies->IsSelected(i)) { GePrint("Polygon Selected :" + LongToString(i)); } }
Look in the docs BaseSelect::IsSelected for an efficient algorithm
On 09/06/2004 at 16:32, xxxxxxxx wrote:
alright, that does it!
thanks for your help, devel