model_server/subsystem/src/autosubsys.cxx
//
// Init builds the entity table, creates the relation network, calculates
// the global binding, and optionally dumps the entity table to 
// $ASET_ENTITY_DUMP_FILE.
Init builds the entity table, creates the relation network, calculates
the global binding, and optionally dumps the entity table to
$ASET_ENTITY_DUMP_FILE.
Init builds the entity table creates the relation network calculates the global binding and optionally dumps the entity table to $ASET_ENTITY_DUMP_FILE .
int decomposer::init() {
  Initialize(decomposer::init);
  projs_with_pmods.remove_all();
  objArr projs;
  projNodePtr proj;
  size_t i;
  for (i = 0; ; i++) {
     proj = projList::domain(i);
     if (proj) {
	get_pmod_projs_from(projs, proj);
     }
     else break;
  }
  for (i = 0; i < projs.size(); i++) {
     projs_with_pmods.insert(projs[i]);
  }
  Entity::set_projects_to_search(projs_with_pmods);
  if (!additems()) {
     return 0;
  }
  if (!already_inited) {
     objArr projs;
     projNodePtr proj;
     size_t i;
     for (i = 0; ; i++) {
	    proj = projList::domain(i);
	    if (proj) {
	       projs.insert_last(proj);
		}
	    else break;
     }
     proj = projNode::get_home_proj();
     if (proj) {
	     projList::domain_add(proj->get_name());
     }
     if (proj) {	
	     projList::domain_reset();
	     for (i = 0; i < projs.size(); i++) {
	        proj = projNodePtr(projs[i]);
	        projList::domain_add(proj->get_name());
		 }
     }
  }
  if (allentities.empty()) {
     return 0;
  }
  if (!already_inited) {
     if (!allentities.relate()) {
	     return 0;
     }
     already_inited = true;
  }
  return 1;
}
int decomposer :: init ( ) { Initialize ( decomposer :: init ) ; projs_with_pmods . remove_all ( ) ; objArr projs ; projNodePtr proj ; size_t i ; for ( i = 0 ; ; i ++ ) { proj = projList :: domain ( i ) ; if ( proj ) { get_pmod_projs_from ( projs , proj ) ; } else break ; } for ( i = 0 ; i < projs . size ( ) ; i ++ ) { projs_with_pmods . insert ( projs [ i ] ) ; } Entity :: set_projects_to_search ( projs_with_pmods ) ; if ( ! additems ( ) ) { return 0 ; } if ( ! already_inited ) { objArr projs ; projNodePtr proj ; size_t i ; for ( i = 0 ; ; i ++ ) { proj = projList :: domain ( i ) ; if ( proj ) { projs . insert_last ( proj ) ; } else break ; } proj = projNode :: get_home_proj ( ) ; if ( proj ) { projList :: domain_add ( proj -> get_name ( ) ) ; } if ( proj ) { projList :: domain_reset ( ) ; for ( i = 0 ; i < projs . size ( ) ; i ++ ) { proj = projNodePtr ( projs [ i ] ) ; projList :: domain_add ( proj -> get_name ( ) ) ; } } } if ( allentities . empty ( ) ) { return 0 ; } if ( ! already_inited ) { if ( ! allentities . relate ( ) ) { return 0 ; } already_inited = true ; } return 1 ; }
Init builds the entity table, creates the relation network, calculates
the global binding, and optionally dumps the entity table to
$ASET_ENTITY_DUMP_FILE.
Init builds the entity table creates the relation network calculates the global binding and optionally dumps the entity table to $ASET_ENTITY_DUMP_FILE .
// added home proj, must now remove