void GameObject::createB2Body (Prefab prefab) { // Create Box2D body for player. b2BodyDef bodyDef; // Body definitions // Position == Sprite's origin bodyDef.position = b2Vec2 (this->getPosition ().x / GraphicsOptions::pixelPerMeter, this->getPosition ().y / GraphicsOptions::pixelPerMeter); bodyDef.type = prefab.bodyType; // Dynamic, static or kinetic. boxBody = boxWorld.CreateBody (&bodyDef); // B2Body creation and assigment. boxBody->SetTransform (boxBody->GetPosition (), prefab.rotation); boxBody->SetAngularDamping (prefab.angularDamping); boxBody->SetLinearDamping (prefab.linearDamping); entityInfo.type = prefab.id; entityInfo.id = getGlobalID(); boxBody->SetUserData (&entityInfo); // Fixture definition. b2FixtureDef fixtureDef; fixtureDef.density = prefab.density; fixtureDef.friction = prefab.friction; if (prefab.polyShape == nullptr) // Chooses from available prefab's shape. fixtureDef.shape = (b2Shape*)prefab.circleShape; else fixtureDef.shape = (b2Shape*)prefab.polyShape; // Fixture creation boxBody->CreateFixture (&fixtureDef); }
FB::VariantMap HPCCSystemsGraphViewControlAPI::getProperties(int item) { assert(getPlugin()); FB::VariantMap retVal; retVal["_internalID"] = item; retVal["_globalID"] = getGlobalID(item); hpcc::ciStringStringMap properties; getPlugin()->GetProperties(item, properties); for(hpcc::ciStringStringMap::const_iterator itr = properties.begin(); itr != properties.end(); ++itr) retVal[itr->first] = itr->second; return retVal; }