SPFeatureI FeatureCoverage::newFeatureFrom(const SPFeatureI& existingFeature) { Locker lock(_mutex); if ( existingFeature.isNull() || existingFeature->isValid() == false) return SPFeatureI(); SPFeatureI newFeature = new Feature(this); for(int i=0; i < existingFeature->trackSize(); ++i) newFeature->set(existingFeature->geometry(),i); _features.push_back(newFeature); quint32 cnt = featureCount(newFeature->ilwisType()); setFeatureCount(newFeature->ilwisType(),++cnt ); return _features.back(); }