本文整理汇总了C++中Interaction::getManipulationActionModel方法的典型用法代码示例。如果您正苦于以下问题:C++ Interaction::getManipulationActionModel方法的具体用法?C++ Interaction::getManipulationActionModel怎么用?C++ Interaction::getManipulationActionModel使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Interaction
的用法示例。
在下文中一共展示了Interaction::getManipulationActionModel方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: execute
void InteractionBeginHomerManipulationActionEvent::execute() {
int i;
unsigned short type, id;
User* user;
bool localPipe = false;
HomerManipulationActionModel* manipulationModel = NULL;
user = UserDatabase::getUserById(userId);
assert(user);
if (userId == UserDatabase::getLocalUserId())
localPipe = true;
if (localPipe) {
Interaction* interactionModule = (Interaction*)SystemCore::getModuleByName("Interaction");
assert(interactionModule);
manipulationModel
= dynamic_cast<HomerManipulationActionModel*> (interactionModule->getManipulationActionModel());
} // if
for (i = 0; i < (int)manipulatingEntityIds.size(); i++) {
split(manipulatingEntityIds[i], type, id);
// printd("Opening Pipe with type %i and id %i\n", type, id);
TransformationPipe* manipulationPipe = TransformationManager::openPipe(
INTERACTION_MODULE_ID, WORLD_DATABASE_ID, 1, 0, type, id, 0, !localPipe, user);
if (manipulationModel)
manipulationModel->setManipulationPipe(manipulatingEntityIds[i], manipulationPipe);
} // for
}
示例2: execute
void PhysicsEndSpringManipulationActionEvent::execute()
{
int i;
unsigned short type, id;
User* user;
bool localPipe = false;
TransformationPipe* manipulationPipe;
PhysicsSpringManipulationActionModel* manipulationModel = NULL;
user = UserDatabase::getUserById(userId);
assert(user);
if (userId == UserDatabase::getLocalUserId())
localPipe = true;
if (localPipe)
{
Interaction* interactionModule = (Interaction*)SystemCore::getModuleByName("Interaction");
assert(interactionModule);
manipulationModel = dynamic_cast<PhysicsSpringManipulationActionModel*>(interactionModule->getManipulationActionModel());
} // if
/* DEPRECATED: PIPE FOR PHYSICSENTITY IS MANAGED BY PHYSICS MODULE
for (i=0; i < (int)physicsEntityIds.size(); i++)
{
split(physicsEntityIds[i], type, id);
manipulationPipe = TransformationManager::getPipe(INTERACTION_MODULE_ID, WORLD_DATABASE_ID, 2, 0, type, id, 0, !localPipe, user);
if (!manipulationPipe)
printd(WARNING, "PhysicsEndSpringManipulationActionEvent::execute(): could not find manipulation Pipe for user with ID %u\n", userId);
else
TransformationManager::closePipe(manipulationPipe);
if (manipulationModel)
manipulationModel->clearPhysicsEntityPipe(physicsEntityIds[i]);
} // for
*/
for (i=0; i < (int)nonPhysicsEntityIds.size(); i++)
{
split(nonPhysicsEntityIds[i], type, id);
manipulationPipe = TransformationManager::getPipe(INTERACTION_MODULE_ID, WORLD_DATABASE_ID, 1, 0, type, id, 0, !localPipe, user);
if (!manipulationPipe)
printd(WARNING, "PhysicsEndSpringManipulationActionEvent::execute(): could not find manipulation Pipe for user with ID %u\n", userId);
else
TransformationManager::closePipe(manipulationPipe);
if (manipulationModel)
manipulationModel->clearNonPhysicsEntityPipe(nonPhysicsEntityIds[i]);
} // for
} // execute