29 #ifndef CDPL_SHAPE_GAUSSIANSHAPEOVERLAPFUNCTION_HPP
30 #define CDPL_SHAPE_GAUSSIANSHAPEOVERLAPFUNCTION_HPP
46 class GaussianShapeFunction;
Definition of the preprocessor macro CDPL_SHAPE_API.
#define CDPL_SHAPE_API
Tells the compiler/linker which classes, functions and variables are part of the library API.
Definition of class CDPL::Math::VectorArray.
Function representation of a Gaussian shape, used to evaluate the shape's density,...
Definition: GaussianShapeFunction.hpp:61
Abstract base class for functions evaluating the overlap between two Gaussian shape functions.
Definition: GaussianShapeOverlapFunction.hpp:56
virtual double calcSelfOverlap(bool ref) const =0
Calculates the shape-only self-overlap of the reference or aligned shape function.
virtual const ColorMatchFunction & getColorMatchFunction() const =0
Returns the currently configured color-match function.
virtual double calcColorOverlap(const Math::Vector3DArray &coords) const =0
Calculates the color overlap with the aligned shape element positions taken from coords.
virtual void setShapeFunction(const GaussianShapeFunction &func, bool is_ref)=0
Specifies the reference or aligned shape function used by the overlap evaluation.
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 t...
GaussianShapeOverlapFunction(const GaussianShapeOverlapFunction &func)
Definition: GaussianShapeOverlapFunction.hpp:160
virtual double calcOverlap(const Math::Vector3DArray &coords) const =0
Calculates the shape-only overlap with the aligned shape element positions taken from coords.
virtual void setColorMatchFunction(const ColorMatchFunction &func)=0
Specifies the function used to decide whether two color features match.
virtual ~GaussianShapeOverlapFunction()
Virtual destructor.
Definition: GaussianShapeOverlapFunction.hpp:69
GaussianShapeOverlapFunction()
Definition: GaussianShapeOverlapFunction.hpp:158
virtual void setColorFilterFunction(const ColorFilterFunction &func)=0
Specifies the function used to filter color features by type.
GaussianShapeOverlapFunction & operator=(const GaussianShapeOverlapFunction &func)
Definition: GaussianShapeOverlapFunction.hpp:162
std::function< bool(std::size_t)> ColorFilterFunction
Type of the function used to filter color (pharmacophore) features by type.
Definition: GaussianShapeOverlapFunction.hpp:63
virtual double calcOverlap() const =0
Calculates the shape-only overlap of the reference and aligned shape functions.
virtual const ColorFilterFunction & getColorFilterFunction() const =0
Returns the currently configured color-filter function.
virtual const GaussianShapeFunction * getShapeFunction(bool ref) const =0
Returns the reference or aligned shape function.
virtual double calcColorSelfOverlap(bool ref) const =0
Calculates the color self-overlap of the reference or aligned shape function.
std::function< bool(std::size_t, std::size_t)> ColorMatchFunction
Type of the function used to decide whether two color features match.
Definition: GaussianShapeOverlapFunction.hpp:66
virtual double calcColorOverlap() const =0
Calculates the color overlap of the reference and aligned shape functions.
std::shared_ptr< GaussianShapeOverlapFunction > SharedPointer
A reference-counted smart pointer [SHPTR] for dynamically allocated GaussianShapeOverlapFunction inst...
Definition: GaussianShapeOverlapFunction.hpp:60
VectorArray< Vector3D > Vector3DArray
Array storing vectors of type Math::Vector3D.
Definition: VectorArray.hpp:85
The namespace of the Chemical Data Processing Library.