unpopulated method
Returns a feature object of the same subtype as this with certain data members unpopulated (or cleared).
If nothing is unpopulated then this
is returned.
If onBounds
is true (as by default):
- The
bounds
in a returned feature object is ensured to be unpopulated (expect whenbounds
is always available). - If
traverse
> 0, then also bounding boxes of child feature or geometry objects of this feature object are unpopulated for child levels indicated bytraverse
(0: no childs, 1: only direct childs, 2: direct childs and childs of them, ..).
See also populated.
Implementation
@override
FeatureCollection unpopulated({
int traverse = 0,
bool onBounds = true,
}) {
if (onBounds) {
// unpopulate features when traversing is asked
final coll = traverse > 0 && features.isNotEmpty
? features
.map<E>(
(f) => f.unpopulated(traverse: traverse - 1, onBounds: onBounds)
as E,
)
.toList(growable: false)
: features;
// create a new collection if features changed or bounds was populated
if (coll != features || bounds != null) {
return FeatureCollection<E>._(
coll,
coordType,
custom: custom,
);
}
}
return this;
}