chemaxon.checkers
Class OverlappingBondsChecker

java.lang.Object
  extended by chemaxon.checkers.AbstractStructureChecker
      extended by chemaxon.checkers.ComponentChecker<MolBond>
          extended by chemaxon.checkers.BondChecker
              extended by chemaxon.checkers.OverlappingBondsChecker
All Implemented Interfaces:
StructureChecker, chemaxon.license.Licensable, java.beans.PropertyChangeListener, java.lang.Cloneable, java.util.EventListener

public class OverlappingBondsChecker
extends BondChecker

OverlappingBondsChecker detects bonds that are too close to each other.

This checker checks two dimensional structures only.

Two bonds considered as overlapping when they crossing each other, or their distance is smaller then the 80% of the standard ChemAxon bond length ( MolBond.CCLENGTH ). Here distance means the distance of two line segments in euclidean space.

Since:
Marvin 5.3
Version:
5.7
Author:
Attila Szabo
See Also:
MolBond.CCLENGTH

Field Summary
 
Fields inherited from class chemaxon.checkers.AbstractStructureChecker
errorType, propertyChangeSupport
 
Fields inherited from interface chemaxon.checkers.StructureChecker
PROPERTY_KEY_VALID
 
Constructor Summary
OverlappingBondsChecker()
          Default constructor
 
Method Summary
protected  boolean check(Molecule molecule, MolBond bond)
          Detects bond of the molecule is crossing another bond or closer than the limit distance.
protected  StructureCheckerResult check1(Molecule molecule)
          Iterates through the components and checks every component.
 
Methods inherited from class chemaxon.checkers.BondChecker
createResult, getComponent, getComponentCount
 
Methods inherited from class chemaxon.checkers.ComponentChecker
initialize
 
Methods inherited from class chemaxon.checkers.AbstractStructureChecker
addPropertyChangeListener, addPropertyChangeListener, check, clone, cloneItem, convertResult, equals, expandMolecule, getDescription, getDescriptor, getEditorClassName, getErrorCode, getErrorDescription, getErrorType, getHelpText, getIcon, getLocalMenuName, getName, hashCode, isAvailable, isLicensed, isValid, propertyChange, removePropertyChangeListener, removePropertyChangeListener, setDescription, setHelpText, setIcon, setLicenseEnvironment, setLocalMenuName, setMoreErrorMessage, setName, setNoErrorMessage, setOneErrorMessage, toString
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

OverlappingBondsChecker

public OverlappingBondsChecker()
Default constructor

Method Detail

check1

protected StructureCheckerResult check1(Molecule molecule)
Description copied from class: ComponentChecker
Iterates through the components and checks every component. If a component has error it is added to a List. After the iteration if no problem occurred the result is null otherwise the method creates a StructureCheckerResult containing the atoms and bonds of the problematic components.

Overrides:
check1 in class ComponentChecker<MolBond>
Parameters:
molecule - the Molecule instance to be checked for problems
Returns:
a StructureCheckerResult which contains all the indices of the problematic components

check

protected boolean check(Molecule molecule,
                        MolBond bond)
Detects bond of the molecule is crossing another bond or closer than the limit distance.

Specified by:
check in class ComponentChecker<MolBond>
Parameters:
bond - the index of the bond (MolBond instance) in the molecule to check
molecule - is a Molecule instance
Returns:
true if the molecule contains crossing bonds, false otherwise