1 #ifndef CASM_cluterography_io_OrbitPrinter
2 #define CASM_cluterography_io_OrbitPrinter
15 class IntegralCluster;
31 bool itemize_orbits =
false;
32 int max_line_width = 100;
34 bool print_equivalence_map =
false;
35 bool print_invariant_group =
false;
62 template <
typename OrbitType>
66 template <
typename OrbitType>
70 template <
typename OrbitType>
73 template <
typename OrbitType,
typename Element>
77 template <
typename OrbitType,
typename Element>
82 template <
typename _Element>
108 template <
typename _Element, ORBIT_PRINT_MODE>
112 template <
typename _Element>
121 template <
typename OrbitType>
122 void operator()(
const OrbitType &orbit,
Log &out,
Index orbit_index,
123 Index Norbits)
const;
125 template <
typename OrbitType>
130 template <
typename _Element>
136 template <
typename _Element>
145 template <
typename OrbitType>
146 void operator()(
const OrbitType &orbit,
Log &out,
Index orbit_index,
147 Index Norbits)
const;
149 template <
typename OrbitType>
154 template <
typename _Element>
160 template <
typename ClusterOrbitIterator,
typename OrbitPr
inter>
161 void print_clust(ClusterOrbitIterator begin, ClusterOrbitIterator end,
Log &out,
165 template <
typename ClusterOrbitIterator>
166 void print_clust(ClusterOrbitIterator begin, ClusterOrbitIterator end,
Log &out,
173 template <
typename ClusterOutputIterator,
typename SymCompareType>
174 ClusterOutputIterator
read_clust(ClusterOutputIterator result,
177 const SymCompareType &sym_compare);
180 template <
typename ClusterOutputIterator>
181 ClusterOutputIterator
read_clust(ClusterOutputIterator result,
185 template <
typename ClusterOrbitIterator,
typename Pr
inter>
190 template <
typename ClusterOrbitIterator>
196 template <
typename ClusterOrbitIterator,
typename Pr
inter>
#define ENUM_TRAITS(ENUM)
#define ENUM_JSON_IO_DECL(ENUM)
#define ENUM_IO_DECL(ENUM)
void decrease_indent_spaces(int n)
void increase_indent_spaces(int n)
Structure specifies the lattice and atomic basis of a crystal.
SymGroup is a collection of symmetry operations that satisfy the group property The symmetry operatio...
COORD_MODE specifies the current coordinate mode (Fractional or Cartesian)
jsonParser & write_clust(ClusterOrbitIterator begin, ClusterOrbitIterator end, jsonParser &json, Printer printer)
Write Orbit<SymCompareType> to JSON.
Printer< IntegralCluster > SitesPrinter
jsonParser & to_json(const ClexDescription &desc, jsonParser &json)
void print_clust(ClusterOrbitIterator begin, ClusterOrbitIterator end, Log &out, OrbitPrinter printer)
Print IntegralCluster orbits.
FullOrbitPrinter< IntegralCluster > FullSitesPrinter
void print_coordinates(OrbitPrinter &printer, const Element &element, Log &out)
void from_json(ClexDescription &desc, const jsonParser &json)
INDEX_TYPE Index
For long integer indexing:
PrototypePrinter< IntegralCluster > ProtoSitesPrinter
ClusterOutputIterator read_clust(ClusterOutputIterator result, const jsonParser &json, const Structure &prim, const SymGroup &generating_grp, const SymCompareType &sym_compare)
Read JSON containing Orbit<SymCompareType> prototypes.
Print Orbit<SymCompareType>, including all equivalents.
OrbitPrinter(const OrbitPrinterOptions &_opt=OrbitPrinterOptions())
Print Orbit<SymCompareType>, including only prototypes.
OrbitPrinter(const OrbitPrinterOptions &_opt=OrbitPrinterOptions())
SymInfoOptions sym_info_opt
Printer(const OrbitPrinterOptions &_opt=OrbitPrinterOptions())
static const std::string element_name
void decrease_indent(Log &out) const
void coord_type(Log &out)
void print_invariant_group(const OrbitType &orbit, const Element &element, Log &out) const
PrinterBase(const OrbitPrinterOptions &_opt=OrbitPrinterOptions())
void increase_indent(Log &out) const
void print_equivalence_map(const OrbitType &orbit, Index equiv_index, Log &out) const
void print(const Element &element, Log &out) const
Printer(const OrbitPrinterOptions &_opt=OrbitPrinterOptions())
Options for printing SymInfo.
Helper struct for constructing objects that need additional data.
static ReturnType from_json(const jsonParser &json)
Default from_json is equivalent to.