Beispiel #1
0
    public RSADibujable(RSAConfiguration config,ParticulaInfo pInfo,ITracker track)
    {
        aleatpart=(bool)config.Valores["colorParticulaAleatorio"];
        showNumber=(bool)config.Valores["mostrarNumeros"];
        colorParticula=(float[])config.Valores["colorParticulas"];

        idVisualizarPlanesOn=Gl.glGenLists(1);
        idVisualizarPlanesOff=Gl.glGenLists(1);
        xmlreader = new XmlParticulaReader((string)config.Valores["particulaXml"]);
        //ParticulaInfo xmlInfo = pInfo;
        rsa=new GestorAlgoritmo().CreaRSA(config,pInfo,track);
        //		if(((string)config.Valores["rsaClase"])=="RSAAdvanced")
        //		{
        //			if((((string)config.Valores["parametroVariable"])=="cantidadParticulas"))
        //			{
        //				rsa = new RSAAdvanced((double)config.Valores["ladoCubo"], (double)config.Valores["fraccionVolumetrica"],(int)config.Valores["cantidadParticulas"], pInfo,track);
        //			}
        //			else
        //			{
        //				if(((object[])config.Valores["parametros"]).Length!=pInfo.InfoParametro.Cantidad)throw new Exception("Error");
        //                object[] auxArray=(object[])config.Valores["parametros"];
        //				rsa = new RSAAdvanced((double)config.Valores["ladoCubo"], (double)config.Valores["fraccionVolumetrica"],auxArray, pInfo,track);
        //			}
        //		}
        //		else
        //		{
        //			if((((string)config.Valores["parametroVariable"])=="cantidadParticulas"))
        //			{
        //				rsa=new RSA((double)config.Valores["ladoCubo"], (double)config.Valores["fraccionVolumetrica"],(int)config.Valores["cantidadParticulas"], pInfo,track);
        //			}
        //			else
        //			{
        //				if(((object[])config.Valores["parametros"]).Length!=pInfo.InfoParametro.Cantidad)throw new Exception("Error");
        //				object[] auxArray=(object[])config.Valores["parametros"];
        //				rsa = new RSA((double)config.Valores["ladoCubo"], (double)config.Valores["fraccionVolumetrica"],auxArray, pInfo,track);
        //			}
        //		}
        spheresInBox =(bool)config.Valores["spheresInBox"];
        gestorDib = new GestorDibujables(xmlreader);
        ParticulaDibujable.SetOwner(this);
        NumerosDibujables.SetOwner(this);
        cuboDib = new CuboDibujable(this, (float[])config.Valores["colorCubo"], new float[] { 0, 0, 0, 0 });
        planosAClipear = new double[6][] { new double[4] { 1, 0, 0, rsa.Cubo.PuntoInicial.X }, new double[4] { 0, 1, 0, rsa.Cubo.PuntoInicial.Y }, new double[4] { 0, 0, 1, rsa.Cubo.PuntoInicial.Z }, new double[4] { -1, 0, 0, rsa.Cubo.PuntoInicial.X + rsa.Cubo.Lado }, new double[4] { 0, -1, 0, rsa.Cubo.PuntoInicial.Y + rsa.Cubo.Lado }, new double[4] { 0, 0, -1, rsa.Cubo.PuntoInicial.Z + rsa.Cubo.Lado } };
        numdib = new NumerosDibujables[rsa.particulas.Length];
        ansyswriter = gestorDib.GeneraAnsysWriter(pInfo.Nombre, this.rsa);
        this.Recompile();
    }
Beispiel #2
0
    public virtual void ReInit(RSAConfiguration config,ParticulaInfo pInfo,ITracker track)
    {
        aleatpart=(bool)config.Valores["colorParticulaAleatorio"];
        showNumber=(bool)config.Valores["mostrarNumeros"];
        for(int i=0;i<colorParticula.Length;i++ )
            colorParticula[i]=((float[])config.Valores["colorParticulas"])[i];

        //		idVisualizarPlanesOn=Gl.glGenLists(1);
        //		idVisualizarPlanesOff=Gl.glGenLists(1);
        xmlreader.Path=(string)config.Valores["particulaXml"];
        //ParticulaInfo xmlInfo = xmlreader.GetInfoParticulas((string)config.Valores["particulaInicial"]);
        if(((string)config.Valores["rsaClase"])=="RSAAdvanced")
        {
            if((((string)config.Valores["parametroVariable"])=="cantidadParticulas"))
            {
                rsa = new RSAAdvanced((double)config.Valores["ladoCubo"], (double)config.Valores["fraccionVolumetrica"],(int)config.Valores["cantidadParticulas"], pInfo,track);
            }
            else
            {
                if(((object[])config.Valores["parametros"]).Length!=pInfo.InfoParametro.Cantidad)throw new Exception("Error");
                object[] auxArray=(object[])config.Valores["parametros"];
                rsa = new RSAAdvanced((double)config.Valores["ladoCubo"], (double)config.Valores["fraccionVolumetrica"],auxArray, pInfo,track);
            }
        }
        else
        {
            if((((string)config.Valores["parametroVariable"])=="cantidadParticulas"))
            {
                rsa=new RSA((double)config.Valores["ladoCubo"], (double)config.Valores["fraccionVolumetrica"],(int)config.Valores["cantidadParticulas"], pInfo,track);
            }
            else
            {
                if(((object[])config.Valores["parametros"]).Length!=pInfo.InfoParametro.Cantidad)throw new Exception("Error");
                object[] auxArray=(object[])config.Valores["parametros"];
                rsa = new RSA((double)config.Valores["ladoCubo"], (double)config.Valores["fraccionVolumetrica"],auxArray, pInfo,track);
            }
        }
        spheresInBox =(bool)config.Valores["spheresInBox"];
        gestorDib.Xml=xmlreader;
        ParticulaDibujable.SetOwner(this);
        NumerosDibujables.SetOwner(this);
        cuboDib.Color=(float[])config.Valores["colorCubo"];
        //planosAClipear = new double[6][] { new double[4] { 1, 0, 0, rsa.Cubo.PuntoInicial.X }, new double[4] { 0, 1, 0, rsa.Cubo.PuntoInicial.Y }, new double[4] { 0, 0, 1, rsa.Cubo.PuntoInicial.Z }, new double[4] { -1, 0, 0, rsa.Cubo.PuntoInicial.X + rsa.Cubo.Lado }, new double[4] { 0, -1, 0, rsa.Cubo.PuntoInicial.Y + rsa.Cubo.Lado }, new double[4] { 0, 0, -1, rsa.Cubo.PuntoInicial.Z + rsa.Cubo.Lado } };
        numdib = new NumerosDibujables[rsa.particulas.Length];
        ansyswriter = gestorDib.GeneraAnsysWriter(pInfo.Nombre, this.rsa);
        this.Recompile();
    }