R3.Geometry.Tiling.GenerateInternal C# (CSharp) Метод

GenerateInternal() публичный Метод

public GenerateInternal ( TilingConfig config, Polytope projection = Polytope.Projection.FaceCentered ) : void
config TilingConfig
projection Polytope
Результат void
        public void GenerateInternal( TilingConfig config, Polytope.Projection projection = Polytope.Projection.FaceCentered )
        {
            this.TilingConfig = config;

            // Create a base tile.
            Tile tile = CreateBaseTile( config );

            // Handle edge/vertex centered projections.
            if( projection == Polytope.Projection.VertexCentered )
            {
                Mobius mobius = config.VertexCenteredMobius();
                tile.Transform( mobius );
            }
            else if( projection == Polytope.Projection.EdgeCentered )
            {
                Mobius mobius = config.EdgeMobius();
                tile.Transform( mobius );
            }

            TransformAndAdd( tile );

            List<Tile> tiles = new List<Tile>();
            tiles.Add( tile );
            Dictionary<Vector3D,bool> completed = new Dictionary<Vector3D,bool>();
            completed[tile.Boundary.Center] = true;
            ReflectRecursive( tiles, completed );

            FillOutIsometries( tile, m_tiles, config.Geometry );
            FillOutIncidences();
        }

Usage Example

Пример #1
0
        private static void GetAssociatedTiling(int p, int q, int maxTiles, out Tiling tiling)
        {
            TilingConfig tilingConfig = new TilingConfig(p, q, maxTiles: maxTiles);

            tiling = new Tiling();
            tiling.GenerateInternal(tilingConfig, p == 6 ? Polytope.Projection.VertexCentered : Polytope.Projection.FaceCentered);
        }
All Usage Examples Of R3.Geometry.Tiling::GenerateInternal