// get all object you want to redraw( if you want redraw all object, just dispath the root is OK
CATLISTV(CATISpecObject_var) spList;
spDescendants->GetAllChildren( _your_Mask_, spList);
// loop
for(int index = 1 ; index <= spList.Size() ; index++){
CATISpecObject_var spSpec = spList[index];
if(!spSpec){
continue;
}
// dispatch
// DispatchModelModifyToVisuFather of spSpec here
}
} while (false );