void MaterialEditor3::setMaterial(const MaterialPtr& m){ __material = m; if(m){ EditName->setText(QString(m->getName().c_str())); Color3 c = m->getAmbient(); __diffuse = (int)(m->getDiffuse()*(*c.getMax())); SliderDiffuse->setValue(__diffuse); SliderShininess->setValue((int)(m->getShininess()*100)); SliderTransparency->setValue((int)(m->getTransparency()*100)); ButtonAmbient->setColor(QColor(c.getRed(),c.getGreen(),c.getBlue())); SliderAmbient->setColor(QColor(c.getRed(),c.getGreen(),c.getBlue())); real_t r = m->getDiffuse(); ButtonDiffuse->setColor(QColor((int)(r*c.getRed()),(int)(r*c.getGreen()),(int)(r*c.getBlue()))); c = m->getSpecular(); ButtonSpecular->setColor(QColor(c.getRed(),c.getGreen(),c.getBlue())); SliderSpecular->setColor(QColor(c.getRed(),c.getGreen(),c.getBlue())); c = m->getEmission(); ButtonEmission->setColor(QColor(c.getRed(),c.getGreen(),c.getBlue())); SliderEmission->setColor(QColor(c.getRed(),c.getGreen(),c.getBlue())); FrameGL->setAppearance(AppearancePtr(m)); } }
static tuple getinitargs(Color3 const& c) { return make_tuple(c.getRed(),c.getGreen(),c.getBlue()); }