Chemical Data Processing Library C++ API - Version 1.2.0
|
SpatialEntityAlignment. More...
#include <SpatialEntityAlignment.hpp>
Public Types | |
typedef T | EntityType |
The actual entity type. More... | |
typedef TopologicalAlignment::ConstEntityIterator | ConstEntityIterator |
A constant iterator over the stored entities. More... | |
typedef std::function< bool(const Util::STPairArray &)> | TopologicalAlignmentConstraintFunction |
A generic wrapper class used to store a user-defined predicate to restrict allowed topological entity alignments. More... | |
typedef std::function< const Math::Vector3D &(const EntityType &)> | Entity3DCoordinatesFunction |
A generic wrapper class used to store a user-defined entity 3D-coordinates function. More... | |
typedef std::function< double(const EntityType &)> | EntityWeightFunction |
A generic wrapper class used to store a user-defined entity alignment weight function. More... | |
typedef TopologicalAlignment::EntityMatchFunction | EntityMatchFunction |
A generic wrapper class used to store a user-defined topological entity match constraint function. More... | |
typedef TopologicalAlignment::EntityPairMatchFunction | EntityPairMatchFunction |
A generic wrapper class used to store a user-defined entity-pair match constraint function. More... | |
Public Member Functions | |
SpatialEntityAlignment () | |
Constructs the SpatialEntityAlignment instance. More... | |
virtual | ~SpatialEntityAlignment () |
Virtual destructor. More... | |
void | setMinTopologicalMappingSize (std::size_t min_size) |
Specifies the minimum number of topologically mapped entities that is required to enable a subsequent spatial alignment. More... | |
std::size_t | getMinTopologicalMappingSize () |
Returns the minimum number of topologically mapped entities that is required to enable a subsequent spatial alignment. More... | |
void | setEntity3DCoordinatesFunction (const Entity3DCoordinatesFunction &func) |
Specifies a function for the retrieval of entity 3D-coordinates. More... | |
const Entity3DCoordinatesFunction & | getEntity3DCoordinatesFunction () const |
Returns the function that was registered for the retrieval of entity 3D-coordinates. More... | |
void | setEntityWeightFunction (const EntityWeightFunction &func) |
Specifies a function for the retrieval of entity weights for spatial alignment. More... | |
const EntityWeightFunction & | getEntityWeightFunction () const |
Returns the function that was registered for the retrieval of entity weights for spatial alignment. More... | |
void | setTopAlignmentConstraintFunction (const TopologicalAlignmentConstraintFunction &func) |
Specifies a function for restricting allowed topological entity alignments. More... | |
const TopologicalAlignmentConstraintFunction & | getTopAlignmentConstraintFunction () const |
Returns the function that was registered for restricting allowed topological entity alignments. More... | |
void | setEntityMatchFunction (const EntityMatchFunction &func) |
Specifies a function for restricting allowed topological entity mappings in the search for alignment solutions. More... | |
const EntityMatchFunction & | getEntityMatchFunction () const |
Returns the function that was registered for restricting allowed topological entity mappings. More... | |
void | setEntityPairMatchFunction (const EntityPairMatchFunction &func) |
Specifies a function for checking the compatibility of entity-pairs in the search for alignment solutions. More... | |
const EntityPairMatchFunction & | getEntityPairMatchFunction () const |
Returns the function that was registered for checking the compatibility of entity-pairs. More... | |
void | performExhaustiveSearch (bool exhaustive) |
bool | exhaustiveSearchPerformed () const |
void | addEntity (const EntityType &entity, bool first_set) |
Adds an entity to the specified alignment entity set. More... | |
void | clearEntities (bool first_set) |
Removes all entities in the specified alignment entity set. More... | |
std::size_t | getNumEntities (bool first_set) const |
Returns the number of entities in the specified alignment entity set. More... | |
ConstEntityIterator | getEntitiesBegin (bool first_set) const |
Returns a constant iterator pointing to the beginning of the entities stored in the specified set. More... | |
ConstEntityIterator | getEntitiesEnd (bool first_set) const |
Returns a constant iterator pointing to the end of the entities stored in the specified set. More... | |
const EntityType & | getEntity (std::size_t idx, bool first_set) const |
Returns a non-const reference to the stored entity at index idx in the specified set. More... | |
bool | nextAlignment () |
Searches for the next alignment solution. More... | |
void | reset () |
const Math::Matrix4D & | getTransform () const |
Returns the alignment transformation matrix that was calculated in the last successful call to nextAlignment(). More... | |
const Util::STPairArray & | getTopologicalMapping () const |
Returns the topological entity mapping resulting from the last successful call to nextAlignment(). More... | |
typedef T CDPL::Chem::SpatialEntityAlignment< T >::EntityType |
The actual entity type.
typedef TopologicalAlignment::ConstEntityIterator CDPL::Chem::SpatialEntityAlignment< T >::ConstEntityIterator |
A constant iterator over the stored entities.
typedef std::function<bool(const Util::STPairArray&)> CDPL::Chem::SpatialEntityAlignment< T >::TopologicalAlignmentConstraintFunction |
A generic wrapper class used to store a user-defined predicate to restrict allowed topological entity alignments.
typedef std::function<const Math::Vector3D&(const EntityType&)> CDPL::Chem::SpatialEntityAlignment< T >::Entity3DCoordinatesFunction |
A generic wrapper class used to store a user-defined entity 3D-coordinates function.
typedef std::function<double(const EntityType&)> CDPL::Chem::SpatialEntityAlignment< T >::EntityWeightFunction |
A generic wrapper class used to store a user-defined entity alignment weight function.
typedef TopologicalAlignment::EntityMatchFunction CDPL::Chem::SpatialEntityAlignment< T >::EntityMatchFunction |
A generic wrapper class used to store a user-defined topological entity match constraint function.
typedef TopologicalAlignment::EntityPairMatchFunction CDPL::Chem::SpatialEntityAlignment< T >::EntityPairMatchFunction |
A generic wrapper class used to store a user-defined entity-pair match constraint function.
CDPL::Chem::SpatialEntityAlignment< T >::SpatialEntityAlignment |
Constructs the SpatialEntityAlignment
instance.
|
inlinevirtual |
Virtual destructor.
void CDPL::Chem::SpatialEntityAlignment< T >::setMinTopologicalMappingSize | ( | std::size_t | min_size | ) |
Specifies the minimum number of topologically mapped entities that is required to enable a subsequent spatial alignment.
min_size | The minimum required number of topologically mapped entities. |
std::size_t CDPL::Chem::SpatialEntityAlignment< T >::getMinTopologicalMappingSize |
Returns the minimum number of topologically mapped entities that is required to enable a subsequent spatial alignment.
void CDPL::Chem::SpatialEntityAlignment< T >::setEntity3DCoordinatesFunction | ( | const Entity3DCoordinatesFunction & | func | ) |
Specifies a function for the retrieval of entity 3D-coordinates.
func | The entity 3D-coordinates function. |
const CDPL::Chem::SpatialEntityAlignment< T >::Entity3DCoordinatesFunction & CDPL::Chem::SpatialEntityAlignment< T >::getEntity3DCoordinatesFunction |
Returns the function that was registered for the retrieval of entity 3D-coordinates.
void CDPL::Chem::SpatialEntityAlignment< T >::setEntityWeightFunction | ( | const EntityWeightFunction & | func | ) |
Specifies a function for the retrieval of entity weights for spatial alignment.
func | The entity weight function. |
const CDPL::Chem::SpatialEntityAlignment< T >::EntityWeightFunction & CDPL::Chem::SpatialEntityAlignment< T >::getEntityWeightFunction |
Returns the function that was registered for the retrieval of entity weights for spatial alignment.
void CDPL::Chem::SpatialEntityAlignment< T >::setTopAlignmentConstraintFunction | ( | const TopologicalAlignmentConstraintFunction & | func | ) |
Specifies a function for restricting allowed topological entity alignments.
func | The constraint check function. |
const CDPL::Chem::SpatialEntityAlignment< T >::TopologicalAlignmentConstraintFunction & CDPL::Chem::SpatialEntityAlignment< T >::getTopAlignmentConstraintFunction |
Returns the function that was registered for restricting allowed topological entity alignments.
void CDPL::Chem::SpatialEntityAlignment< T >::setEntityMatchFunction | ( | const EntityMatchFunction & | func | ) |
Specifies a function for restricting allowed topological entity mappings in the search for alignment solutions.
func | The constraint check function. |
const CDPL::Chem::SpatialEntityAlignment< T >::EntityMatchFunction & CDPL::Chem::SpatialEntityAlignment< T >::getEntityMatchFunction |
Returns the function that was registered for restricting allowed topological entity mappings.
void CDPL::Chem::SpatialEntityAlignment< T >::setEntityPairMatchFunction | ( | const EntityPairMatchFunction & | func | ) |
Specifies a function for checking the compatibility of entity-pairs in the search for alignment solutions.
func | The constraint check function. |
const CDPL::Chem::SpatialEntityAlignment< T >::EntityPairMatchFunction & CDPL::Chem::SpatialEntityAlignment< T >::getEntityPairMatchFunction |
Returns the function that was registered for checking the compatibility of entity-pairs.
void CDPL::Chem::SpatialEntityAlignment< T >::performExhaustiveSearch | ( | bool | exhaustive | ) |
bool CDPL::Chem::SpatialEntityAlignment< T >::exhaustiveSearchPerformed |
void CDPL::Chem::SpatialEntityAlignment< T >::addEntity | ( | const EntityType & | entity, |
bool | first_set | ||
) |
Adds an entity to the specified alignment entity set.
entity | The entity object to add. |
first_set | If true , the entity is added to the first entity set, if false to the second one. |
void CDPL::Chem::SpatialEntityAlignment< T >::clearEntities | ( | bool | first_set | ) |
Removes all entities in the specified alignment entity set.
first_set | If true , the first entity set is cleared, if false the second one. |
std::size_t CDPL::Chem::SpatialEntityAlignment< T >::getNumEntities | ( | bool | first_set | ) | const |
Returns the number of entities in the specified alignment entity set.
first_set | If true , the size of first entity set is returned, if false the size of the second one. |
CDPL::Chem::SpatialEntityAlignment< T >::ConstEntityIterator CDPL::Chem::SpatialEntityAlignment< T >::getEntitiesBegin | ( | bool | first_set | ) | const |
Returns a constant iterator pointing to the beginning of the entities stored in the specified set.
first_set | If true , an iterator for first entity set is returned, if false for the second one. |
CDPL::Chem::SpatialEntityAlignment< T >::ConstEntityIterator CDPL::Chem::SpatialEntityAlignment< T >::getEntitiesEnd | ( | bool | first_set | ) | const |
Returns a constant iterator pointing to the end of the entities stored in the specified set.
first_set | If true , an iterator for first entity set is returned, if false for the second one. |
const CDPL::Chem::SpatialEntityAlignment< T >::EntityType & CDPL::Chem::SpatialEntityAlignment< T >::getEntity | ( | std::size_t | idx, |
bool | first_set | ||
) | const |
Returns a non-const
reference to the stored entity at index idx in the specified set.
idx | The zero-based index of the entity instance to return. |
first_set | true , if the entity to return is stored in the first set. false , if stored in the second set. |
const
reference to the entity stored at index idx in the specified set. Base::IndexError | if the number of entities in the specified set is zero or idx is not in the range [0, getNumEntities() - 1]. |
bool CDPL::Chem::SpatialEntityAlignment< T >::nextAlignment |
Searches for the next alignment solution.
true
if a new alignment solution could be found, and false
otherwise. void CDPL::Chem::SpatialEntityAlignment< T >::reset |
const CDPL::Math::Matrix4D & CDPL::Chem::SpatialEntityAlignment< T >::getTransform |
Returns the alignment transformation matrix that was calculated in the last successful call to nextAlignment().
A transformation of the positions of the entities in the second set aligns them spatially to the topologically mapped entities in the first set.
const CDPL::Util::STPairArray & CDPL::Chem::SpatialEntityAlignment< T >::getTopologicalMapping |
Returns the topological entity mapping resulting from the last successful call to nextAlignment().