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

Run-time shape property calculations. More...

#include "Molassembler/Shapes/Data.h"
#include <set>
Include dependency graph for Properties.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  Scine::Molassembler::Shapes::Properties::DistortionInfo
 Data type grouping distortions between shapes. More...
 
struct  Scine::Molassembler::Shapes::Properties::ShapeTransitionGroup
 A grouping of index mappings of equal angular and chiral distortion. More...
 

Namespaces

 Scine
 
 Scine::Molassembler
 Central library namespace.
 
 Scine::Molassembler::Shapes
 Symmetry definitions and properties.
 
 Scine::Molassembler::Shapes::Properties
 Runtime-computed properties of shapes.
 

Functions

Permutation Scine::Molassembler::Shapes::Properties::applyPermutation (const Permutation &occupation, const Permutation &permutation)
 Rotates a passed list of indices with a specified rotation vector. More...
 
std::vector< Vertex > Scine::Molassembler::Shapes::Properties::applyRotation (const Permutation &occupation, Shape shape, unsigned rotationFunctionIndex)
 Rotates a passed list of indices of a specific shape. More...
 
unsigned Scine::Molassembler::Shapes::Properties::rotationPeriodicity (Shape shape, const Permutation &rotation)
 Calculate the periodicty of a shape's index rotation. More...
 
PURITY_WEAK std::vector
< std::vector< Vertex > > 
Scine::Molassembler::Shapes::Properties::positionGroups (Shape shape)
 Group shape vertices according to whether they can be interconverted by rotation. More...
 
std::vector< char > Scine::Molassembler::Shapes::Properties::positionGroupCharacters (Shape shape)
 Generate a character representation of a shape's position groups. More...
 
Permutation Scine::Molassembler::Shapes::Properties::inverseRotation (const Permutation &rotation)
 Generate the inverse rotation to a shape's rotation. More...
 
Eigen::Vector3d Scine::Molassembler::Shapes::Properties::getCoordinates (Shape shape, const boost::optional< Vertex > &vertexOption)
 Gets the coordinates of an indexOptional for a specific shape. More...
 
double Scine::Molassembler::Shapes::Properties::getTetrahedronVolume (const Eigen::Vector3d &i, const Eigen::Vector3d &j, const Eigen::Vector3d &k, const Eigen::Vector3d &l)
 Tetrahedron volume spanned by four positions. More...
 
double Scine::Molassembler::Shapes::Properties::calculateAngleDistortion (Shape from, Shape to, const std::vector< Vertex > &indexMapping)
 Calculates angular distorition for an index mapping between shapes. More...
 
boost::optional< Vertex > Scine::Molassembler::Shapes::Properties::propagateIndexOptionalThroughMapping (const boost::optional< Vertex > &indexOptional, const std::vector< Vertex > &indexMapping)
 Propagates an index optional through an index mapping. More...
 
double Scine::Molassembler::Shapes::Properties::calculateChiralDistortion (Shape from, Shape to, const std::vector< Vertex > &indexMapping)
 Calculates chiral distortion for a transition between shapes. More...
 
std::set< std::vector< Vertex >> Scine::Molassembler::Shapes::Properties::generateAllRotations (Shape shape, const std::vector< Vertex > &indices)
 Generates all rotations of a sequence of indices within a shape. More...
 
std::vector< Vertex > Scine::Molassembler::Shapes::Properties::applyIndexMapping (Shape to, const std::vector< Vertex > &mapping)
 Transform shape positions through a mapping. More...
 
std::vector< DistortionInfo > Scine::Molassembler::Shapes::Properties::shapeTransitionMappings (Shape from, Shape to)
 Calculates ideal index mappings for +1, 0 size transitions. More...
 
std::vector< DistortionInfo > Scine::Molassembler::Shapes::Properties::ligandLossTransitionMappings (Shape from, Shape to, Vertex positionInSourceShape)
 Calculates ideal index mappings for ligand loss transitions. More...
 
ShapeTransitionGroup Scine::Molassembler::Shapes::Properties::selectBestTransitionMappings (const std::vector< DistortionInfo > &distortions)
 Selects the best transition mapping from many DistortionInfos. More...
 
PURITY_WEAK unsigned Scine::Molassembler::Shapes::Properties::numUnlinkedStereopermutations (Shape shape, unsigned nIdenticalLigands)
 Calculates the number of stereopermutations in a specific shape and a number of identical ligands. More...
 
PURITY_WEAK bool Scine::Molassembler::Shapes::Properties::hasMultipleUnlinkedStereopermutations (Shape shape, unsigned nIdenticalLigands)
 Calculates if there are multiple unlinked stereopermutations in a specific shape for a number of identical ligands. More...
 
PURITY_WEAK Shape Scine::Molassembler::Shapes::Properties::mostSymmetric (std::vector< Shape > selection)
 Yields the shape with the most rotations from a selection. More...
 
PURITY_WEAK Shape Scine::Molassembler::Shapes::Properties::mostSymmetric (unsigned shapeSize)
 Yields the shape with the most rotations of a particular size. More...
 

Variables

constexpr double Scine::Molassembler::Shapes::Properties::floatingPointEqualityThreshold [[gnu::unused]] = 1e-4
 

Detailed Description

Run-time shape property calculations.