Class NeighborhoodCondition
Object
NeighborhoodCondition
- All Implemented Interfaces:
UpdatableBeforeCondition
A condition to determine if two objects are potential neighbors and candidates for merging.
This condition implements UpdatableBeforeCondition
to allow efficient updates when the
source object changes.
-
Constructor Summary
ConstructorsConstructorDescriptionNeighborhoodCondition
(boolean requireBBoxNeighbors, boolean requireTouching) Creates a newNeighborhoodCondition
. -
Method Summary
Modifier and TypeMethodDescriptionboolean
accept
(ObjectMask destination) Checks if the destination object should be merged with the previously set source object.void
updateSourceObject
(ObjectMask source, Optional<UnitConverter> unitConverter) Updates the source object and performs any necessary pre-computations.
-
Constructor Details
-
NeighborhoodCondition
public NeighborhoodCondition(boolean requireBBoxNeighbors, boolean requireTouching) Creates a newNeighborhoodCondition
.- Parameters:
requireBBoxNeighbors
- whether to require bounding boxes to be neighborsrequireTouching
- whether to require objects to be touching
-
-
Method Details
-
updateSourceObject
public void updateSourceObject(ObjectMask source, Optional<UnitConverter> unitConverter) throws OperationFailedException Description copied from interface:UpdatableBeforeCondition
Updates the source object and performs any necessary pre-computations.- Specified by:
updateSourceObject
in interfaceUpdatableBeforeCondition
- Parameters:
source
- the sourceObjectMask
unitConverter
- an optionalUnitConverter
for unit conversions- Throws:
OperationFailedException
- if the update operation fails
-
accept
Description copied from interface:UpdatableBeforeCondition
Checks if the destination object should be merged with the previously set source object.- Specified by:
accept
in interfaceUpdatableBeforeCondition
- Parameters:
destination
- the destinationObjectMask
to check against the source- Returns:
- true if the objects should be merged, false otherwise
-