wb_volume wb_volume::next() const
{
  wb_volume v;
  if (!m_vrep)
    return v;

  v = wb_volume(m_vrep->next());
  return v;
}
Exemple #2
0
int main( int argc, char *argv[])
{
  char fname[200];
  pwr_tStatus sts;

  if ( argc <= 1) exit(0);
  strcpy( fname, argv[1]);

  try {
    // Create wb env
    wb_erep *erep = new wb_erep();

    wb_volume v2(erep->volume(&sts));
    while ( v2.oddSts()) {
      cout << "Volume loaded: " << v2.vid() << endl;
      v2 = v2.next();
    }

    wb_env *env = new wb_env(erep);

    // Load pwrs
    wb_vrepwbl *wbl = new wb_vrepwbl(erep);
    wbl->load( (char *)fname);
    // wbl->info();

    // Add pwrs to env
    erep->addExtern( &sts, wbl);
    cout << "addExtern: " << sts << endl;

    // Get pwrs
    // wb_volume vol = env->externVolume( 1);
    wb_volume vol = wb_volume(wbl); // Test

    cout << "Get pwrs: " << env->sts() << endl;

    // wb_volume *vol = new wb_volume( wbl);
    wb_session *ses = new wb_session( vol);
    // ses->access( ldh_eAccess_ReadWrite);
    // ses->utility( ldh_eUtility_Configurator);

    wb_object ob = ses->object();
    wb_object ob2 = ob.first();
    wb_object ob3 = ob2.after();
    wb_object ob4 = ob.last();
    wb_object ob5 = ob4.before();
    wb_object ob6 = ob4.parent();
    cout << "ansc: " << ob.name() << "  " << ob.what() << endl;
    cout << "first: " << ob2.name() << endl;
    cout << "after: " << ob3.name() << endl;
    cout << "last: " << ob4.name() << endl;
    cout << "before: " << ob5.name() << endl;
    cout << "parent: " << ob6.name() << endl;

    wb_orep *o = wbl->object( &sts);
    wb_orep *o2 = o->first( &sts);
    wb_orep *o3 = o2->after( &sts);
    wb_orep *o4 = o->last( &sts);
    wb_orep *o5 = o4->before( &sts);
    wb_orep *o6 = o4->parent( &sts);
    cout << "ansc: " << o->name() << endl;
    cout << "first: " << o2->name() << endl;
    cout << "after: " << o3->name() << endl;
    cout << "last: " << o4->name() << endl;
    cout << "before: " << o5->name() << endl;
    cout << "parent: " << o6->name() << endl;

    // Print the resulting tree
    // cout << wbl->rootAST[0]->toStringTree() << endl;

    //wbl->iterObject( (void *)22, iterFunc);

    erep->removeExtern( &sts, wbl);
    delete ses;
    // delete wbl;
  }
  catch ( wb_error &e) {
    cout << "Exception: " << e.what() << endl;
  }
}