コード例 #1
0
        /// <summary>
        /// クローズ状態にする
        /// </summary>
        public void Close()
        {
            if (state_ == StateKind.Playing)
            {
                Stop();
                while (state_ != StateKind.Prepared)
                {
                    Thread.Sleep(1);
                }
            }
            for (int i = 0; i < WAVEHDR_NUM_; ++i)
            {
                Marshal.FreeHGlobal(wave_hdr_list_[i].lpData);
            }
            uint error_code = waveOutClose(h_wave_out_);

            if (error_code != 0)
            {
                throw new WaveOutApiException("waveOutClose", error_code);
            }
            // waveOutClose を呼び出して、コールバックが帰ってきて後処理が完了するまで待つ
            close_event_.WaitOne();
            audio_callback  = null;
            OnStopped       = null;
            stopping_times_ = 0;
            state_          = StateKind.NotOpened;
        }
コード例 #2
0
ファイル: ThreadPool.cs プロジェクト: yuzhimin999/calcflow
 public static void stopAll(StoppedDelegate callback = null)
 {
     // TODO ACTUALLY STOP ALL RUNNING THREADS :(
     // Or wait for them to finish
     lock (activeLock)
     {
         activeRuntime = activeRuntime + 1;
     }
 }
コード例 #3
0
                public GeneticAlgorithms(int size, int genomeLength, double geneMinimum, double geneMaximum, int generations, float crossoverChance, float mutationChance, int tournamentSize, float tournamentChance, bool elitism, float fitnessTreshold, SolutionFoundDelegate sf, StoppedDelegate stp, ImprovementDelegate imp, Graphics gReport, Graphics gReport2, Graphics gReport3, Graphics gFitness, Color backColor, Color foreColor1, Color foreColor2)
                {
                    rnd          = new Random();
                    Size         = size;
                    GenomeLength = genomeLength;
                    GeneMinimum  = geneMinimum;
                    GeneMaximum  = geneMaximum;
                    Individuals  = new Individual[Size];
                    for (int i = 0; i < Size; i++)
                    {
                        Individuals[i] = new Individual(GenomeLength);
                        for (int n = 0; n < GenomeLength; n++)
                        {
                            Individuals[i].Genome[n] = (float)(GeneMinimum + rnd.NextDouble() * (GeneMaximum - GeneMinimum));
                        }
                    }
                    BestIndividual = new Individual(GenomeLength);

                    Generations      = generations;
                    CrossoverChance  = crossoverChance;
                    MutationChance   = mutationChance;
                    TournamentSize   = tournamentSize;
                    TournamentChance = tournamentChance;
                    Elitism          = elitism;
                    FitnessTreshold  = fitnessTreshold;
                    SF              = sf;
                    STP             = stp;
                    IMP             = imp;
                    GReport         = gReport;
                    GReport2        = gReport2;
                    GReport3        = gReport3;
                    GFitness        = gFitness;
                    GReportBuffer   = new Bitmap(900, 170);
                    GReport2Buffer  = new Bitmap(300, 240);
                    GReport3Buffer  = new Bitmap(300, 50);
                    GFitnessBuffer  = new Bitmap(1260, 250);
                    GReportBufferG  = Graphics.FromImage(GReportBuffer);
                    GReport2BufferG = Graphics.FromImage(GReport2Buffer);
                    GReport3BufferG = Graphics.FromImage(GReport3Buffer);
                    GFitnessBufferG = Graphics.FromImage(GFitnessBuffer);
                    GReportBufferG.SmoothingMode  = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
                    GReport2BufferG.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
                    GReport3BufferG.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
                    GFitnessBufferG.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
                    BackColor   = backColor;
                    ForeColor1  = new SolidBrush(foreColor1);
                    ForeColor2  = new SolidBrush(foreColor2);
                    f           = new Font("Arial", 8);
                    f2          = new Font("Arial", 20, FontStyle.Bold);
                    ShowEval    = true;
                    ShowImprove = true;
                }
コード例 #4
0
 public static void stopAll(StoppedDelegate callback = null)
 {
     lock (_queue)
     {
         _queue.Clear();
     }
     lock (coroutines)
     {
         foreach (var coroutine in coroutines)
         {
             _instance.StopCoroutine(coroutine);
         }
         coroutines.Clear();
     }
     if (callback != null)
     {
         callback();
     }
 }
コード例 #5
0
ファイル: Form1.cs プロジェクト: vadimostanin/CPGEvolution
            public GABipedal5Link(int size, int chromosomeLength, float geneMinimum, float geneMaximum, int generations, float crossoverChance, float mutationChance, int tournamentSize, float tournamentChance, bool elitism, float fitnessTreshold, SolutionFoundDelegate sf, StoppedDelegate stp, ImprovementDelegate imp, Graphics gReport, Graphics gReport2, Graphics gReport3, Graphics gFitness, Color backColor, Color foreColor1, Color foreColor2, int steps, double deltaTime, int hipFixSteps, double m, double m1, double m2, double l1, double l2, double kg, double bg, double g, Bipedal5Link.PointD hip, double[] theta, double servoSpeed, Bipedal5Link.Bipedal5Link.YGroundDelegate yGround)
                : base(size, chromosomeLength, geneMinimum, geneMaximum, generations, crossoverChance, mutationChance, tournamentSize, tournamentChance, elitism, fitnessTreshold, sf, stp, imp, gReport, gReport2, gReport3, gFitness, backColor, foreColor1, foreColor2)
            {
                Steps = steps;
                DeltaTime = deltaTime;
                HipFixSteps = hipFixSteps;

                M = m;
                M1 = m1;
                M2 = m2;
                G = g;
                KG = kg;
                BG = bg;
                L1 = l1;
                L2 = l2;
                ServoSpeed = servoSpeed;
                YGround = yGround;
                Hip = hip;
                Theta = theta;

                IndividualsDrawn = false;
                C1 = Color.FromArgb(35, 22, 0);
                F1 = new Font("Arial", 8);
            }
コード例 #6
0
ファイル: Form1.cs プロジェクト: stjordanis/CPGEvolution
            public GABipedal5Link(int size, int chromosomeLength, float geneMinimum, float geneMaximum, int generations, float crossoverChance, float mutationChance, int tournamentSize, float tournamentChance, bool elitism, float fitnessTreshold, SolutionFoundDelegate sf, StoppedDelegate stp, ImprovementDelegate imp, Graphics gReport, Graphics gReport2, Graphics gReport3, Graphics gFitness, Color backColor, Color foreColor1, Color foreColor2, int steps, double deltaTime, int hipFixSteps, double m, double m1, double m2, double l1, double l2, double kg, double bg, double g, Bipedal5Link.PointD hip, double[] theta, double servoSpeed, Bipedal5Link.Bipedal5Link.YGroundDelegate yGround)
                : base(size, chromosomeLength, geneMinimum, geneMaximum, generations, crossoverChance, mutationChance, tournamentSize, tournamentChance, elitism, fitnessTreshold, sf, stp, imp, gReport, gReport2, gReport3, gFitness, backColor, foreColor1, foreColor2)
            {
                Steps       = steps;
                DeltaTime   = deltaTime;
                HipFixSteps = hipFixSteps;

                M          = m;
                M1         = m1;
                M2         = m2;
                G          = g;
                KG         = kg;
                BG         = bg;
                L1         = l1;
                L2         = l2;
                ServoSpeed = servoSpeed;
                YGround    = yGround;
                Hip        = hip;
                Theta      = theta;

                IndividualsDrawn = false;
                C1 = Color.FromArgb(35, 22, 0);
                F1 = new Font("Arial", 8);
            }
コード例 #7
0
                public GeneticAlgorithms(int size, int genomeLength, double geneMinimum, double geneMaximum, int generations, float crossoverChance, float mutationChance, int tournamentSize, float tournamentChance, bool elitism, float fitnessTreshold, SolutionFoundDelegate sf, StoppedDelegate stp, ImprovementDelegate imp, Graphics gReport, Graphics gReport2, Graphics gReport3, Graphics gFitness, Color backColor, Color foreColor1, Color foreColor2)
                {
                    rnd = new Random();
                    Size = size;
                    GenomeLength = genomeLength;
                    GeneMinimum = geneMinimum;
                    GeneMaximum = geneMaximum;
                    Individuals = new Individual[Size];
                    for (int i = 0 ; i < Size ; i++)
                    {
                        Individuals[i] = new Individual(GenomeLength);
                        for (int n = 0 ; n < GenomeLength ; n++)
                            Individuals[i].Genome[n] = (float)(GeneMinimum + rnd.NextDouble() * (GeneMaximum - GeneMinimum));
                    }
                    BestIndividual = new Individual(GenomeLength);

                    Generations = generations;
                    CrossoverChance = crossoverChance;
                    MutationChance = mutationChance;
                    TournamentSize = tournamentSize;
                    TournamentChance = tournamentChance;
                    Elitism = elitism;
                    FitnessTreshold = fitnessTreshold;
                    SF = sf;
                    STP = stp;
                    IMP = imp;
                    GReport = gReport;
                    GReport2 = gReport2;
                    GReport3 = gReport3;
                    GFitness = gFitness;
                    GReportBuffer = new Bitmap(900, 170);
                    GReport2Buffer = new Bitmap(300, 240);
                    GReport3Buffer = new Bitmap(300, 50);
                    GFitnessBuffer = new Bitmap(1260, 250);
                    GReportBufferG = Graphics.FromImage(GReportBuffer);
                    GReport2BufferG = Graphics.FromImage(GReport2Buffer);
                    GReport3BufferG = Graphics.FromImage(GReport3Buffer);
                    GFitnessBufferG = Graphics.FromImage(GFitnessBuffer);
                    GReportBufferG.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
                    GReport2BufferG.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
                    GReport3BufferG.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
                    GFitnessBufferG.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
                    BackColor = backColor;
                    ForeColor1 = new SolidBrush(foreColor1);
                    ForeColor2 = new SolidBrush(foreColor2);
                    f = new Font("Arial", 8);
                    f2 = new Font("Arial", 20, FontStyle.Bold);
                    ShowEval = true;
                    ShowImprove = true;
                }