osg:: Node* createBoxNo5(const osg::BoundingBox& bb,float chordRatio) { osg::Geode* geode = new osg::Geode(); osg::Vec4 white(1.0f,1.0f,1.0f,1.0f); // front faces. geode->addDrawable(createWing(bb.corner(4),bb.corner(6),bb.corner(7),chordRatio,white)); geode->addDrawable(createWing(bb.corner(1),bb.corner(0),bb.corner(4),chordRatio,white)); geode->addDrawable(createWing(bb.corner(7),bb.corner(3),bb.corner(1),chordRatio,white)); // back faces geode->addDrawable(createWing(bb.corner(2),bb.corner(0),bb.corner(1),chordRatio,white)); geode->addDrawable(createWing(bb.corner(1),bb.corner(3),bb.corner(2),chordRatio,white)); geode->addDrawable(createWing(bb.corner(2),bb.corner(3),bb.corner(7),chordRatio,white)); geode->addDrawable(createWing(bb.corner(7),bb.corner(6),bb.corner(2),chordRatio,white)); geode->addDrawable(createWing(bb.corner(2),bb.corner(6),bb.corner(4),chordRatio,white)); geode->addDrawable(createWing(bb.corner(4),bb.corner(0),bb.corner(2),chordRatio,white)); return geode; }
void EWingInput::slotReadSocket() { while (m_socket->hasPendingDatagrams() == true) { QHostAddress sender; QByteArray data; EWing* wing; /* Read data from socket */ data.resize(m_socket->pendingDatagramSize()); m_socket->readDatagram(data.data(), data.size(), &sender); /* Check, whether we already have a device from this address */ wing = device(sender, EWing::resolveType(data)); if (wing == NULL) { /* New address. Create a new device. */ wing = createWing(this, sender, data); if (wing != NULL) addDevice(wing); } if (wing != NULL) wing->parseData(data); } }
osg:: Node* createBoxNo5No2(const osg::BoundingBox& bb,float chordRatio) { osg::Geode* geode = new osg::Geode(); // osg::Vec4 red(1.0f,0.0f,0.0f,1.0f); // osg::Vec4 green(0.0f,1.0f,0.0f,1.0f); // osg::Vec4 blue(0.0f,0.0f,1.0f,1.0f); osg::Vec4 red(1.0f,0.12f,0.06f,1.0f); osg::Vec4 green(0.21f,0.48f,0.03f,1.0f); osg::Vec4 blue(0.20f,0.45f,0.60f,1.0f); // front faces. geode->addDrawable(createWing(bb.corner(4),bb.corner(6),bb.corner(7),chordRatio,red)); geode->addDrawable(createWing(bb.corner(1),bb.corner(0),bb.corner(4),chordRatio,green)); geode->addDrawable(createWing(bb.corner(7),bb.corner(3),bb.corner(1),chordRatio,blue)); return geode; }