MCPcopy Create free account
hub / github.com/OctoMap/octomap / draw

Method draw

octovis/src/SelectionBox.cpp:77–215  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

75}
76
77void SelectionBox::draw(bool withNames){
78
79
80 // set min/max new from grabbed frame:
81 for (unsigned i = 0; i < m_frames.size(); ++i){
82 if (frame(i)->grabsMouse()){
83 qglviewer::Vec f = frame(i)->position();
84
85 unsigned oi = i+3;
86 float corr = m_arrowLength/2.0;
87 if (i >= 3){
88 oi = i-3;
89 corr *= -1;
90 }
91
92 qglviewer::Vec fo = frame(oi)->position();
93
94 unsigned ci = i%3;
95 m_minPt[ci] = std::min(f[ci] - corr, fo[ci] + corr);
96 m_maxPt[ci] = std::max(f[ci] - corr, fo[ci] + corr);
97 }
98 }
99
100 // draw box:
101
102 glEnable(GL_LINE_SMOOTH);
103 glLineWidth(2.);
104 glDisable(GL_LIGHTING);
105 glColor3f(0.9,0.0, 0.0);
106 glBegin(GL_LINE_LOOP); // Start drawing a line primitive
107 glVertex3f(m_minPt.x, m_minPt.y, m_minPt.z);
108 glVertex3f(m_maxPt.x, m_minPt.y, m_minPt.z);
109 glVertex3f(m_maxPt.x, m_maxPt.y, m_minPt.z);
110 glVertex3f(m_minPt.x, m_maxPt.y, m_minPt.z);
111 glEnd();
112
113 glBegin(GL_LINE_LOOP);
114 glVertex3f(m_minPt.x, m_minPt.y, m_maxPt.z);
115 glVertex3f(m_maxPt.x, m_minPt.y, m_maxPt.z);
116 glVertex3f(m_maxPt.x, m_maxPt.y, m_maxPt.z);
117 glVertex3f(m_minPt.x, m_maxPt.y, m_maxPt.z);
118 // glVertex3f(-1.0f, -1.0f, 0.0f); // The bottom left corner
119 // glVertex3f(-1.0f, 1.0f, 0.0f); // The top left corner
120 // glVertex3f(1.0f, 1.0f, 0.0f); // The top right corner
121 // glVertex3f(1.0f, -1.0f, 0.0f); // The bottom right corner
122 glEnd();
123
124 glBegin(GL_LINES);
125 glVertex3f(m_minPt.x, m_minPt.y, m_minPt.z);
126 glVertex3f(m_minPt.x, m_minPt.y, m_maxPt.z);
127
128 glVertex3f(m_maxPt.x, m_minPt.y, m_minPt.z);
129 glVertex3f(m_maxPt.x, m_minPt.y, m_maxPt.z);
130
131 glVertex3f(m_maxPt.x, m_maxPt.y, m_minPt.z);
132 glVertex3f(m_maxPt.x, m_maxPt.y, m_maxPt.z);
133
134 glVertex3f(m_minPt.x, m_maxPt.y, m_minPt.z);

Callers

nothing calls this directly

Calls 4

setTranslationMethod · 0.80
sizeMethod · 0.45
positionMethod · 0.45
matrixMethod · 0.45

Tested by

no test coverage detected