Basic Image AlgorithmS Library  2.8.0
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
SceneCheckerboard2D.cpp
1 #include <Base/Math/Vector2.hh>
2 #include "SceneCheckerboard2D.hh"
3 
4 
5 using namespace std;
6 using namespace BIAS;
7 
8 SceneCheckerBoard2D::SceneCheckerBoard2D(){
9  useAA_ = false;
10 }
11 
12 void SceneCheckerBoard2D::Draw(){
13  if (corners_.size() == 0) return;
14 
15  int sizeX = corners_.size();
16  int sizeY = corners_[0].size();
17 
18  glDisable(GL_DEPTH_TEST);
19 
20  if (useAA_){
21  glHint( GL_POLYGON_SMOOTH_HINT,GL_NICEST );
22  glEnable(GL_POLYGON_SMOOTH);
23  glEnable(GL_BLEND) ;
24  glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA);
25  }
26 
27  glDisable(GL_LIGHTING);
28  glMatrixMode(GL_PROJECTION);
29  glPushMatrix();
30  glLoadIdentity ();
31  glOrtho (0, sizeX_, sizeY_, 0, 0, 1);
32  glMatrixMode (GL_MODELVIEW);
33  glPushMatrix();
34  glLoadIdentity();
35  glBegin(GL_QUADS);
36 
37  /* if (useAA_){
38  for (int x = 0; x < sizeX-1; x++)
39  for (int y = 0; y < sizeY-1; y++){
40  if ((x+y) %2 == 0) glColor3f(0.0,0.0,0.0);
41  else glColor3f(1.0,1.0,1.0);
42  glVertex2f(corners_[x][y][0],corners_[x][y][1]);
43  glVertex2f(corners_[x+1][y][0],corners_[x+1][y][1]);
44  glVertex2f(corners_[x+1][y+1][0],corners_[x+1][y+1][1]);
45  glVertex2f(corners_[x][y+1][0],corners_[x][y+1][1]);
46  glVertex2f(corners_[x][y+1][0],corners_[x][y+1][1]);
47  glVertex2f(corners_[x][y][0],corners_[x][y][1]);
48  glVertex2f(corners_[x+1][y][0],corners_[x+1][y][1]);
49  glVertex2f(corners_[x+1][y+1][0],corners_[x+1][y+1][1]);
50  }
51  glEnd();
52  } else {*/
53  for (int x = 0; x < sizeX-1; x++)
54  for (int y = 0; y < sizeY-1; y++){
55  if ((x+y) %2 == 0) glColor3f(0.0,0.0,0.0);
56  else glColor3f(1.0,1.0,1.0);
57  glVertex2f(corners_[x][y][0],corners_[x][y][1]);
58  glVertex2f(corners_[x+1][y][0],corners_[x+1][y][1]);
59  glVertex2f(corners_[x+1][y+1][0],corners_[x+1][y+1][1]);
60  glVertex2f(corners_[x][y+1][0],corners_[x][y+1][1]);
61  }
62  glEnd();
63 
64  //}
65 
66  glPopMatrix();
67  glMatrixMode(GL_PROJECTION);
68  glPopMatrix();
69 
70  glEnable(GL_DEPTH_TEST);
71 }
72 
73 void SceneCheckerBoard2D::SetCorners(std::vector< std::vector < BIAS::Vector2< float > > > &corners){
74  corners_ = corners;
75 }
76 
77 void SceneCheckerBoard2D::SetImageSize(int sizeX, int sizeY){
78  sizeX_ = sizeX;
79  sizeY_ = sizeY;
80 }
81 
82 void SceneCheckerBoard2D::SetColorBlack(const Vector3<unsigned char> &col){
83  colorBlack_ = col;
84 }
85 
86 void SceneCheckerBoard2D::SetColorWhite(const Vector3<unsigned char> &col){
87  colorWhite_ = col;
88 }
89 
90