GLShaderParam::GLShaderParam(OGLShader* pShader, const std::string& sName) : m_sName(sName) { m_Location = glproc::GetUniformLocation(pShader->getProgram(), sName.c_str()); string sErr = std::string("Shader param '") + sName + "' not found in shader '" + pShader->getName() + "'."; AVG_ASSERT_MSG(m_Location != -1, sErr.c_str()); GLContext::checkError(sErr.c_str()); };
const MessageID& PublisherDefinition::getMessageID(const std::string& sName) const { for (unsigned i=0; i<m_MessageIDs.size(); ++i) { if (m_MessageIDs[i].m_sName == sName) { return m_MessageIDs[i]; } } AVG_ASSERT_MSG(false, (string("Message named '")+sName+("' unknown.")).c_str()); // Avoid compiler warning. static MessageID nullMsg("", -1); return nullMsg; }
void Contact::sendEventToListeners(CursorEventPtr pCursorEvent) { switch (pCursorEvent->getType()) { case Event::CURSOR_DOWN: break; case Event::CURSOR_MOTION: notifySubscribers("CURSOR_MOTION", pCursorEvent); break; case Event::CURSOR_UP: notifySubscribers("CURSOR_UP", pCursorEvent); removeSubscribers(); break; default: AVG_ASSERT_MSG(false, pCursorEvent->typeStr().c_str()); } m_bSendingEvents = true; AVG_ASSERT(pCursorEvent->getContact() == shared_from_this()); EventPtr pEvent = boost::dynamic_pointer_cast<Event>(pCursorEvent); m_bCurListenerIsDead = false; for (map<int, Listener>::iterator it = m_ListenerMap.begin(); it != m_ListenerMap.end();) { Listener listener = it->second; m_CurListenerID = it->first; m_bCurListenerIsDead = false; switch (pCursorEvent->getType()) { case Event::CURSOR_MOTION: if (listener.m_pMotionCallback != Py_None) { py::call<void>(listener.m_pMotionCallback, pEvent); } break; case Event::CURSOR_UP: if (listener.m_pUpCallback != Py_None) { py::call<void>(listener.m_pUpCallback, pEvent); } break; default: AVG_ASSERT(false); } map<int, Listener>::iterator lastIt = it; ++it; if (m_bCurListenerIsDead) { m_ListenerMap.erase(lastIt); m_bCurListenerIsDead = false; } } m_bSendingEvents = false; }