Пример #1
0
 public void AssignFunctions(LocalTerrain lt, FunctionMathCalculator fmc, GlobalCoordinates globalMinThresholdC, GlobalCoordinates globalMaxThresholdC)
 {
     this.lt = lt;
     this.fmc = fmc;
     this.globalMinThresholdC = globalMinThresholdC;
     this.globalMaxThresholdC = globalMaxThresholdC;
 }
Пример #2
0
 public void AssignFunctions(LocalTerrain lt, FunctionMathCalculator fmc, 
     GlobalCoordinates globalFilterMedianC, FunctionTerrainManager functionTerrainManager)
 {
     this.lt = lt;
     this.fmc = fmc;
     this.globalFilterMedianC = globalFilterMedianC;
     ftm = functionTerrainManager;
 }
Пример #3
0
    public void AssignFunctions(TerrainGenerator terrainGenerator, FilterGenerator filterGenerator, 
        RiverGenerator riverGenerator, ErosionGenerator erosionGenerator)
    {
        tg = terrainGenerator;
        fg = filterGenerator;
        rg = riverGenerator;
        eg = erosionGenerator;
        lt = tg.localTerrain;

        UpdateLayers();
    }
Пример #4
0
    public RiverGenerator(LocalTerrain localTerrain)
    {
        lt = localTerrain;

        //globalRiverC = new GlobalCoordinates(100);
        localCoordinates = lt.localTerrainC;

        //currentRiver = new RiverInfo(this);

        rivers = new List<RiverInfo>();
        //localRiverC = new LocalCoordinates(globalRiverC, new Vector3(0, 0, 0), 200, 200);
    }
    public void AssignFunctions(RiverGenerator rg)
    {
        this.rg = rg;

        lc = rg.localCoordinates;
        //globalRiverC = rg.globalRiverC;

        lt = rg.lt;
        fmc = rg.fmc;
        ftm = rg.ftm;
        fd = rg.fd;
    }
Пример #6
0
    public void AssignFunctions(FunctionMathCalculator functionMathCalculator, 
        LocalTerrain localTerrain, FunctionTerrainManager functionTerrainManager)
    {
        fmc = functionMathCalculator;
        lt = localTerrain;
        ftm = functionTerrainManager;

        mf.AssignFunctions(lt, fmc, globalFilterMountainC);
        af.AssignFunctions(lt, fmc, globalFilterAverageC);
        mdf.AssignFunctions(lt, fmc, globalFilterMedianC, ftm);
        sf.AssignFunctions(lt, fmc, globalFilterSpikeC);
        gf.AssignFunctions(lt, fmc, globalFilterGaussianC);
        tf.AssignFunctions(lt, fmc, globalFilterMinThresholdC, globalFilterMaxThresholdC);
    }
Пример #7
0
    public FilterGenerator(int quadrantSize, LocalTerrain localTerrain)
    {
        globalFilterMountainC = new GlobalCoordinates(100);
        globalFilterAverageC = new GlobalCoordinates(100);
        globalFilterMedianC = new GlobalCoordinates(100);
        globalFilterSpikeC = new GlobalCoordinates(100);
        globalFilterGaussianC = new GlobalCoordinates(100);
        globalFilterMinThresholdC = new GlobalCoordinates(100);
        globalFilterMaxThresholdC = new GlobalCoordinates(100);

        lt = localTerrain;
        localCoordinates = lt.localTerrainC;

        mf = new MountainFilter(this);
        af = new AverageFilter(this);
        mdf = new MedianFilter(this);
        sf = new SpikeFilter(this);
        gf = new GaussianFilter(this);
        tf = new ThresholdFilter(this);
    }
Пример #8
0
 public void AssignFunctions(LocalTerrain lt, FunctionMathCalculator fmc, GlobalCoordinates globalFilterGaussianC)
 {
     this.lt = lt;
     this.fmc = fmc;
     this.globalFilterGaussianC = globalFilterGaussianC;
 }
Пример #9
0
 public void AssignFunctions(RiverGenerator rg)
 {
     this.rg = rg;
     lt = rg.lt;
     ftm = rg.ftm;
 }
 public void AssignFunctions(LocalTerrain localTerrain)
 {
     lt = localTerrain;
 }
Пример #11
0
    public void AssignFunctions(GlobalTerrain globalTerrain, LocalTerrain localTerrain,
        FilterGenerator filterGenerator, FunctionMathCalculator functionMathCalculator,
        RiverGenerator riverGenerator, GridManager gridManager, GUIManager guiManager,
        ErosionGenerator erosionGenerator)
    {
        this.globalTerrain = globalTerrain;
        this.localTerrain = localTerrain;
        this.filterGenerator = filterGenerator;
        this.riverGenerator = riverGenerator;
        this.erosionGenerator = erosionGenerator;

        fmc = functionMathCalculator;

        gm = gridManager;

        rt.AssignFunctions(fmc);
        ds.AssignFunctions(localTerrain);

        this.guiManager = guiManager;
        message = guiManager.message;
    }
Пример #12
0
 public ErosionGenerator(LocalTerrain localTerrain)
 {
     lt = localTerrain;
     he = new HydraulicErosion(this);
     te = new ThermalErosion(this);
 }
Пример #13
0
    void Start()
    {
        guiManager = GameObject.Find("GUI").GetComponent<GUIManager>();

        terrainWidth = 100;
        terrainHeight = terrainWidth;

        try
        {
            GUIterrainPlannerMenu tpMenu = GameObject.Find("TerrainPlanner").GetComponent<GUIterrainPlannerMenu>();
            patchSize = tpMenu.patch.patchSize;
        }
        catch (Exception e)
        {
            Debug.Log("TerrainPlanner not found");
            patchSize = 64;
        }

        cameraMovement camera = transform.GetComponent<cameraMovement>();
        camera.ChangePosition(new Vector3(0, 100, 0));
        camera.ChangeRotation(new Vector3(90, 0, 0));

        scaleTerrainY = 12;

        int quadrantSize = Math.Max(terrainWidth, terrainHeight);

        layerManager = new LayerManager();

        globalTerrain = new GlobalTerrain(quadrantSize);
        localTerrain = new LocalTerrain(terrainWidth, terrainHeight, 30, globalTerrain, layerManager);
        filterGenerator = new FilterGenerator(quadrantSize, localTerrain);

        functionMathCalculator = new FunctionMathCalculator();
        functionDebugger = new FunctionDebugger();
        functionRiverDigger = new FunctionRiverDigger();
        functionRiverPlanner = new FunctionRiverPlanner();
        functionTerrainManager = new FunctionTerrainManager();

        terrainGenerator = new TerrainGenerator(patchSize);
        riverGenerator = new RiverGenerator(localTerrain);
        erosionGenerator = new ErosionGenerator(localTerrain);

        gridManager = new GridManager(new Vector3(0,0,0), patchSize, patchSize);

        AssignFunctions();
        terrainGenerator.initialize(scaleTerrainY);

        localTerrain.UpdateVisibleTerrain(new Vector3(0, 0, 0), false);
    }