MovieNetwork Backup 5.3 ActorData.pde
//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;
}
}