Abstract base class for generators of starting transformations used to seed Gaussian-shape overlap optimization.
More...
#include <GaussianShapeAlignmentStartGenerator.hpp>
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.
◆ ~GaussianShapeAlignmentStartGenerator()
| virtual CDPL::Shape::GaussianShapeAlignmentStartGenerator::~GaussianShapeAlignmentStartGenerator |
( |
| ) |
|
|
inlinevirtual |
◆ setupReference()
Prepares the reference shape function for use by the start generator.
- Parameters
-
| func | The reference shape function (may be modified, e.g. centered). |
| xform | The 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()
Prepares the aligned shape function for use by the start generator.
- Parameters
-
| func | The aligned shape function (may be modified, e.g. centered). |
| xform | The 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 |
◆ 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
-
| func | The aligned shape function. |
| sym_class | The 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 |
◆ 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
-
| idx | The zero-based index of the starting transformation. |
- Returns
- A
const reference to the starting transformation.
- Exceptions
-
Implemented in CDPL::Shape::PrincipalAxesAlignmentStartGenerator.
The documentation for this class was generated from the following file: