예제 #1
0
Hardware::Hardware(QObject *parent) :
    QObject(parent),
    m_parameterManager(new ParameterManager(this, this))
{
    qRegisterMetaType<Pantilt>("Pantilt");
    connect(m_parameterManager, SIGNAL(parametersChanged()), SLOT(onParametersChanged()));

    for (int i=Hardware::EyeLaser; i<Hardware::__Trigger_Size__; i++)
    {
        Hardware::Trigger trigger = (Hardware::Trigger) i;
        m_triggers[trigger] = new TehTrigger(trigger, this);
    }
}
예제 #2
0
void CParameterObject::parametersChanged()
{
	std::list<paramPair>::iterator it = parameterObjects->begin();

	for (;it != parameterObjects->end(); it ++)
	{
		string prefix = (*it).second;
		for (int i = 0; i < getNumParameters(); i++)
		{
			string paramName = getParameterName(i);
			double value = getParameter(paramName);

			if (prefix == paramName.substr(0, prefix.length()))
			{
				paramName = paramName.substr(prefix.length());
				if ((*it).first->getParameterIndex(paramName) >= 0 && fabs((*it).first->getParameter(paramName) - value) > 0.00001)
				{
					(*it).first->setParameter(paramName, value);
				}
			}
		}
	}
	onParametersChanged();
}