Shapes

_images/all_shapes.png

All shapes that molassembler can classify from positions and treat permutationally. These are shapes from 2 vertices (line, bent) up to 12 vertices (icosahedron, cuboctahedron).

Shapes are classified into molecules by determining the nearest shape with a matching number of vertices.

Shape submodule

class scine_molassembler.shapes.Shape

Enumeration of recognizable polyhedral shapes

>>> all_shapes = Shape.__members__.values() # Full list of shapes
>>> Shape.SquareAntiprism in all_shapes
True
>>> Shape.__members__["TrigonalPrism"] # String lookup
Shape.TrigonalPrism
>>> str(Shape.TrigonalPrism) # displayable string
"trigonal prism"

Members:

Line

Bent

EquilateralTriangle

VacantTetrahedron

T

Tetrahedron

Square

Seesaw

TrigonalPyramid

SquarePyramid

TrigonalBipyramid

Pentagon

Octahedron

TrigonalPrism

PentagonalPyramid

Hexagon

PentagonalBipyramid

CappedOctahedron

CappedTrigonalPrism

SquareAntiprism

Cube

TrigonalDodecahedron

HexagonalBipyramid

TricappedTrigonalPrism

CappedSquareAntiprism

HeptagonalBipyramid

BicappedSquareAntiprism

EdgeContractedIcosahedron

Icosahedron

Cuboctahedron

Bent = Shape.Bent
BicappedSquareAntiprism = Shape.BicappedSquareAntiprism
CappedOctahedron = Shape.CappedOctahedron
CappedSquareAntiprism = Shape.CappedSquareAntiprism
CappedTrigonalPrism = Shape.CappedTrigonalPrism
Cube = Shape.Cube
Cuboctahedron = Shape.Cuboctahedron
EdgeContractedIcosahedron = Shape.EdgeContractedIcosahedron
EquilateralTriangle = Shape.EquilateralTriangle
HeptagonalBipyramid = Shape.HeptagonalBipyramid
Hexagon = Shape.Hexagon
HexagonalBipyramid = Shape.HexagonalBipyramid
Icosahedron = Shape.Icosahedron
Line = Shape.Line
Octahedron = Shape.Octahedron
Pentagon = Shape.Pentagon
PentagonalBipyramid = Shape.PentagonalBipyramid
PentagonalPyramid = Shape.PentagonalPyramid
Seesaw = Shape.Seesaw
Square = Shape.Square
SquareAntiprism = Shape.SquareAntiprism
SquarePyramid = Shape.SquarePyramid
T = Shape.T
Tetrahedron = Shape.Tetrahedron
TricappedTrigonalPrism = Shape.TricappedTrigonalPrism
TrigonalBipyramid = Shape.TrigonalBipyramid
TrigonalDodecahedron = Shape.TrigonalDodecahedron
TrigonalPrism = Shape.TrigonalPrism
TrigonalPyramid = Shape.TrigonalPyramid
VacantTetrahedron = Shape.VacantTetrahedron
property name

handle) -> str

Type

(self

scine_molassembler.shapes.coordinates(shape: scine_molassembler.shapes.Shape) → numpy.ndarray[float64[3, n]]

Idealized spherical coordinates of the shape

scine_molassembler.shapes.name_from_str(name_str: str)scine_molassembler.shapes.Shape

Fetch a shape name from its string representation

>>> s = Shape.CappedSquareAntiprism
>>> str(s)
"capped square antiprism"
>>> name_from_str(str(s))
Shape.CappedSquareAntiprism
scine_molassembler.shapes.size(shape: scine_molassembler.shapes.Shape) → int

Number of vertices of a shape. Does not include a centroid.

>>> size(Shape.Line)
2
>>> size(Shape.Octahedron)
6
>>> size(Shape.Cuboctahedron)
12