Class OrientationProposer

All Implemented Interfaces:
CompatibleWithMark

public abstract class OrientationProposer extends MarksBean<OrientationProposer> implements CompatibleWithMark
An abstract base class for proposing orientations for marks.
  • Constructor Details

    • OrientationProposer

      public OrientationProposer()
  • Method Details

    • propose

      public abstract Optional<Orientation> propose(Mark mark, Dimensions dimensions, RandomNumberGenerator randomNumberGenerator) throws ProposalAbnormalFailureException
      Proposes an orientation for a given mark.
      Parameters:
      mark - the mark for which to propose an orientation
      dimensions - the dimensions of the space in which the mark exists
      randomNumberGenerator - a random number generator for any stochastic processes
      Returns:
      an Optional containing the proposed Orientation, or empty if no orientation is proposed
      Throws:
      ProposalAbnormalFailureException - if the proposal fails abnormally