Chemical Data Processing Library Python API - Version 1.4.0
Public Member Functions | Properties | List of all members
CDPL.Shape.GaussianShapeAlignmentStartGenerator Class Reference

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

+ Inheritance diagram for CDPL.Shape.GaussianShapeAlignmentStartGenerator:

Public Member Functions

None __init__ ()
 Initializes the GaussianShapeAlignmentStartGenerator instance.
 
int getObjectID ()
 Returns the numeric identifier (ID) of the wrapped C++ class instance. More...
 
int setupReference (GaussianShapeFunction func, Math.Matrix4D xform)
 Prepares the reference shape function for use by the start generator. More...
 
int setupAligned (GaussianShapeFunction func, Math.Matrix4D xform)
 Prepares the aligned shape function for use by the start generator. More...
 
None setReference (GaussianShapeFunction func, int sym_class)
 
bool generate (GaussianShapeFunction func, int sym_class)
 Generates the set of starting transformations for the alignment of func. More...
 
int getNumStartTransforms ()
 Returns the number of starting transformations produced by the last generate() call. More...
 
int getNumStartSubTransforms ()
 Returns the number of sub-transformations sharing the same starting transformation index space. More...
 
Math.Vector7D getStartTransform (int idx)
 Returns the starting transformation at index idx. More...
 
int __len__ ()
 
Math.Vector7D __getitem__ (int idx)
 

Properties

 objectID = property(getObjectID)
 
 numStartSubTransforms = property(getNumStartSubTransforms)
 

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.

Member Function Documentation

◆ getObjectID()

int CDPL.Shape.GaussianShapeAlignmentStartGenerator.getObjectID ( )

Returns the numeric identifier (ID) of the wrapped C++ class instance.

Different Python GaussianShapeAlignmentStartGenerator instances may reference the same underlying C++ class instance. The commonly used Python expression a is not b thus cannot tell reliably whether the two GaussianShapeAlignmentStartGenerator instances a and b reference different C++ objects. The numeric identifier returned by this method allows to correctly implement such an identity test via the simple expression a.getObjectID() != b.getObjectID().

Returns
The numeric ID of the internally referenced C++ class instance.

◆ setupReference()

int CDPL.Shape.GaussianShapeAlignmentStartGenerator.setupReference ( GaussianShapeFunction  func,
Math.Matrix4D  xform 
)

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).

◆ setupAligned()

int CDPL.Shape.GaussianShapeAlignmentStartGenerator.setupAligned ( GaussianShapeFunction  func,
Math.Matrix4D  xform 
)

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).

◆ setReference()

None CDPL.Shape.GaussianShapeAlignmentStartGenerator.setReference ( GaussianShapeFunction  func,
int  sym_class 
)
Parameters
func
sym_class

◆ generate()

bool CDPL.Shape.GaussianShapeAlignmentStartGenerator.generate ( GaussianShapeFunction  func,
int  sym_class 
)

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.

◆ getNumStartTransforms()

int CDPL.Shape.GaussianShapeAlignmentStartGenerator.getNumStartTransforms ( )

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

Returns
The number of starting transformations.

◆ getNumStartSubTransforms()

int CDPL.Shape.GaussianShapeAlignmentStartGenerator.getNumStartSubTransforms ( )

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.

◆ getStartTransform()

Math.Vector7D CDPL.Shape.GaussianShapeAlignmentStartGenerator.getStartTransform ( int  idx)

Returns the starting transformation at index idx.

Parameters
idxThe zero-based index of the starting transformation.
Returns
A 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].

◆ __len__()

int CDPL.Shape.GaussianShapeAlignmentStartGenerator.__len__ ( )
Returns

◆ __getitem__()

Math.Vector7D CDPL.Shape.GaussianShapeAlignmentStartGenerator.__getitem__ ( int  idx)
Parameters
idx
Returns