mirror of
https://git.salome-platform.org/gitpub/modules/geom.git
synced 2025-02-13 20:23:08 +05:00
Fix problem in DifferenceList() function: when group becomes empty, an invalid compound is created by error.
This commit is contained in:
parent
3ef88bf27f
commit
fa7612374a
@ -485,14 +485,20 @@ void GEOMImpl_IGroupOperations::DifferenceList (Handle(GEOM_Object) theGroup,
|
||||
|
||||
if (mapIDsToRemove.Extent() > 0) {
|
||||
Standard_Integer k = 1, aRemLength = mapIDsToRemove.Extent();
|
||||
Handle(TColStd_HArray1OfInteger) aNewSeq = new TColStd_HArray1OfInteger(1, aLength - aRemLength);
|
||||
|
||||
for (j = 1; j <= aLength; j++) {
|
||||
if (!mapIDsToRemove.Contains(aSeq->Value(j))) {
|
||||
aNewSeq->SetValue(k, aSeq->Value(j));
|
||||
k++;
|
||||
Handle(TColStd_HArray1OfInteger) aNewSeq;
|
||||
if ( aLength - aRemLength > 0 ) {
|
||||
aNewSeq = new TColStd_HArray1OfInteger(1, aLength - aRemLength);
|
||||
for (j = 1; j <= aLength; j++) {
|
||||
if (!mapIDsToRemove.Contains(aSeq->Value(j))) {
|
||||
aNewSeq->SetValue(k, aSeq->Value(j));
|
||||
k++;
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
aNewSeq = new TColStd_HArray1OfInteger(1,1);
|
||||
aNewSeq->SetValue(1, -1);
|
||||
}
|
||||
|
||||
aSSI.SetIndices(aNewSeq);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user