Class MarkSplitProposer
Object
org.anchoranalysis.bean.AnchorBean<B>
org.anchoranalysis.bean.initializable.InitializableBean<T,MarksInitialization>
org.anchoranalysis.mpp.bean.MarksBean<T>
org.anchoranalysis.mpp.bean.proposer.ProposerBean<MarkSplitProposer>
org.anchoranalysis.mpp.bean.proposer.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 Constructor Description MarkSplitProposer() -
Method Summary
Modifier and Type Method Description abstract 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.bean.initializable.InitializableBean
getInitialization, getLogger, getPropertyInitializer, initialize, initializeRecursive, initRecursiveWithInitializer, isInitialized, onInitializationMethods inherited from class org.anchoranalysis.bean.AnchorBean
checkMisconfigured, describeBean, describeChildren, duplicateBean, fields, findFieldsOfClass, getBeanName, getLocalPath, localise, toString
-
Constructor Details
-
MarkSplitProposer
public MarkSplitProposer()
-
-
Method Details
-
propose
public abstract Optional<PairVoxelizedMarkMemo> propose(VoxelizedMarkMemo mark, ProposerContext context, MarkWithIdentifierFactory markFactory) throws ProposalAbnormalFailureExceptionProposes 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
-