Chemical Data Processing Library C++ API - Version 1.4.0
Public Member Functions | List of all members
CDPL::Shape::GaussianShapeAlignmentStartGenerator Class Referenceabstract

Abstract base class for generators of starting transformations used to seed Gaussian-shape overlap optimization. More...

#include <GaussianShapeAlignmentStartGenerator.hpp>

+ Inheritance diagram for CDPL::Shape::GaussianShapeAlignmentStartGenerator:

Public Member Functions

virtual ~GaussianShapeAlignmentStartGenerator ()
 Virtual destructor. More...
 
virtual unsigned int setupReference (GaussianShapeFunction &func, Math::Matrix4D &xform) const
 Prepares the reference shape function for use by the start generator. More...
 
virtual unsigned int setupAligned (GaussianShapeFunction &func, Math::Matrix4D &xform) const
 Prepares the aligned shape function for use by the start generator. More...
 
virtual void setReference (const GaussianShapeFunction &ref_shape_func, unsigned int sym_class)=0
 Specifies the reference shape function and its symmetry class. More...
 
virtual bool generate (const GaussianShapeFunction &func, unsigned int sym_class)=0
 Generates the set of starting transformations for the alignment of func. More...
 
virtual std::size_t getNumStartTransforms () const =0
 Returns the number of starting transformations produced by the last generate() call. More...
 
virtual std::size_t getNumStartSubTransforms () const =0
 Returns the number of sub-transformations sharing the same starting transformation index space. More...
 
virtual const QuaternionTransformationgetStartTransform (std::size_t idx) const =0
 Returns the starting transformation at index idx. More...
 

Detailed Description

Abstract base class for generators of starting transformations used to seed Gaussian-shape overlap optimization.

Concrete subclasses (e.g. Shape::PrincipalAxesAlignmentStartGenerator) implement the pure virtual member functions to provide a set of candidate transformations placing the aligned shape relative to the reference shape.

Constructor & Destructor Documentation

◆ ~GaussianShapeAlignmentStartGenerator()

virtual CDPL::Shape::GaussianShapeAlignmentStartGenerator::~GaussianShapeAlignmentStartGenerator ( )
inlinevirtual

Virtual destructor.

Member Function Documentation

◆ setupReference()

virtual unsigned int CDPL::Shape::GaussianShapeAlignmentStartGenerator::setupReference ( GaussianShapeFunction func,
Math::Matrix4D xform 
) const
virtual

Prepares the reference shape function for use by the start generator.

Parameters
funcThe reference shape function (may be modified, e.g. centered).
xformThe output transformation that maps the reference shape from its prepared frame back to its original frame.
Returns
The perceived symmetry class of the reference shape (see namespace Shape::SymmetryClass).

Reimplemented in CDPL::Shape::PrincipalAxesAlignmentStartGenerator.

◆ setupAligned()

virtual unsigned int CDPL::Shape::GaussianShapeAlignmentStartGenerator::setupAligned ( GaussianShapeFunction func,
Math::Matrix4D xform 
) const
virtual

Prepares the aligned shape function for use by the start generator.

Parameters
funcThe aligned shape function (may be modified, e.g. centered).
xformThe output transformation that maps the aligned shape from its prepared frame back to its original frame.
Returns
The perceived symmetry class of the aligned shape (see namespace Shape::SymmetryClass).

Reimplemented in CDPL::Shape::PrincipalAxesAlignmentStartGenerator.

◆ setReference()

virtual void CDPL::Shape::GaussianShapeAlignmentStartGenerator::setReference ( const GaussianShapeFunction ref_shape_func,
unsigned int  sym_class 
)
pure virtual

Specifies the reference shape function and its symmetry class.

Parameters
ref_shape_funcThe reference shape function.
sym_classThe symmetry class of the reference shape (see namespace Shape::SymmetryClass).

Implemented in CDPL::Shape::PrincipalAxesAlignmentStartGenerator.

◆ generate()

virtual bool CDPL::Shape::GaussianShapeAlignmentStartGenerator::generate ( const GaussianShapeFunction func,
unsigned int  sym_class 
)
pure virtual

Generates the set of starting transformations for the alignment of func.

Parameters
funcThe aligned shape function.
sym_classThe symmetry class of the aligned shape (see namespace Shape::SymmetryClass).
Returns
true if at least one starting transformation was produced, and false otherwise.

Implemented in CDPL::Shape::PrincipalAxesAlignmentStartGenerator.

◆ getNumStartTransforms()

virtual std::size_t CDPL::Shape::GaussianShapeAlignmentStartGenerator::getNumStartTransforms ( ) const
pure virtual

Returns the number of starting transformations produced by the last generate() call.

Returns
The number of starting transformations.

Implemented in CDPL::Shape::PrincipalAxesAlignmentStartGenerator.

◆ getNumStartSubTransforms()

virtual std::size_t CDPL::Shape::GaussianShapeAlignmentStartGenerator::getNumStartSubTransforms ( ) const
pure virtual

Returns the number of sub-transformations sharing the same starting transformation index space.

Subclasses that produce multiple sub-transforms per logical start (e.g. for symmetry-related variants) use this method to expose the secondary count.

Returns
The number of sub-transformations per starting transformation.

Implemented in CDPL::Shape::PrincipalAxesAlignmentStartGenerator.

◆ getStartTransform()

virtual const QuaternionTransformation& CDPL::Shape::GaussianShapeAlignmentStartGenerator::getStartTransform ( std::size_t  idx) const
pure virtual

Returns the starting transformation at index idx.

Parameters
idxThe zero-based index of the starting transformation.
Returns
A const reference to the starting transformation.
Exceptions
Base::IndexErrorif the number of starting transformations is zero or idx is not in the range [0, getNumStartTransforms() - 1].

Implemented in CDPL::Shape::PrincipalAxesAlignmentStartGenerator.


The documentation for this class was generated from the following file: