Package schrodinger :: Package application :: Package matsci :: Module shapes :: Class Icosahedron
[hide private]
[frames] | no frames]

Class Icosahedron

      object --+    
               |    
ConvexPolyhedron --+
                   |
                  Icosahedron

Class to manage an icosahedron.

Instance Methods [hide private]
 
__init__(self, scale, center=[0.0, 0.0, 0.0], ref_face_idx=1, ref_face_normal_along=array([ 0., 0., 1.]), ref_edge_idx=1, ref_edge_along=array([ 1., 0., 0.]))
Create an instance.
float
getEdgeLength(self, circumradius)
Return the edge length.
float
getCircumRadius(self, length)
Return the circumradius.
float
getVolume(self, length)
Return the volume.

Inherited from ConvexPolyhedron: addAlignmentAxesToTemplate, addNormalsToTemplate, addPointsToTemplate, addSegmentPlaneIntersectionsToTemplate, alignPolyhedron, allFacesIntersected, getFaces, getReferenceFaces, getSegmentPlaneIntersections, getSurfaceArea, getVertices, makeTemplate, pointInside, translateVertices, updateShape

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__, __sizeof__, __str__, __subclasshook__

Class Variables [hide private]
  NAME = 'icosahedron'
  DEFAULT = [5.0]
  DESCRIPTION = ['edge length']
  TYPE = 'platonic'
  VERTICES = [array([ 0. , 0.5 , 0.80901699]), ar...
  INDICES = [[2, 4, 12], [2, 12, 7], [2, 7, 5], [2, 5, 10], [2, ...
  NUM_UNIQUE_EDGES = 1
  NUM_UNIQUE_FACES = 1
  vertex = [-1.61803398875, 0.0, -1.0]
Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

__init__(self, scale, center=[0.0, 0.0, 0.0], ref_face_idx=1, ref_face_normal_along=array([ 0., 0., 1.]), ref_edge_idx=1, ref_edge_along=array([ 1., 0., 0.]))
(Constructor)

 

Create an instance.

Parameters:
  • scale (float) - multiplicative scaling factor
  • center (numpy.array) - the center of the polyhedron
  • ref_face_idx (int) - specifies which of this polyhedron's available reference faces (symmetry unique faces sorted by decreasing area) to use in the alignment
  • ref_face_normal_along (numpy.array triple) - specifies the vector along which the reference face normal will be aligned
  • ref_edge_idx (int) - specifies which of the reference faces available reference edges (symmetry unique edges sorted by decreasing length) to use in the alignment
  • ref_edge_along (numpy.array triple) - specifies the vector along which the reference edge will be aligned
Overrides: object.__init__

getEdgeLength(self, circumradius)

 

Return the edge length.

Parameters:
  • circumradius (float) - circumradius in Angstrom
Returns: float
edge length in Angstrom

getCircumRadius(self, length)

 

Return the circumradius.

Parameters:
  • length (float) - length in Angstrom
Returns: float
circumradius in Angstrom

getVolume(self, length)

 

Return the volume.

Parameters:
  • length (float) - length in Angstrom
Returns: float
volume in cubic Angstrom

Class Variable Details [hide private]

VERTICES

Value:
[array([ 0.        ,  0.5       ,  0.80901699]),
 array([ 0.        ,  0.5       , -0.80901699]),
 array([ 0.        , -0.5       ,  0.80901699]),
 array([ 0.        , -0.5       , -0.80901699]),
 array([ 0.5       ,  0.80901699,  0.        ]),
 array([ 0.5       , -0.80901699,  0.        ]),
 array([-0.5       ,  0.80901699,  0.        ]),
 array([-0.5       , -0.80901699,  0.        ]),
...

INDICES

Value:
[[2, 4, 12],
 [2, 12, 7],
 [2, 7, 5],
 [2, 5, 10],
 [2, 10, 4],
 [4, 10, 6],
 [4, 6, 8],
 [12, 4, 8],
...