C# Class R3.Geometry.H3Supp

This class is used to generate the really exotic H3 honeycombs, the {4,4,4}, {3,6,3}, and {6,3,6}.
显示文件 Open project: roice3/Honeycombs

Public Methods

Method Description
GenerateExotic ( EHoneycomb honeycomb, H3 settings ) : void

Our approach will be: (1) Generate a portion of one cell. (2) Reflect all facets in the central facet, to get things filled-in inside the central facet. (Trim small edges here?) (3) Copy this region around the plane, and go back to step (2) if density is not high enough. (4) Map to Ball, trimming edges that become too small. NOTE: All verts are on the boundary, so we can reflect around in circles on the plane at infinity, rather than spheres.

IsExotic ( EHoneycomb honeycomb ) : bool

Private Methods

Method Description
CopyAndProject ( List regionEdges, Tiling tiling, double scale, Vector3D offset ) : List
DoOneStep ( List regionEdges, Tiling tiling, Circle region ) : List

Helper to do one step of reflections. Returns a new list of region edges.

EdgeCenteredScale ( Tile baseTile ) : double
EdgeOk ( H3 edge, double cutoff ) : bool
EdgeOkBall ( H3 edge ) : bool
EdgeOkUHS ( H3 edge, Circle region ) : bool
FaceCenteredScale ( Circle vertexCircle ) : double
GetAssociatedTiling ( EHoneycomb honeycomb, Tiling &tiling, Tile &baseTile ) : void
GetPQ ( EHoneycomb honeycomb, int &p, int &q ) : void

Method Details

GenerateExotic() public static method

Our approach will be: (1) Generate a portion of one cell. (2) Reflect all facets in the central facet, to get things filled-in inside the central facet. (Trim small edges here?) (3) Copy this region around the plane, and go back to step (2) if density is not high enough. (4) Map to Ball, trimming edges that become too small. NOTE: All verts are on the boundary, so we can reflect around in circles on the plane at infinity, rather than spheres.
public static GenerateExotic ( EHoneycomb honeycomb, H3 settings ) : void
honeycomb EHoneycomb
settings H3
return void

IsExotic() public static method

public static IsExotic ( EHoneycomb honeycomb ) : bool
honeycomb EHoneycomb
return bool