ciao.
Nella mia applicazione ho degli oggetti con relativa geometria(vba:vertex buffer array) e degli effetti (shader) che prendono la geometria e la rappresentano in modo grafico, il tutto in opengl.
ora:
io nel mio progetto ho due tipi di effetti principali selezionato wireframe e non selezionato solido.
pero' ho tantissime entità geometriche(possono andare dai 2000 ai 30000).
quello a cui pensavo era di creare delle liste separate ,ognuna con una sola proprietà: lo shader che rappresenta o solido o wireframe ,e rappresentare tutte le geometrie della lista con quello shader specifico.
le liste ogni ciclo vengono rappresentate con il loro shader che renderizza tutte le geometrie agganciate.
per cambiare rappresentazione quindi basterebbe spostare un entità geometrica(vba) da una lista ad un altra.
Ora e questo è il problema:
ho letto che quando si inserisce un oggetto in un container stl si scatena il costruttore di copia e se devo spostare diciamo 10000 oggetti (a seguito di una selezione box)da uno stato grafico solido a uno stato selezionato wireframe scatenerei 10000 costruttori di copia, sbaglio?
forse qui la move semantic puo dare una mano, ma non so bene come fare a spostare un oggetto da una lista ad un altra.
chiaramente ho scelto una lista perchè si "autodimensiona" nell' inserimento e nella cancellazione e non un vector.
esistono degli esempi per spostare degli oggetti da una lista ad un altra con la move semantic?
perchè per dirla tutta gli oggetti di cui si parla sono molto piccoli, non so se ne trarrei guadagno, ma vorrei provare, anche perchè le liste selezionato/non selezionato mi servono comunque per altre operazioni.
grazie.