![]() |
Chemical Data Processing Library C++ API - Version 1.4.0
|
Abstract base class for functions evaluating the overlap between two Gaussian shape functions. More...
#include <GaussianShapeOverlapFunction.hpp>
Inheritance diagram for CDPL::Shape::GaussianShapeOverlapFunction:Public Types | |
| typedef std::shared_ptr< GaussianShapeOverlapFunction > | SharedPointer |
A reference-counted smart pointer [SHPTR] for dynamically allocated GaussianShapeOverlapFunction instances. More... | |
| typedef std::function< bool(std::size_t)> | ColorFilterFunction |
| Type of the function used to filter color (pharmacophore) features by type. More... | |
| typedef std::function< bool(std::size_t, std::size_t)> | ColorMatchFunction |
| Type of the function used to decide whether two color features match. More... | |
Public Member Functions | |
| virtual | ~GaussianShapeOverlapFunction () |
| Virtual destructor. More... | |
| virtual void | setShapeFunction (const GaussianShapeFunction &func, bool is_ref)=0 |
| Specifies the reference or aligned shape function used by the overlap evaluation. More... | |
| virtual const GaussianShapeFunction * | getShapeFunction (bool ref) const =0 |
| Returns the reference or aligned shape function. More... | |
| virtual void | setColorMatchFunction (const ColorMatchFunction &func)=0 |
| Specifies the function used to decide whether two color features match. More... | |
| virtual const ColorMatchFunction & | getColorMatchFunction () const =0 |
| Returns the currently configured color-match function. More... | |
| virtual void | setColorFilterFunction (const ColorFilterFunction &func)=0 |
| Specifies the function used to filter color features by type. More... | |
| virtual const ColorFilterFunction & | getColorFilterFunction () const =0 |
| Returns the currently configured color-filter function. More... | |
| virtual double | calcSelfOverlap (bool ref) const =0 |
| Calculates the shape-only self-overlap of the reference or aligned shape function. More... | |
| virtual double | calcColorSelfOverlap (bool ref) const =0 |
| Calculates the color self-overlap of the reference or aligned shape function. More... | |
| virtual double | calcOverlap () const =0 |
| Calculates the shape-only overlap of the reference and aligned shape functions. More... | |
| virtual double | calcColorOverlap () const =0 |
| Calculates the color overlap of the reference and aligned shape functions. More... | |
| virtual double | calcOverlap (const Math::Vector3DArray &coords) const =0 |
| Calculates the shape-only overlap with the aligned shape element positions taken from coords. More... | |
| virtual double | calcColorOverlap (const Math::Vector3DArray &coords) const =0 |
| Calculates the color overlap with the aligned shape element positions taken from coords. More... | |
| virtual double | calcOverlapGradient (const Math::Vector3DArray &coords, Math::Vector3DArray &grad) const =0 |
| Calculates the shape overlap with the aligned shape element positions taken from coords and returns the gradient with respect to those positions. More... | |
Protected Member Functions | |
| GaussianShapeOverlapFunction () | |
| GaussianShapeOverlapFunction (const GaussianShapeOverlapFunction &func) | |
| GaussianShapeOverlapFunction & | operator= (const GaussianShapeOverlapFunction &func) |
Abstract base class for functions evaluating the overlap between two Gaussian shape functions.
Concrete subclasses (e.g. Shape::ExactGaussianShapeOverlapFunction, Shape::FastGaussianShapeOverlapFunction) implement the overlap evaluation using different trade-offs of accuracy vs. speed.
| typedef std::shared_ptr<GaussianShapeOverlapFunction> CDPL::Shape::GaussianShapeOverlapFunction::SharedPointer |
A reference-counted smart pointer [SHPTR] for dynamically allocated GaussianShapeOverlapFunction instances.
| typedef std::function<bool(std::size_t)> CDPL::Shape::GaussianShapeOverlapFunction::ColorFilterFunction |
Type of the function used to filter color (pharmacophore) features by type.
| typedef std::function<bool(std::size_t, std::size_t)> CDPL::Shape::GaussianShapeOverlapFunction::ColorMatchFunction |
Type of the function used to decide whether two color features match.
|
inlinevirtual |
Virtual destructor.
|
inlineprotected |
|
inlineprotected |
|
pure virtual |
Specifies the reference or aligned shape function used by the overlap evaluation.
| func | The shape function. |
| is_ref | If true, func is the reference shape function; otherwise the aligned shape function. |
Implemented in CDPL::Shape::FastGaussianShapeOverlapFunction, and CDPL::Shape::ExactGaussianShapeOverlapFunction.
|
pure virtual |
Returns the reference or aligned shape function.
| ref | If true, the reference shape function is returned; otherwise the aligned shape function. |
nullptr if none is associated). Implemented in CDPL::Shape::FastGaussianShapeOverlapFunction, and CDPL::Shape::ExactGaussianShapeOverlapFunction.
|
pure virtual |
Specifies the function used to decide whether two color features match.
| func | The color-match function. |
Implemented in CDPL::Shape::FastGaussianShapeOverlapFunction, and CDPL::Shape::ExactGaussianShapeOverlapFunction.
|
pure virtual |
Returns the currently configured color-match function.
const reference to the color-match function. Implemented in CDPL::Shape::FastGaussianShapeOverlapFunction, and CDPL::Shape::ExactGaussianShapeOverlapFunction.
|
pure virtual |
Specifies the function used to filter color features by type.
| func | The color-filter function. |
Implemented in CDPL::Shape::FastGaussianShapeOverlapFunction, and CDPL::Shape::ExactGaussianShapeOverlapFunction.
|
pure virtual |
Returns the currently configured color-filter function.
const reference to the color-filter function. Implemented in CDPL::Shape::FastGaussianShapeOverlapFunction, and CDPL::Shape::ExactGaussianShapeOverlapFunction.
|
pure virtual |
Calculates the shape-only self-overlap of the reference or aligned shape function.
| ref | If true, the reference self-overlap is returned; otherwise the aligned self-overlap. |
Implemented in CDPL::Shape::FastGaussianShapeOverlapFunction, and CDPL::Shape::ExactGaussianShapeOverlapFunction.
|
pure virtual |
Calculates the color self-overlap of the reference or aligned shape function.
| ref | If true, the reference color self-overlap is returned; otherwise the aligned color self-overlap. |
Implemented in CDPL::Shape::FastGaussianShapeOverlapFunction, and CDPL::Shape::ExactGaussianShapeOverlapFunction.
|
pure virtual |
Calculates the shape-only overlap of the reference and aligned shape functions.
Implemented in CDPL::Shape::FastGaussianShapeOverlapFunction, and CDPL::Shape::ExactGaussianShapeOverlapFunction.
|
pure virtual |
Calculates the color overlap of the reference and aligned shape functions.
Implemented in CDPL::Shape::FastGaussianShapeOverlapFunction, and CDPL::Shape::ExactGaussianShapeOverlapFunction.
|
pure virtual |
Calculates the shape-only overlap with the aligned shape element positions taken from coords.
| coords | The element 3D positions of the aligned shape. |
Implemented in CDPL::Shape::FastGaussianShapeOverlapFunction, and CDPL::Shape::ExactGaussianShapeOverlapFunction.
|
pure virtual |
Calculates the color overlap with the aligned shape element positions taken from coords.
| coords | The element 3D positions of the aligned shape. |
Implemented in CDPL::Shape::FastGaussianShapeOverlapFunction, and CDPL::Shape::ExactGaussianShapeOverlapFunction.
|
pure virtual |
Calculates the shape overlap with the aligned shape element positions taken from coords and returns the gradient with respect to those positions.
| coords | The element 3D positions of the aligned shape. |
| grad | The output element-wise gradient of the overlap. |
Implemented in CDPL::Shape::FastGaussianShapeOverlapFunction, and CDPL::Shape::ExactGaussianShapeOverlapFunction.
|
inlineprotected |