26 std::shared_ptr<const Structure>
const &
shared_prim,
41 notstd::make_unique<Supercell>(
m_shared_prim, canonical_lattice);
64 notstd::make_unique<Supercell>(
m_shared_prim, canonical_lattice);
std::shared_ptr< Structure const > shared_prim
notstd::cloneable_ptr< Supercell > m_current
std::unique_ptr< xtal::SuperlatticeEnumerator > m_lattice_enum
xtal::SuperlatticeEnumerator::const_iterator m_lat_it
ScelEnumByProps(std::shared_ptr< const Structure > const &shared_prim, const xtal::ScelEnumProps &enum_props)
Construct with shared prim Structure and ScelEnumProps settings.
std::string name() const override
Derived enumerators must implement name, via ENUM_MEMBERS.
std::shared_ptr< Structure const > m_shared_prim
void increment() override
Implements increment over supercells.
static const std::string enumerator_name
xtal::SuperlatticeEnumerator::const_iterator m_lat_end
void _invalidate()
Call if enumeration complete.
void _increment_step()
Increment current step value.
Data structure for holding supercell enumeration properties.
A fake container of supercell matrices.
bool is_guaranteed_for_database_insert(ConfigEnumAllOccupations const &enumerator)
Lattice equivalent(Lattice const &in_lat, SymOpVector const &point_grp, double compare_tol)