Class MarkSplitProposer
- All Implemented Interfaces:
CompatibleWithMark
public abstract class MarkSplitProposer
extends ProposerBean<MarkSplitProposer>
implements CompatibleWithMark
An abstract base class for proposing splits of a mark into two new marks.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionabstract Optional
<PairVoxelizedMarkMemo> propose
(VoxelizedMarkMemo mark, ProposerContext context, MarkWithIdentifierFactory markFactory) Proposes a split of the input mark into two new marks.Methods inherited from class org.anchoranalysis.mpp.bean.MarksBean
initializerForMarksBeans
Methods inherited from class org.anchoranalysis.bean.initializable.InitializableBean
getInitialization, getLogger, getPropertyInitializer, initialize, initializeRecursive, initRecursiveWithInitializer, isInitialized, onInitialization
Methods inherited from class org.anchoranalysis.bean.AnchorBean
checkMisconfigured, describeBean, describeChildren, duplicateBean, fields, findFieldsOfClass, getBeanName, getLocalPath, localise, toString
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.anchoranalysis.mpp.mark.CompatibleWithMark
isCompatibleWith
-
Constructor Details
-
MarkSplitProposer
public MarkSplitProposer()
-
-
Method Details
-
propose
public abstract Optional<PairVoxelizedMarkMemo> propose(VoxelizedMarkMemo mark, ProposerContext context, MarkWithIdentifierFactory markFactory) throws ProposalAbnormalFailureException Proposes a split of the input mark into two new marks.- Parameters:
mark
- the mark to be splitcontext
- the context for the proposalmarkFactory
- a factory for creating new marks with identifiers- Returns:
- an Optional containing a pair of new marks if a split is proposed, or empty if no split is proposed
- Throws:
ProposalAbnormalFailureException
- if the proposal fails abnormally
-