[ui] Remove intrinsic if not used by any viewpoint

This commit is contained in:
Aurore LAFAURIE 2024-04-29 15:58:15 +02:00
parent 6791f02f2d
commit 561e9b806c

View file

@ -292,6 +292,24 @@ Panel {
function sendRemoveRequest() {
if (!readOnly) {
// look if the viewpoint's intrinsic is used by another viewpoint
var intrinsicId = object.value.get('intrinsicId').value
var intrinsicUsed = false
for (var i = 0; i < m.viewpoints.count; ++i) {
if (m.viewpoints.at(i) != object && m.viewpoints.at(i).value.get("intrinsicId").value === intrinsicId) {
intrinsicUsed = true
break
}
}
if (!intrinsicUsed) {
//find the intrinsic and remove it
for (var i = 0; i < m.intrinsics.count; ++i) {
if (m.intrinsics.at(i).value.get("intrinsicId").value === intrinsicId) {
_reconstruction.removeAttribute(m.intrinsics.at(i))
break
}
}
}
removeImageRequest(object)
// If the last image has been removed, make sure the viewpoints and intrinsics are reset
if (m.viewpoints.count === 0)