Reply
Reply
 
Thread Tools Display Modes
r_fletch_r's Avatar
Old (#1)
Is there someway of maintaining the order of selection when working with epoly sub objects. By my understanding bitArrays cant do this becuase of how they are structured, only telling you whether a subObject is selected and not in what order.

Im not really relishing the idea of having to do this manually with callbacks
Offline , veteran polycounter, 2,970 Posts, Join Date Feb 2010, Location Ireland  
   Reply With Quote

SyncViewS's Avatar
Old (#2)
Hi, as far as I know the only way to keep track of the sub-object selection order is to use callbacks, in particular node-event callbacks introduced in 3ds Max 2009. For backward compatibility I never used them, the limited workaround could be to run a component like the PainterInterface, the MouseTrack function, or maybe even a MouseTool, keeping track of each click, writing your own selection code, based on the result of the intersection ray cast from mouse position in screen space with geometry in 3d space and store picked elements as incremental difference. I still haven't found anything better than this, which is far from simplicity. As you said sub- object selections are stored in BitArray, mainly to be much faster to compute and require much less memory than a standard int array, but they lose any other kind of information.
IllusionCatalyst – Instrument set for 3ds Max │ AliquaForma – Personal portfolio in fieri
Offline , polygon, 585 Posts, Join Date Dec 2008, Location Leamington Spa, UK  
   Reply With Quote

r_fletch_r's Avatar
Old (#3)
Quote:
Originally Posted by SyncViewS View Post
Hi, as far as I know the only way to keep track of the sub-object selection order is to use callbacks, in particular node-event callbacks introduced in 3ds Max 2009. For backward compatibility I never used them, the limited workaround could be to run a component like the PainterInterface, the MouseTrack function, or maybe even a MouseTool, keeping track of each click, writing your own selection code, based on the result of the intersection ray cast from mouse position in screen space with geometry in 3d space and store picked elements as incremental difference. I still haven't found anything better than this, which is far from simplicity. As you said sub- object selections are stored in BitArray, mainly to be much faster to compute and require much less memory than a standard int array, but they lose any other kind of information.
Thanks for your reply, I was thinking it would be something like this. It looks like its callback time :/
Offline , veteran polycounter, 2,970 Posts, Join Date Feb 2010, Location Ireland  
   Reply With Quote

Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Copyright 1998-2012 A. Risch