작가/코드

MovieNetwork Backup 5.3 ActorData.pde

yuhyje 2014. 12. 7. 19:43

//public int[] wholeActors_firstNum = new int[3000];

//public int[] wholeActors_secondNum = new int[30];


class ActorData

{

  private String name;

  private int num;

  private int firstNum;

  private int secondNum;


  public String[] actorsMovieList;

  public int actorsMovieNum;

  public String[] actorsGenreList;

  public int actorsGenreNum;


  private PVector[] v_actor;

  private PVector[] vv_actor;

  

  private PVector zero = new PVector(0, 0, 0);



  public ActorData()

  {

    name = "null";

    num = 0;

    firstNum = 0;

    secondNum = 0;


    actorsMovieList = new String[50];

    actorsMovieNum = 0;

    actorsGenreList = new String[20];

    actorsGenreNum = 0;

    

    //v_actor = new PVector[]  // Later

    //vv_actor = new PVector[]  // Later

  }

  

  

  public ActorData(String nm, int n, int fn, int sn)  // Overloading

  {

    name = nm;

    num = n;

    firstNum = fn;

    secondNum = sn;

    

    actorsMovieList = new String[50];

    actorsMovieNum = 0;

    actorsGenreList = new String[20];

    actorsGenreNum = 0;


    //v_actor = new PVector[]  // Later

    //vv_actor = new PVector[]  // Later    

  }

  

  

  public void setActorMovieList(String[] list, int num)

  {

    actorsMovieList = list;

    actorsMovieNum = num;

  }

  

  public void setActorGenreList(String[] list, int num)

  {

    actorsGenreList = list;

    actorsGenreNum = num;

  }





  public String getActorName() {

    return name;

  }

  public int getNum() {

    return num;

  }

  public int getFirstNum() {

    return firstNum;

  }

  public int getSecondNum() {

    return secondNum;

  }



  public String[] getActorsMovieList() {

    return actorsMovieList;

  }

  public int getActorsMovieNum() {

    return actorsMovieNum;

  }

  public String[] getActorsGenreList() {

    return actorsGenreList;

  }

  public int getActorsGenreNum() {

    return actorsGenreNum;

  }





  public void setActorPosition()

  {

    ////////// v_actor PART //////////

    // v_actor = main vector of each genre

    

    v_actor = new PVector[actorsGenreNum];

    vv_actor = new PVector[actorsGenreNum];


    for (int i = 0; i < actorsGenreNum; i++)

    {

      String genre = actorsGenreList[i];


      if (genre.equals("Action")) v_actor[i] = plane[0].get();

      else if (genre.equals("Drama")) v_actor[i] = plane[1].get();

      else if (genre.equals("SF")) v_actor[i] = plane[2].get();

      else if (genre.equals("Comedy")) v_actor[i] = plane[3].get();

      else if (genre.equals("Romance")) v_actor[i] = plane[4].get();

      else if (genre.equals("Adventure")) v_actor[i] = plane[5].get();

      else if (genre.equals("Fantasy")) v_actor[i] = plane[6].get();

      else if (genre.equals("Thriller")) v_actor[i] = plane[7].get();

      else if (genre.equals("Crime")) v_actor[i] = plane[8].get();

      else if (genre.equals("History")) v_actor[i] = plane[9].get();

      else if (genre.equals("Family")) v_actor[i] = plane[10].get();

      else if (genre.equals("Animation")) v_actor[i] = plane[11].get();

      else if (genre.equals("Mystery")) v_actor[i] = plane[12].get();

      else if (genre.equals("War")) v_actor[i] = plane[13].get();

      else if (genre.equals("Horror")) v_actor[i] = plane[14].get();

      else if (genre.equals("Musical")) v_actor[i] = plane[15].get();

      else if (genre.equals("Western")) v_actor[i] = plane[16].get();

      else if (genre.equals("Documentary")) v_actor[i] = plane[17].get();

      else if (genre.equals("ETC")) v_actor[i] = plane[18].get();

      else if (genre.equals("Biography")) v_actor[i] = plane[19].get();  // No nodes

      else if (genre.equals("null")) v_actor[i] = zero.get();

    }



    ////////// vv_actor PART //////////

    // vv_actor = this vectors are added to main vector v


    for (int i = 0; i < actorsGenreNum; i++)  // initializing to zero vector

    {

      vv_actor[i] = new PVector();

      vv_actor[i].set(0.0, 0.0, 0.0);

    }


    vv_actor[0] = v_actor[0].get();  //// vv_actor[0]  

    // The first genre number = 0 ----> vv_actor[0] = v_actor[0] = Center of the vector position


    for (int i = 1; i < actorsGenreNum; i++)  //// vv_actor[1], vv_actor[2], vv_actor[3], vv_actor[4], vv_actor[5]

    {

      vv_actor[i] = v_actor[i].get();

      vv_actor[i].sub(v_actor[0]);

      float weight = (1.0)/float(i);

      vv_actor[i].setMag(weight * L_in_star);

    }

  }



  public PVector getActorPosition()

  {

    PVector result = new PVector(0.0, 0.0, 0.0);

    result = vv_actor[0].get();

    

    for(int i = 0; i < (actorsGenreNum-1); i++)

    {

      result.add(vv_actor[i+1]);  // second genre and more

    }


    //result.setMag(R_Star);  // NOT BAD!! OK!!


    // No overlap

    result.x = result.x + random(-20, 20);

    result.y = result.y + random(-20, 20);

    result.z = result.z + random(-20, 20);


    return result;

  }

}