Shapes are geometric objects that enables one to locate positions in- or out-side a given shape.

Shapes are constructed from basic geometric shapes, such as cubes, ellipsoids and spheres, and they enable any _set_ operation on them, intersection (A & B), union (A | B), disjunction (A ^ B) or complementary (A - B).

All shapes in sisl allows one to perform arithmetic on them. I.e. one may add two shapes to accomblish what would be equivalent to an & operation. The resulting shape will be a CompositeShape which implements the necessary routines to ensure correct operation.


Baseclass for all shapes.

Cuboid(v[, center, origin])

A cuboid/rectangular prism (P4)

Cube(side[, center, origin])

3D Cube with equal sides

Ellipsoid(v[, center])

3D Ellipsoid shape

Sphere(radius[, center])

3D Sphere

NullShape(*args, **kwargs)

A unique shape which has no well-defined spatial volume or center