C# Class R3.Geometry.Recurse

ファイルを表示 Open project: roice3/Honeycombs

Public Properties

Property Type Description
m_background Vector3D

Public Methods

Method Description
BranchAlongVerts ( Vector3D starting, Dictionary vertsToEdges, HashSet foundVertices ) : void
CalcCells ( Sphere mirrors, H3 cells ) : H3.Cell[]
CalcCells ( Sphere mirrors, H3 cells, Settings settings ) : H3.Cell[]
CalcCells2 ( Sphere mirrors, H3 cells ) : H3.Cell[]
CalcCells2 ( Sphere mirrors, H3 cells, Settings settings ) : H3.Cell[]
CalcEdges ( Sphere simplex, H3.Cell.Edge edges ) : R3.Math.Edge[]
CalcEdges ( Sphere simplex, H3.Cell.Edge edges, Settings settings ) : R3.Math.Edge[]
CalcEdgesSmart ( Sphere simplex, H3.Cell.Edge edges ) : R3.Math.Edge[]

Attempts to calculate approx 1.3M edges when the threshold is a distance from origin in the ball model. This works for honeycombs with finite cells.

CalcEdgesSmart2 ( Sphere simplex, H3.Cell.Edge edges ) : R3.Math.Edge[]

Attempts to calculate approx 1.3M edges when the threshold is a minimum edge length. This is required for honeycombs with ideal or ultra-ideal cells

GenPolyhedron ( Sphere mirrors, H3 facets, List completedFacets, HashSet completedFacetIds ) : void

This generates a polyhedron using recursion. It needs to be finite (There are not any other breakouts of the recursion, other than all facets having been generated.)

Private Methods

Method Description
CellOk ( H3 cell, Settings s ) : bool
DefaultThresh ( ) : double
EdgeOk ( H3.Cell.Edge edge, Settings s ) : bool
ReflectCellsRecursive ( Sphere simplex, H3 cells, Settings settings, List completedCells, HashSet completedCellIds ) : void
ReflectCellsRecursive2 ( Sphere simplex, H3 cells, Settings settings, List completedCells, HashSet completedCellIds ) : void
ReflectEdgesRecursive ( Sphere simplex, H3.Cell.Edge edges, Settings settings, HashSet completedEdges ) : void

Method Details

BranchAlongVerts() public static method

public static BranchAlongVerts ( Vector3D starting, Dictionary vertsToEdges, HashSet foundVertices ) : void
starting Vector3D
vertsToEdges Dictionary
foundVertices HashSet
return void

CalcCells() public static method

public static CalcCells ( Sphere mirrors, H3 cells ) : H3.Cell[]
mirrors Sphere
cells H3
return H3.Cell[]

CalcCells() public static method

public static CalcCells ( Sphere mirrors, H3 cells, Settings settings ) : H3.Cell[]
mirrors Sphere
cells H3
settings Settings
return H3.Cell[]

CalcCells2() public static method

public static CalcCells2 ( Sphere mirrors, H3 cells ) : H3.Cell[]
mirrors Sphere
cells H3
return H3.Cell[]

CalcCells2() public static method

public static CalcCells2 ( Sphere mirrors, H3 cells, Settings settings ) : H3.Cell[]
mirrors Sphere
cells H3
settings Settings
return H3.Cell[]

CalcEdges() public static method

public static CalcEdges ( Sphere simplex, H3.Cell.Edge edges ) : R3.Math.Edge[]
simplex Sphere
edges H3.Cell.Edge
return R3.Math.Edge[]

CalcEdges() public static method

public static CalcEdges ( Sphere simplex, H3.Cell.Edge edges, Settings settings ) : R3.Math.Edge[]
simplex Sphere
edges H3.Cell.Edge
settings Settings
return R3.Math.Edge[]

CalcEdgesSmart() public static method

Attempts to calculate approx 1.3M edges when the threshold is a distance from origin in the ball model. This works for honeycombs with finite cells.
public static CalcEdgesSmart ( Sphere simplex, H3.Cell.Edge edges ) : R3.Math.Edge[]
simplex Sphere
edges H3.Cell.Edge
return R3.Math.Edge[]

CalcEdgesSmart2() public static method

Attempts to calculate approx 1.3M edges when the threshold is a minimum edge length. This is required for honeycombs with ideal or ultra-ideal cells
public static CalcEdgesSmart2 ( Sphere simplex, H3.Cell.Edge edges ) : R3.Math.Edge[]
simplex Sphere
edges H3.Cell.Edge
return R3.Math.Edge[]

GenPolyhedron() public static method

This generates a polyhedron using recursion. It needs to be finite (There are not any other breakouts of the recursion, other than all facets having been generated.)
public static GenPolyhedron ( Sphere mirrors, H3 facets, List completedFacets, HashSet completedFacetIds ) : void
mirrors Sphere
facets H3
completedFacets List
completedFacetIds HashSet
return void

Property Details

m_background public_oe static_oe property

public static Vector3D m_background
return Vector3D