Molassembler  3.0.0
Molecule graph and conformer library
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Data.h File Reference

Centralizes basic shape data in runtime types. More...

#include "boost/optional/optional_fwd.hpp"
#include "Eigen/Core"
#include "Molassembler/Shapes/Shapes.h"
#include "Molassembler/Shapes/PointGroups.h"
#include "Molassembler/Temple/StrongIndex.h"
#include "Molassembler/Temple/Preprocessor.h"
#include <vector>
Include dependency graph for Data.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 Scine::Molassembler
 Central library namespace.
 
 Scine::Molassembler::Shapes
 Symmetry definitions and properties.
 

Typedefs

using Scine::Molassembler::Shapes::Vertex = Temple::StrongIndex< vertex_index_tag, unsigned >
 Index of a shape vertex.
 
using Scine::Molassembler::Shapes::Permutation = std::vector< Vertex >
 Representation of a shape vertex permutation.
 
using Scine::Molassembler::Shapes::RotationsList = std::vector< Permutation >
 The type to store shape rotations.
 
using Scine::Molassembler::Shapes::AngleFunction = std::function< >
 Function returning angle between vertices. More...
 
using Scine::Molassembler::Shapes::Tetrahedron = std::array< boost::optional< Vertex >, 4 >
 This is a four-vertex tetrahedron definition. More...
 
using Scine::Molassembler::Shapes::TetrahedronList = std::vector< Tetrahedron >
 
using Scine::Molassembler::Shapes::Coordinates = Eigen::Matrix< double, 3, Eigen::Dynamic >
 Representation of idealized shape coordinates (does not include centroid)
 

Functions

const std::string & Scine::Molassembler::Shapes::name (Shape shape)
 Fetch the string name of a shape. More...
 
Shape Scine::Molassembler::Shapes::nameFromString (const std::string &shapeNameString)
 Fetch the shape name from its string. More...
 
std::string Scine::Molassembler::Shapes::spaceFreeName (Shape shape)
 Fetch a space-free string of a shape for file naming. More...
 
unsigned Scine::Molassembler::Shapes::size (Shape shape)
 Fetch the number of vertices of a shape. More...
 
const RotationsList & Scine::Molassembler::Shapes::rotations (Shape shape)
 Fetches a shape's list of rotations. More...
 
const Permutation & Scine::Molassembler::Shapes::mirror (Shape shape)
 Fetches the mirror index mapping for a particular shape. More...
 
AngleFunction Scine::Molassembler::Shapes::angleFunction (Shape shape)
 Gets a shape's angle function. More...
 
Coordinates Scine::Molassembler::Shapes::coordinates (Shape shape)
 Fetch a shape's idealized coordiantes. More...
 
PointGroup Scine::Molassembler::Shapes::pointGroup (Shape shape)
 Get a shape's point group. More...
 
unsigned Scine::Molassembler::Shapes::nameIndex (Shape shape)
 Returns the index of a shape within allShapes. More...
 
const TetrahedronList & Scine::Molassembler::Shapes::tetrahedra (Shape shape)
 Fetches the list of tetrahedra defined in a shape. More...
 
bool Scine::Molassembler::Shapes::threeDimensional (Shape shape)
 Returns whether a shape is three dimensional. More...
 

Variables

constexpr std::array< Shape,
nShapes > 
Scine::Molassembler::Shapes::allShapes
 A list of all the enum class values. More...
 

Detailed Description

Centralizes basic shape data in runtime types.