Returns the number of groups inside the vector handle.
#include "ltwrappr.h"
virtual L_INT LVectorBase::GetGroupCount()
Number of groups.
After calling this function, LVectorBase::GetGroupByIndex can be used to iterate through the groups in a vector handle.
This example will copy the first group (and objects) from a vector into pVector.
L_INT LVectorBase__GetGroupCountExample(HWND hWnd, LVectorBase *pVector)
{
L_TCHAR szMsg[100];
LVectorGroup VectorGroup;
L_INT nRet, nCount;
//Load a source vector
LVectorBase VectorSrc;
nRet = VectorSrc.Load(MAKE_IMAGE_PATH(TEXT("group.vec")));
if(nRet != SUCCESS)
return nRet;
nCount = VectorSrc.GetGroupCount ();
if (nCount > 0)
{
//Get first group of source
nRet = VectorSrc.GetGroupByIndex(0, &VectorGroup);
if (nRet == SUCCESS)
{
//Get the name of the first group.
VECTORGROUPDESC GroupDesc;
nRet = VectorGroup.GetGroupDesc(&GroupDesc);
if(nRet != SUCCESS)
return nRet;
wsprintf(szMsg, TEXT("Group Retrieved\nName[%s]"),GroupDesc.szName);
MessageBox(hWnd, szMsg, TEXT(""), MB_OK);
//Create new group in destination vector
LVectorGroup NewVectorGroup(&GroupDesc);
nRet = pVector->AddGroup(&NewVectorGroup);
if(nRet != SUCCESS)
return nRet;
//Copy group and objects into pVector active group
nRet = pVector->CopyGroup(&NewVectorGroup, &VectorGroup);
if(nRet != SUCCESS)
return nRet;
nRet = pVector->Save(MAKE_IMAGE_PATH(TEXT("erase2.vec")), FILE_VECTOR_DUMP);
if(nRet != SUCCESS)
return nRet;
}
else
return nRet;
}
else
{
MessageBox(hWnd, TEXT("No groups in source"), TEXT(""), MB_OK);
}
return SUCCESS;
}