Source code for sknano.core.atoms.structure_atoms

# -*- coding: utf-8 -*-
"""
===============================================================================
Atom classes for structure analysis (:mod:`sknano.core.atoms.structure_atoms`)
===============================================================================

.. currentmodule:: sknano.core.atoms.structure_atoms

"""
from __future__ import absolute_import, division, print_function
from __future__ import unicode_literals

__docformat__ = 'restructuredtext en'

# from operator import attrgetter

# from .cn_atoms import CNAtom, CNAtoms
from .id_atoms import IDAtom, IDAtoms
from .charged_atoms import ChargedAtom, ChargedAtoms
from .image_atoms import ImageAtom, ImageAtoms
from .type_atoms import TypeAtom, TypeAtoms
from .neighbor_atoms import NeighborAtom, NeighborAtoms
from .lattice_atoms import LatticeAtom, LatticeAtoms
from .xyz_atoms import XYZAtom, XYZAtoms
# from .velocity_atoms import VelocityAtom, VelocityAtoms
from .mixins import AtomAdapterMixin, AtomsAdapterMixin, \
    AtomTopologyMixin, AtomsTopologyMixin, AtomTransformationsMixin, \
    AtomsTransformationsMixin, BoundingRegionsMixin, \
    POAVAtomMixin, POAVAtomsMixin, RingAtomMixin, RingAtomsMixin


__all__ = ['StructureAtom', 'StructureAtoms']


[docs]class StructureAtom(AtomAdapterMixin, AtomTopologyMixin, AtomTransformationsMixin, POAVAtomMixin, RingAtomMixin, NeighborAtom, ImageAtom, LatticeAtom, XYZAtom, ChargedAtom, TypeAtom, IDAtom): """An :class:`Atom` class for structure analysis.""" pass
[docs]class StructureAtoms(AtomsAdapterMixin, AtomsTopologyMixin, AtomsTransformationsMixin, BoundingRegionsMixin, POAVAtomsMixin, RingAtomsMixin, NeighborAtoms, ImageAtoms, LatticeAtoms, XYZAtoms, ChargedAtoms, TypeAtoms, IDAtoms): """An :class:`Atoms` sub-class for structure analysis.""" @property def __atom_class__(self): return StructureAtom