Ejemplo n.º 1
0
    public void youareHead()
    {
        SphereCollider sc = render.gameObject.GetComponent("SphereCollider") as SphereCollider;

        sc.isTrigger = true;
        render.Setup(Color.red, 0.2f * Globals.scale);
    }
Ejemplo n.º 2
0
    public void Draw()
    {
        if (!render)
        {
            return;
        }
        //Vector3 rpos = (ort1*p1->getX() + ort2*p1->getY() + ort3*(GroundHeight-0.1))*scale + vcenter;
        // shadow ?!! haha
        //Vector3 rpos = (Globals.ort1 * (p1.x - Globals.pos_rc.x) + Globals.ort2 * (p1.y - Globals.pos_rc.y) + Globals.ort3 * (Globals.GroundHeight - 0.1f -  Globals.pos_rc.z)) * Globals.scale + Globals.vcenter;
        //Vector3 rpos2 = (Globals.ort1 * (p2.x - Globals.pos_rc.x) + Globals.ort2 * (p2.y - Globals.pos_rc.y) + Globals.ort3 * (Globals.GroundHeight - 0.1f -     Globals.pos_rc.z)) * Globals.scale + Globals.vcenter;
        //rpos = (ort1*p2->getX() + ort2*p2->getY() + ort3*(GroundHeight-0.1))*scale + vcenter;

        /*
         * glLineWidth(5);
         * glBegin(GL_LINES);
         * glColor3ub(150, 150, 150);
         * glVertex3d(	rpos.x,rpos.y,rpos.z);
         * glVertex3d(	rpos2.x,rpos2.y,rpos2.z);
         * glEnd();
         *
         * glLineWidth(3);
         * glBegin(GL_LINES);
         * glColor3ub(80, 80, 80);
         * glVertex3d(	rpos.x,rpos.y,rpos.z);
         * glVertex3d(	rpos2.x,rpos2.y,rpos2.z);
         * glEnd();
         */

        //render[0].Draw(rpos, rpos2);

        if (status == 0)
        {
            render.Setup(Color.gray);
        }
        else
        {
            springColor.a = 0.5f;
            render.Setup(springColor);
        }

        //rpos = (ort1*p1->getX() + ort2*p1->geY() + ort3*p1->getZ())*scale + vcenter;
        Vector3 rpos = (Globals.ort1 * (p1.x - Globals.pos_rc.x) + Globals.ort2 * (p1.y - Globals.pos_rc.y) + Globals.ort3 * (p1.z - Globals.pos_rc.z)) * Globals.scale + Globals.vcenter;

        //rpos = (ort1*p2->getX() + ort2*p2->getY() + ort3*p2->getZ())*scale + vcenter;
        Vector3 rpos2 = (Globals.ort1 * (p2.x - Globals.pos_rc.x) + Globals.ort2 * (p2.y - Globals.pos_rc.y) + Globals.ort3 * (p2.z - Globals.pos_rc.z)) * Globals.scale + Globals.vcenter;

        render.Draw(rpos, rpos2);
    }
Ejemplo n.º 3
0
    public void Select()
    {
        if (!render)
        {
            return;
        }
        Vector3 rpos = (Globals.ort1 * (pos.x - Globals.pos_rc.x) + Globals.ort2 * (pos.y - Globals.pos_rc.y) + Globals.ort3 * (pos.z - Globals.pos_rc.z)) * Globals.scale + Globals.vcenter;

        render.Draw(rpos);
        render.Setup(Color.red, 0.03f * Globals.scale);
    }
Ejemplo n.º 4
0
    public void Draw()
    {
        if (!render)
        {
            return;
        }
        Vector3 rp1 = (Globals.ort1 * (connector.p1.x - Globals.pos_rc.x) + Globals.ort2 * (connector.p1.y - Globals.pos_rc.y) + Globals.ort3 * (connector.p1.z - Globals.pos_rc.z)) * Globals.scale + Globals.vcenter;
        Vector3 rp2 = (Globals.ort1 * (connector.p2.x - Globals.pos_rc.x) + Globals.ort2 * (connector.p2.y - Globals.pos_rc.y) + Globals.ort3 * (connector.p2.z - Globals.pos_rc.z)) * Globals.scale + Globals.vcenter;

        color.r = 0.2f + activity;
        render.Setup(color);
        render.Draw(rp1, rp2);
    }
Ejemplo n.º 5
0
    public void Draw(Vector3 p1, Vector3 p2, Color c, bool select = false)
    {
        if (!render)
        {
            return;
        }
        float width = sizeNormal;

        if (select)
        {
            width = sizeSelect;
        }

        render.Setup(c, width);
        render.Draw(p1, p2);
    }
Ejemplo n.º 6
0
    public void Draw()
    {
        if (!render)
        {
            return;
        }

        Color c            = color;
        float r            = color.r;
        float g            = color.g;
        float b            = color.b;
        bool  pseudoneuron = false;

        if (activity < 1)
        {
            r /= 3;
            g /= 3;
            b /= 3;

            r += (r * 2.0f * activity);
            g += (g * 2.0f * activity);
            b += (b * 2.0f * activity);
        }

        Vector3 rpos = (Globals.ort1 * (pos.x - Globals.pos_rc.x) + Globals.ort2 * (pos.y - Globals.pos_rc.y) + Globals.ort3 * (pos.z - Globals.pos_rc.z)) * Globals.scale + Globals.vcenter;

        //rpos2 = (Globals.ort1 * (pos.x - Globals.pos_rc.x) + Globals.ort2 * (pos.y - Globals.pos_rc.y) + Globals.ort3 * (pos.z - Globals.pos_rc.z + 0.1f)) * Globals.scale + Globals.vcenter;
        //p = rpos2 - rpos;
        //h = p.magnitude;


        if ((mName[0] == 'P') && (mName[1] == 's') && (mName[2] == 'e'))
        {
            pseudoneuron = true;
        }

        if (select)
        {
            if (pseudoneuron)
            {
                c = mColorPseSel;
            }
            else
            {
                c = mColorSel;
            }
            render.Setup(c, sizeSelect);
        }
        else
        {
            render.Setup(c, sizeNormal);
        }

        render.Draw(rpos);


        /**/
        if (select)
        {
            //if(mName.magnitude<5)
            //glPrint2(rpos.x, rpos.y, rpos.z, (byte)min(255, r * 1.7), (byte)min(255, g * 1.7), (byte)min(255, b * 1.7), mName.c_str());
        }

        /*
         *  if(highlight)
         *  if(mName.magnitude<5)
         *  glPrint2(rpos.x,rpos.y,rpos.z,(byte)min(255,r*1.7),(byte)min(255,g*1.7),(byte)min(255,b*1.7),mName.c_str());
         */
        /**/


        //int n_axon_branches = 0;
        //rpos2 = new Vector3(0, 0, 0);
        //if(mSelected)
        //if(mName.magnitude>5)
        {
            /*
             * for(unsigned int j = 0;  j < axon.size(); ++j)
             * {
             *      rpos2+= (ort1*(axon[j]->getPos().x - pos_rc.x)
             + ort2*(axon[j]->getPos().y - pos_rc.y)
             + ort3*(axon[j]->getPos().z - pos_rc.z))*scale + vcenter;// 蝾麝?铗 牝 桎篁 忮蜮??疣珥 礤轲铐囔
             +      n_axon_branches++;
             +
             + }
             +
             +
             + //glEnd();
             + if(n_axon_branches>0)
             + {
             +  rpos2 /= n_axon_branches;
             +  glPushMatrix();
             +  glColor3ub(r, g, b);
             +
             +  glTranslated(	rpos2.x,	rpos2.y,	rpos2.z    );
             +  gluSphere(quadObj,0.7f*neuron_normal*scale ,8,8);
             +  glPopMatrix();
             + }
             +
             + glColor3ub(min(255,r*1.0),min(255,g*1.0),min(255,b*1.0));
             + if(n_axon_branches>0)
             + {
             +  //rpos2 /= n_axon_branches;
             +  p = rpos2 - rpos;
             +  h = p.magnitude;
             +
             +  glPushMatrix();
             +  glTranslated(rpos.x, rpos.y, rpos.z);
             +  glRotated(180.0f*(float)atan2(p.x,p.z)/pi,0,1,0);
             +  glRotated(-180.0f*(float)atan2(p.y,sqrt(p.x*p.x+p.z*p.z))/pi,1,0,0);
             +  gluCylinder(quadObj, 0.005*scale, 0.005*scale, h, 16, 16);
             +  glPopMatrix();
             +
             +  rpos = rpos2;
             + }
             */

            Vector3 rpos2;
            int     link_with_muscle = 0;
            mColorAxon = Color.black;
            drawPos    = pos.pos;

            for (int j = 0; j < mAxon.Count; ++j)
            {
                link_with_muscle = 0;

                if ((mAxon[j].getTargName()[0] == 'D') || (mAxon[j].getTargName()[0] == 'V'))
                {
                    if ((mAxon[j].getTargName()[1] == 'R') || (mAxon[j].getTargName()[1] == 'L'))
                    {
                        if ((mAxon[j].getTargName()[2] == '0') || (mAxon[j].getTargName()[2] == '1') || (mAxon[j].getTargName()[2] == '2'))
                        {
                            link_with_muscle = 1;

                            if ((mName[0] == 'P') && (mName[1] == 's' && (mName[2] == 'e')))
                            {
                                if (mName[3] == '_')
                                {
                                    if (((mName[4] == 'V') || (mName[4] == 'D')) && (mName[5] == 'B'))
                                    {
                                        link_with_muscle = 2;
                                    }
                                }
                            }
                        }
                    }
                }

                if (select)
                {
                    rpos2 = (Globals.ort1 * (mAxon[j].getPos().x - Globals.pos_rc.x) + Globals.ort2 * (mAxon[j].getPos().y - Globals.pos_rc.y) + Globals.ort3 * (mAxon[j].getPos().z - Globals.pos_rc.z)) * Globals.scale + Globals.vcenter;

                    string tmp_name = mAxon[j].getTargName();
                    if (((tmp_name[0] == 'D') && (tmp_name[1] == 'L')) || ((tmp_name[0] == 'D') && (tmp_name[1] == 'R')) ||
                        ((tmp_name[0] == 'V') && (tmp_name[1] == 'L')) || ((tmp_name[0] == 'V') && (tmp_name[1] == 'R')))
                    {
                        mColorAxon = Color.green;
                    }
                    else
                    {
                        mColorAxon = Color.red;
                    }

                    mAxon[j].Draw(rpos, rpos2, mColorAxon, select);
                }
                else if ((link_with_muscle != 1) || select)
                {
                    rpos2 = (Globals.ort1 * (mAxon[j].getPos().x - Globals.pos_rc.x)
                             + Globals.ort2 * (mAxon[j].getPos().y - Globals.pos_rc.y)
                             + Globals.ort3 * (mAxon[j].getPos().z - Globals.pos_rc.z)) * Globals.scale + Globals.vcenter;

                    //p = rpos2 - rpos;
                    //h = p.magnitude;

                    /*	if(mAxon[j]->getTargName().magnitude<5)
                     *      glPrint2(rpos2.x,rpos2.y,rpos2.z,150,150,150,mAxon[j] ->getTargName().c_str());*/

                    //glPrint2(rpos2.x,rpos2.y,rpos2.z,150,150,150,mAxon[j] ->getTargName().c_str());
                    string tmp_name = mAxon[j].getTargName();
                    if (((tmp_name[0] == 'D') && (tmp_name[1] == 'L')) || ((tmp_name[0] == 'D') && (tmp_name[1] == 'R')) ||
                        ((tmp_name[0] == 'V') && (tmp_name[1] == 'L')) || ((tmp_name[0] == 'V') && (tmp_name[1] == 'R')))
                    {
                        mColorAxon.r = Mathf.Min(r * 1f, 1);
                        mColorAxon.g = Mathf.Min(g * 1f, 1);
                        mColorAxon.b = Mathf.Min(b * 1f, 1);
                        mColorAxon   = Color.yellow;
                    }
                    else
                    {
                        mColorAxon.r = Mathf.Min(r * 0.6f, 1);
                        mColorAxon.g = Mathf.Min(g * 0.6f, 1);
                        mColorAxon.b = Mathf.Min(b * 0.6f, 1);
                        mColorAxon   = Color.gray;
                    }
                    mAxon[j].Draw(rpos, rpos2, mColorAxon, select);
                    //glPushMatrix();
                    //glTranslated(rpos.x, rpos.y, rpos.z);
                    //glRotated(180.0f * (float)atan2(p.x, p.z) / pi, 0, 1, 0);
                    //glRotated(-180.0f * (float)atan2(p.y, sqrt(p.x * p.x + p.z * p.z)) / pi, 1, 0, 0);
                    //gluCylinder(quadObj, 0.0025 * scale, 0.001 * scale, h, 16, 16);
                    //glPopMatrix();
                }
                else
                {
                    mAxon[j].Hide();
                }
            } //end of for
        }