Label3D *BinaryConverter::LoadLabel3D(NodeDatabase &db) { Label3D* lbl = new Label3D(db.loader->GetRenderer(), db.loader->GetLabel3DFont()); lbl->SetText("NCC-1982"); return lbl; }
virtual void ApplyLabel(Label3D &l) { l.SetText(label); }
void Bar::draw(Qwt3D::Triple const& pos) { // GLStateBewarer sb(GL_LINE_SMOOTH, true); // sb.turnOn(); double interval = plot->hull().maxVertex.z-plot->hull().minVertex.z; double numlevel = plot->hull().minVertex.z + level_ * interval; interval /=100; if (pos.z > numlevel - interval && pos.z < numlevel + interval ) { Label3D lb; lb.draw(pos, diag_, diag_ * 2); } GLdouble minz = plot->hull().minVertex.z; RGBA rgbat = (*plot->dataColor())(pos); RGBA rgbab = (*plot->dataColor())(pos.x, pos.y, minz); glBegin(GL_QUADS); glColor4d(rgbab.r,rgbab.g,rgbab.b,rgbab.a); glVertex3d(pos.x-diag_,pos.y-diag_,minz); glVertex3d(pos.x+diag_,pos.y-diag_,minz); glVertex3d(pos.x+diag_,pos.y+diag_,minz); glVertex3d(pos.x-diag_,pos.y+diag_,minz); if (pos.z > numlevel - interval && pos.z < numlevel + interval ) glColor3d(0.7,0,0); else glColor4d(rgbat.r,rgbat.g,rgbat.b,rgbat.a); glVertex3d(pos.x-diag_,pos.y-diag_,pos.z); glVertex3d(pos.x+diag_,pos.y-diag_,pos.z); glVertex3d(pos.x+diag_,pos.y+diag_,pos.z); glVertex3d(pos.x-diag_,pos.y+diag_,pos.z); glColor4d(rgbab.r,rgbab.g,rgbat.b,rgbab.a); glVertex3d(pos.x-diag_,pos.y-diag_,minz); glVertex3d(pos.x+diag_,pos.y-diag_,minz); glColor4d(rgbat.r,rgbat.g,rgbat.b,rgbat.a); glVertex3d(pos.x+diag_,pos.y-diag_,pos.z); glVertex3d(pos.x-diag_,pos.y-diag_,pos.z); glColor4d(rgbab.r,rgbab.g,rgbat.b,rgbab.a); glVertex3d(pos.x-diag_,pos.y+diag_,minz); glVertex3d(pos.x+diag_,pos.y+diag_,minz); glColor4d(rgbat.r,rgbat.g,rgbat.b,rgbat.a); glVertex3d(pos.x+diag_,pos.y+diag_,pos.z); glVertex3d(pos.x-diag_,pos.y+diag_,pos.z); glColor4d(rgbab.r,rgbab.g,rgbat.b,rgbab.a); glVertex3d(pos.x-diag_,pos.y-diag_,minz); glVertex3d(pos.x-diag_,pos.y+diag_,minz); glColor4d(rgbat.r,rgbat.g,rgbat.b,rgbat.a); glVertex3d(pos.x-diag_,pos.y+diag_,pos.z); glVertex3d(pos.x-diag_,pos.y-diag_,pos.z); glColor4d(rgbab.r,rgbab.g,rgbat.b,rgbab.a); glVertex3d(pos.x+diag_,pos.y-diag_,minz); glVertex3d(pos.x+diag_,pos.y+diag_,minz); glColor4d(rgbat.r,rgbat.g,rgbat.b,rgbat.a); glVertex3d(pos.x+diag_,pos.y+diag_,pos.z); glVertex3d(pos.x+diag_,pos.y-diag_,pos.z); glEnd(); glColor3d(0,0,0); glBegin(GL_LINES); glVertex3d(pos.x-diag_,pos.y-diag_,minz); glVertex3d(pos.x+diag_,pos.y-diag_,minz); glVertex3d(pos.x-diag_,pos.y-diag_,pos.z); glVertex3d(pos.x+diag_,pos.y-diag_,pos.z); glVertex3d(pos.x-diag_,pos.y+diag_,pos.z); glVertex3d(pos.x+diag_,pos.y+diag_,pos.z); glVertex3d(pos.x-diag_,pos.y+diag_,minz); glVertex3d(pos.x+diag_,pos.y+diag_,minz); glVertex3d(pos.x-diag_,pos.y-diag_,minz); glVertex3d(pos.x-diag_,pos.y+diag_,minz); glVertex3d(pos.x+diag_,pos.y-diag_,minz); glVertex3d(pos.x+diag_,pos.y+diag_,minz); glVertex3d(pos.x+diag_,pos.y-diag_,pos.z); glVertex3d(pos.x+diag_,pos.y+diag_,pos.z); glVertex3d(pos.x-diag_,pos.y-diag_,pos.z); glVertex3d(pos.x-diag_,pos.y+diag_,pos.z); glVertex3d(pos.x-diag_,pos.y-diag_,minz); glVertex3d(pos.x-diag_,pos.y-diag_,pos.z); glVertex3d(pos.x+diag_,pos.y-diag_,minz); glVertex3d(pos.x+diag_,pos.y-diag_,pos.z); glVertex3d(pos.x+diag_,pos.y+diag_,minz); glVertex3d(pos.x+diag_,pos.y+diag_,pos.z); glVertex3d(pos.x-diag_,pos.y+diag_,minz); glVertex3d(pos.x-diag_,pos.y+diag_,pos.z); glEnd(); }