- Direct Known Subclasses:
- Cube, Dodecahedron, Icosahedron, Octahedron, RhombicDodecahedron, Rhombohedron, Tetrahedron
public abstract class RegularPolyhedronextends IFSRepresents a regular polyhedron, with a parameter that allows the corners to be "truncated" by various amounts. In fact, this class can also be used for many non-regular polyhedra. The main requirement is that the algorithm that is used for truncating the corners of the polyhedron makes the following assumption: For each vertex, the opposite endpoints of the set of edges that are incident on that vertex must be co-planar (otherwise, the facets that are produced when the corners are truncated will not be planar polygons). Also, the faces should not have any colinear vertices; that is, all the vertices of each face should be real corners of that face.
This class is abstract, even though it has no abstract methods, because this class does not define any data for any polyhedron. The data must be provided by any concrete subclass, probably in the constructor of the subclass, but in any case before the computeDrawData3D() method in this class is called.