void DagDrawingTool::get_relatives( DLIList<ModelEntity*>& source_set, DLIList<ModelEntity*>& result_set, int direction ) { DLIList<ModelEntity*> temp_set; result_set.clean_out(); for( int i = 0; i < source_set.size(); i++ ) { get_relatives( source_set.get_and_step(), temp_set, direction ); result_set.merge_unique( temp_set ); } }
void FacetLump::get_surfaces( DLIList<FacetSurface*>& result_list ) { DLIList<FacetShell*> shell_list; DLIList<FacetSurface*> tmp_list; get_shells(shell_list); shell_list.reset(); for ( int i = 0; i < shell_list.size(); i++ ) { tmp_list.clean_out(); shell_list.next(i)->get_surfaces( tmp_list ); result_list.merge_unique( tmp_list ); } }
void FacetPoint::get_shells( DLIList<FacetShell*>& result_list ) { DLIList<FacetSurface*> surface_list; DLIList<FacetShell*> temp_list; get_surfaces( surface_list ); surface_list.reset(); for ( int i = surface_list.size(); i--; ) { FacetSurface* surface = surface_list.get_and_step(); temp_list.clean_out(); surface->get_shells( temp_list ); result_list.merge_unique( temp_list ); } }