- ObjectKind aKind = anObject->GetKind();
- if( aKind > KIND_UNKNOWN && aKind <= KIND_LAST &&
- aKind != KIND_DUMMY_3D && aKind != KIND_ZONE &&
- aKind != KIND_SHAPES_GROUP && aKind != KIND_SPLITTED_GROUP )
- return true;
-
- return false;
+ for ( Standard_Integer anIndex = 1, aLength = aSeq.Length(); anIndex <= aLength; anIndex++ ) {
+ Handle(HYDROData_Entity) anObject = aSeq.Value( anIndex );
+ if( !anObject.IsNull() ) {
+ ObjectKind aKind = anObject->GetKind();
+ bool isUnrecognized = aKind <= KIND_UNKNOWN || aKind > KIND_LAST;
+ bool isChildObject = aKind == KIND_DUMMY_3D ||
+ aKind == KIND_ZONE ||
+ aKind == KIND_SHAPES_GROUP ||
+ aKind == KIND_SPLITTED_GROUP;
+ if ( isUnrecognized || isChildObject ) {
+ isCanCopy = false;
+ break;
+ }
+ }
+ }
+
+ return isCanCopy;