-
MovieNetwork Backup 5.4 DirectorData.pde작가/코드 2014. 12. 7. 19:44
class DirectorData
{
private String name;
private int num;
public String[] directorsMovieList;
public int directorsMovieNum;
public String[] directorsGenreList;
public int directorsGenreNum;
private PVector[] v_director;
private PVector[] vv_director;
private PVector zero = new PVector(0, 0, 0);
public DirectorData()
{
name = "null";
num = 0;
directorsMovieList = new String[50];
directorsMovieNum = 0;
directorsGenreList = new String[20];
directorsGenreNum = 0;
//v_direc = new PVector[] // Later
//vv_direc = new PVector[] // Later
}
public DirectorData(String nm, int n) // Overloading
{
name = nm;
num = n;
directorsMovieList = new String[50];
directorsMovieNum = 0;
directorsGenreList = new String[20];
directorsGenreNum = 0;
//v_direc = new PVector[] // Later
//vv_direc = new PVector[] // Later
}
public void setDirectorMovieList(String[] list, int num)
{
directorsMovieList = list;
directorsMovieNum = num;
}
public void setDirectorGenreList(String[] list, int num)
{
directorsGenreList = list;
directorsGenreNum = num;
}
public String getDirectorName() {
return name;
}
public int getDirectorNum() {
return num;
}
public String[] getDirectorsMovieList() {
return directorsMovieList;
}
public int getDirectorsMovieNum() {
return directorsMovieNum;
}
public String[] getDirectorsGenreList() {
return directorsGenreList;
}
public int getDirectorsGenreNum() {
return directorsGenreNum;
}
public void setDirectorPosition()
{
////////// v_director PART //////////
// v_director = main vector of each genre
v_director = new PVector[directorsGenreNum];
vv_director = new PVector[directorsGenreNum];
for (int i = 0; i < directorsGenreNum; i++)
{
String genre = directorsGenreList[i];
if (genre.equals("Action")) v_director[i] = plane[0].get();
else if (genre.equals("Drama")) v_director[i] = plane[1].get();
else if (genre.equals("SF")) v_director[i] = plane[2].get();
else if (genre.equals("Comedy")) v_director[i] = plane[3].get();
else if (genre.equals("Romance")) v_director[i] = plane[4].get();
else if (genre.equals("Adventure")) v_director[i] = plane[5].get();
else if (genre.equals("Fantasy")) v_director[i] = plane[6].get();
else if (genre.equals("Thriller")) v_director[i] = plane[7].get();
else if (genre.equals("Crime")) v_director[i] = plane[8].get();
else if (genre.equals("History")) v_director[i] = plane[9].get();
else if (genre.equals("Family")) v_director[i] = plane[10].get();
else if (genre.equals("Animation")) v_director[i] = plane[11].get();
else if (genre.equals("Mystery")) v_director[i] = plane[12].get();
else if (genre.equals("War")) v_director[i] = plane[13].get();
else if (genre.equals("Horror")) v_director[i] = plane[14].get();
else if (genre.equals("Musical")) v_director[i] = plane[15].get();
else if (genre.equals("Western")) v_director[i] = plane[16].get();
else if (genre.equals("Documentary")) v_director[i] = plane[17].get();
else if (genre.equals("ETC")) v_director[i] = plane[18].get();
else if (genre.equals("Biography")) v_director[i] = plane[19].get(); // No nodes
else if (genre.equals("null")) v_director[i] = zero.get();
}
////////// vv_director PART //////////
// vv_director = this vectors are added to main vector v
for (int i = 0; i < directorsGenreNum; i++) // initializing to zero vector
{
vv_director[i] = new PVector();
vv_director[i].set(0.0, 0.0, 0.0);
}
vv_director[0] = v_director[0].get(); //// vv_director[0]
// The first genre number = 0 ----> vv_director[0] = v_director[0] = Center of the vector position
for (int i = 1; i < directorsGenreNum; i++) //// vv_actor[1], vv_actor[2], vv_actor[3], vv_actor[4], vv_actor[5]
{
vv_director[i] = v_director[i].get();
vv_director[i].sub(v_director[0]);
float weight = (1.0)/float(i);
vv_director[i].setMag(weight * L_in_director);
}
}
public PVector getDirectorPosition()
{
PVector result = new PVector(0.0, 0.0, 0.0);
result = vv_director[0].get();
for(int i = 0; i < (directorsGenreNum-1); i++)
{
result.add(vv_director[i+1]); // second genre and more
}
//result.setMag(R_Director); // 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;
}
}
'작가 > 코드' 카테고리의 다른 글
MovieNetwork Backup 5.6 NetworkMethods.pde (0) 2014.12.08 MovieNetwork Backup 5.5 IcosahedralSymmetry.pde (0) 2014.12.07 MovieNetwork Backup 5.3 ActorData.pde (0) 2014.12.07 MovieNetwork Backup 5.2 MovieData.pde (0) 2014.12.07 MovieNetwork Backup 5.1 MovieNetwork.pde (0) 2014.12.07