Example #1
0
        /// <summary>
        /// 3# regra
        /// Equação: d^2 i, [j+2 ->  i+2 ] = 4||2
        /// A DISTÂNCIA ENTRE O MONÔMERO "i"  E O MONÔMERO "i+2" , ELEVADO AO QUADRADO,
        /// SÓ PODE SER IGUAL A 2, OU IGUAL A 4. QUALQUER OUTRO VALOR É UM INDICATIVO DE  ERRO.
        /// </summary>
        /// <returns></returns>
        private bool PolicyThree()
        {
            for (int i = 0; i < GCPS.chain.r.Count - 2; i++)
            {
                double tempCalc = Maths4Simulation.DistanceBetweenPointsWithSqrt(((Structs.BasicStructs.Point)GCPS.chain.r[i]), ((Structs.BasicStructs.Point)GCPS.chain.r[i + 2]));
                if (!((tempCalc == Consts.valueSqrtTwo) || (tempCalc == Consts.valueSqrtFour)))
                {
                    return(false);
                }
            }

            return(true);
        }
Example #2
0
        internal static bool TryFisrtContact(ref Structs.BasicStructs.Point temp)
        {
            //Verifica se existe contato de primeiro grau
            Structs.BasicStructs.Point tempFor;
            for (int i = GCPS.chain.r.Count + 2; i < GCPS.chain.r.Count; i++)
            {
                tempFor = GCPS.chain.r[i];
                if (Maths4Simulation.DistanceBetweenPointsWithSqrt(tempFor, temp) == Consts.mapContact)
                {
                    return(false);
                }
            }

            return(true);
        }
Example #3
0
 internal static bool TryMovePeerDPP(ref Structs.BasicStructs.Point temp, Structs.BasicStructs.Point checkMonomers)
 {
     return(Maths4Simulation.DistanceBetweenPointsWithSqrt((Structs.BasicStructs.Point)temp, (Structs.BasicStructs.Point)checkMonomers) == Consts.valueOne);
 }