DWORD CGUIItem::CheckMouseState(float mouseX, float mouseY, MOUSESTATE mouseState, float x, float y, float width, float height, DWORD dwLastState) { DWORD btState; if (mouseState == MOUSE_OPEN) { m_pVisItem->MouseOver(mouseX, mouseY, x, y, width, height, &btState); return btState; } else if (mouseState == MOUSE_LEFTPRESSED) { m_pVisItem->MouseButton(mouseX, mouseY, true, false, x, y, width, height, &btState); return btState; } else if (mouseState == MOUSE_LEFTRELEASED) { if ( m_pVisItem->MouseButton(mouseX, mouseY, false, true, x, y, width, height, &btState) ) { StdString eventName = _T("RELEASED_"); eventName += GetName()->GetString(); CHashString eName(eventName.c_str()); GUIEVENT ge; ge.event = eName.GetUniqueID(); ge.ar = NULL; static DWORD msgHash_QueueGUIStateEvent = CHashString(_T("QueueGUIStateEvent")).GetUniqueID(); m_ToolBox->SendMessage(msgHash_QueueGUIStateEvent, sizeof(GUIEVENT), &ge); } return btState; } return 0; }
static CMPIData argsGetArg(const CMPIArgs* eArg, const char* name, CMPIStatus* rc) { OpenWBEM::CIMParamValueArray *arg = (OpenWBEM::CIMParamValueArray *)eArg->hdl; OpenWBEM::String eName(name); long i = locateArg(*arg, eName); if (i >= 0) { return argsGetArgAt(eArg, i, NULL, rc); } CMPIData data={(CMPIType) 0, CMPI_nullValue, {0} }; CMSetStatus(rc,CMPI_RC_ERR_NOT_FOUND); return data; }
void MatlabExportModule :: computeArea(TimeStep *tStep) { Domain *domain = emodel->giveDomain(1); smax.clear(); smin.clear(); for (int i=1; i<=domain->giveNumberOfSpatialDimensions(); i++) { smax.push_back(domain->giveDofManager(1)->giveCoordinate(i)); smin.push_back(domain->giveDofManager(1)->giveCoordinate(i)); } for ( int i = 0; i < domain->giveNumberOfDofManagers(); i++ ) { for (int j=0; j < domain->giveNumberOfSpatialDimensions(); j++) { smax.at(j)=max(smax.at(j), domain->giveDofManager(i+1)->giveCoordinate(j+1)); smin.at(j)=min(smin.at(j), domain->giveDofManager(i+1)->giveCoordinate(j+1)); } } Area=0; Volume=0; if ( domain->giveNumberOfSpatialDimensions() == 2 ) { for ( auto &elem : domain->giveElements() ) { Area = Area + elem->computeArea(); } } else { for (size_t i = 0; i<partVolume.size(); i++ ) { partVolume.at(i)=0.0; } for ( auto &elem : domain->giveElements() ) { // double v; #ifdef __SM_MODULE if ( NLStructuralElement *e = dynamic_cast< NLStructuralElement *>( elem.get() ) ) { v = e->computeCurrentVolume(tStep); } else { #endif v = elem->computeVolume(); #ifdef __SM_MODULE } #endif std :: string eName ( elem->giveClassName() ); int j = -1; //printf("%s\n", eName.c_str()); for ( size_t k = 0; k < partName.size(); k++ ) { //printf("partName.at(%u) = %s\n", k, partName.at(k).c_str() ); if ( eName.compare(partName.at(k)) == 0 ) { j = k; break; } } if ( j == -1 ) { partName.push_back( elem->giveClassName() ); partVolume.push_back( v ); j = partVolume.size()-1; } else { partVolume.at(j) = partVolume.at(j) + v; } Volume = Volume + v; } } }