27 lines
711 B
C++
27 lines
711 B
C++
|
|
||
|
|
||
|
#include "toonz/tvectorimageutils.h"
|
||
|
#include "tpalette.h"
|
||
|
|
||
|
//-------------------------------------------------------------------------------------
|
||
|
|
||
|
void getGroupsList(const TVectorImageP &vi, std::vector<TVectorImageP> &list)
|
||
|
{
|
||
|
//Scan vi's strokes
|
||
|
unsigned int i, j, strokeCount = vi->getStrokeCount();
|
||
|
for (i = 0; i < strokeCount;) {
|
||
|
std::vector<int> indexes;
|
||
|
//Find the group interval
|
||
|
for (j = i; j < strokeCount && vi->areDifferentGroup(i, false, j, false) == -1; ++j)
|
||
|
indexes.push_back(j);
|
||
|
|
||
|
//Fill a new list item with the strokes
|
||
|
TVectorImageP item(vi->splitImage(indexes, false));
|
||
|
if (item->getPalette() == 0)
|
||
|
item->setPalette(new TPalette);
|
||
|
list.push_back(item);
|
||
|
|
||
|
i = j;
|
||
|
}
|
||
|
}
|