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;
}
Example #2
0
// 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();
}
Example #3
0
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();
};