bool RadiusInteractor::ExecuteAction(mitk::Action* action, mitk::StateEvent const* stateEvent) { bool ok=false; int actionId = action->GetActionId(); switch(actionId) { case mitk::AcMOVE: { mitk::IntProperty* plus = dynamic_cast<mitk::IntProperty*>(action->GetProperty("DIRECTION_+")); mitk::IntProperty* minus = dynamic_cast<mitk::IntProperty*>(action->GetProperty("DIRECTION_-")); //std::cout << "Plus: " << plus->GetValue() << ", Minus: " << minus->GetValue() << "\n"; if(plus->GetValue() > 0) { UpdateRadius(+1); } else if(minus->GetValue() > 0) { UpdateRadius(-1); } ok = true; break; } default: ok = false; break; } return ok; }
// Loading void Player::LoadCharacter(string characterName) { m_pVoxelCharacter->UnloadCharacter(); m_pVoxelCharacter->Reset(); char characterBaseFolder[128]; char qbFilename[128]; char ms3dFilename[128]; char animListFilename[128]; char facesFilename[128]; char characterFilename[128]; string modelName = characterName; string typeName = "Human"; snprintf(characterBaseFolder, 128, "media/gamedata/models"); snprintf(qbFilename, 128, "media/gamedata/models/%s/%s.qb", typeName.c_str(), modelName.c_str()); snprintf(ms3dFilename, 128, "media/gamedata/models/%s/%s.ms3d", typeName.c_str(), typeName.c_str()); snprintf(animListFilename, 128, "media/gamedata/models/%s/%s.animlist", typeName.c_str(), typeName.c_str()); snprintf(facesFilename, 128, "media/gamedata/models/%s/%s.faces", typeName.c_str(), modelName.c_str()); snprintf(characterFilename, 128, "media/gamedata/models/%s/%s.character", typeName.c_str(), modelName.c_str()); m_pVoxelCharacter->LoadVoxelCharacter(typeName.c_str(), qbFilename, ms3dFilename, animListFilename, facesFilename, characterFilename, characterBaseFolder); m_pVoxelCharacter->SetBreathingAnimationEnabled(true); m_pVoxelCharacter->SetWinkAnimationEnabled(true); m_pVoxelCharacter->SetTalkingAnimationEnabled(false); m_pVoxelCharacter->SetRandomMouthSelection(true); m_pVoxelCharacter->SetRandomLookDirection(true); m_pVoxelCharacter->SetWireFrameRender(false); m_pVoxelCharacter->SetCharacterScale(0.08f); UpdateRadius(); }
void cMap::UpdateRadius(cPlayer & a_Player, unsigned int a_Radius) { int PixelWidth = static_cast<int>(GetPixelWidth()); int PixelX = static_cast<int>(a_Player.GetPosX() - m_CenterX) / PixelWidth + static_cast<int>(m_Width / 2); int PixelZ = static_cast<int>(a_Player.GetPosZ() - m_CenterZ) / PixelWidth + static_cast<int>(m_Height / 2); UpdateRadius(PixelX, PixelZ, a_Radius); }
sc::result CellStateChart_CellCycle_Meiosis::react( const EvCellStateChart_CellCycleUpdate & ){ CellPtr myCell=context<CellStatechart>().pCell; UpdateRadius(myCell); return forward_event(); };