OEOrientByMomentsOfInertia

unsigned int OEOrientByMomentsOfInertia(OEChem::OEMolBase & argMol,
                                        OEChem::OETrans& argTransform,
                                        const double argThreshold = 0.15);

unsigned int OEOrientByMomentsOfInertia(OESystem::OEScalarGrid &argGrid,
                                        OEChem::OETrans& argTransform,
                                        const double argThreshold = 0.15);

unsigned int OEOrientByMomentsOfInertia(OEShapeQuery& argQuery,
                                        OEChem::OETrans& argTransform,
                                        const double argThreshold = 0.15);

Calculate the transform required to move the object (the specified molecule, grid or the shape query) to the center of its inertial frame, and apply the transform to move the object to the inertial frame. Method returns the moments symmetry of the object defined in the OEMomentSymmetry namespace. The transform required to get the object back into the original frame is returned in the second argument of the method.