proc ic_geo_incident {type names {even_if_dormant 0}} {
    global projlib
    set objs ""
    foreach name $names {
	set obj [$projlib get_object_by_name $type $name]
	if {$obj != ""} { set objs [concat $objs [$obj incident ]] }
    }
    return $objs
}

proc ic_geo_boundary {type names {outer 0} {even_if_dormant 0} {embedded 0}} {
    global projlib

    if {"" == $names} { set names [ic_geo_get_objects $type ""] }
    set bnds ""
    set nn [llength $names]
    foreach n $names {
        set obj [$projlib get_object_by_name $type $n]
        if {"" == $obj} { continue }
        if 0 { set bnd [$obj boundary] } else {
            set bnd [object_boundary_of_image $obj $outer ]
        }
        # this prints too many messages for some examples
        #if {"" == $bnd} { mess "couldn't get boundary for $type $n\n" red }
        if {1 == $nn} {
            return $bnd
        } elseif {"" != $bnd} { lappend bnds $bnd }
    }
    return $bnds
}

