public static boolean isTrigonalBipyramidal ( IAtom atomA , IAtom atomB , IAtom atomC , IAtom atomD , IAtom atomE , IAtom atomF ) { Point3d pointA = atomA . getPoint3d ( ) ; Point3d pointB = atomB . getPoint3d ( ) ; Point3d pointC = atomC . getPoint3d ( ) ; Point3d pointD = atomD . getPoint3d ( ) ; Point3d pointE = atomE . getPoint3d ( ) ; Point3d pointF = atomF . getPoint3d ( ) ; boolean isColinearABF = StereoTool . isColinear ( pointA , pointB , pointF ) ; if ( isColinearABF ) { // the normal to the equatorial plane Vector3d normal = StereoTool . getNormal ( pointC , pointD , pointE ) ; // get the side of the plane that axis point A is TetrahedralSign handednessCDEA = StereoTool . getHandedness ( normal , pointC , pointF ) ; // get the side of the plane that axis point F is TetrahedralSign handednessCDEF = StereoTool . getHandedness ( normal , pointC , pointA ) ; // in other words, the two axial points (A,F) are on opposite sides // of the equatorial plane CDE return handednessCDEA != handednessCDEF ; } else { return false ; } }
Checks these 6 atoms to see if they form a trigonal - bipyramidal shape .