The code snippet below shows how to scan using several devices simultaneously.
ErrorCode ScanningProcedureBundleSample( AlgorithmWorkset& workset  )
 
asdk::ErrorCode AlgorithmProcessingSample( asdk::AlgorithmWorkset& workset  )
 
{
    TRef<IArrayScannerId> scannersList;
    cout << "Enumerating scanners... " << endl;
    TRef<IArrayScanner> scanners;
    cout << "Creating " <<  scannersList->getSize() << " scanners..." << endl;
    for(int i = 0; i < scannersList->getSize(); i++)
    {
        cout << "Creating scanner " << i << "..." << endl;
        TRef<IScanner> s;
        scanners->setElement(i, s);
        s->setTextureTriggerDelay(1);
    }
    cout << "Creating scanning bundle procedure..." << endl;
    TRef<IScanningProcedureBundle> scanning;
    
    ScanningProcedureBundleSettings desc = { 0 };
    desc.procedureSettings.maxFrameCount = 1000;
    desc.procedureSettings.ignoreRegistrationErrors = true;
    desc.threadCountPerScanner = 3;
    cout << "Launching the scanning procedure fully automatic mode..." << endl;