Vector2 RigidBody2D::GetMassCenter() const { if (!useFixtureMass_) return ToVector2(massData_.center); return body_ ? ToVector2(body_->GetLocalCenter()) : Vector2::ZERO; }
Vector2 CollisionShape2D::GetMassCenter() const { if (!fixture_) return Vector2::ZERO; b2MassData massData; fixture_->GetMassData(&massData); return ToVector2(massData.center); }
Vector2 XMLElement::GetVector2(const ea::string& name) const { return ToVector2(GetAttribute(name)); }
Vector2 ToVector2(const String& source) { return ToVector2(source.CString()); }
void Variant::FromString(VariantType type, const char* value) { switch (type) { case VAR_INT: *this = ToInt(value); break; case VAR_INT64: *this = ToInt64(value); break; case VAR_BOOL: *this = ToBool(value); break; case VAR_FLOAT: *this = ToFloat(value); break; case VAR_VECTOR2: *this = ToVector2(value); break; case VAR_VECTOR3: *this = ToVector3(value); break; case VAR_VECTOR4: *this = ToVector4(value); break; case VAR_QUATERNION: *this = ToQuaternion(value); break; case VAR_COLOR: *this = ToColor(value); break; case VAR_STRING: *this = value; break; case VAR_BUFFER: { SetType(VAR_BUFFER); PODVector<unsigned char>& buffer = *(reinterpret_cast<PODVector<unsigned char>*>(&value_)); StringToBuffer(buffer, value); } break; case VAR_VOIDPTR: // From string to void pointer not supported, set to null *this = (void*)0; break; case VAR_RESOURCEREF: { StringVector values = String::Split(value, ';'); if (values.Size() == 2) { SetType(VAR_RESOURCEREF); ResourceRef& ref = *(reinterpret_cast<ResourceRef*>(&value_)); ref.type_ = values[0]; ref.name_ = values[1]; } } break; case VAR_RESOURCEREFLIST: { StringVector values = String::Split(value, ';', true); if (values.Size() >= 1) { SetType(VAR_RESOURCEREFLIST); ResourceRefList& refList = *(reinterpret_cast<ResourceRefList*>(&value_)); refList.type_ = values[0]; refList.names_.Resize(values.Size() - 1); for (unsigned i = 1; i < values.Size(); ++i) refList.names_[i - 1] = values[i]; } } break; case VAR_INTRECT: *this = ToIntRect(value); break; case VAR_INTVECTOR2: *this = ToIntVector2(value); break; case VAR_INTVECTOR3: *this = ToIntVector3(value); break; case VAR_PTR: // From string to RefCounted pointer not supported, set to null *this = (RefCounted*)0; break; case VAR_MATRIX3: *this = ToMatrix3(value); break; case VAR_MATRIX3X4: *this = ToMatrix3x4(value); break; case VAR_MATRIX4: *this = ToMatrix4(value); break; case VAR_DOUBLE: *this = ToDouble(value); break; case VAR_RECT: *this = ToRect(value); break; default: SetType(VAR_NONE); } }
Vector2 RigidBody2D::GetLinearVelocity() const { return ToVector2(body_ ? body_->GetLinearVelocity() : bodyDef_.linearVelocity); }
void Variant::FromString(VariantType type, const char* value) { switch (type) { case VAR_INT: *this = ToInt(value); break; case VAR_BOOL: *this = ToBool(value); break; case VAR_FLOAT: *this = ToFloat(value); break; case VAR_VECTOR2: *this = ToVector2(value); break; case VAR_VECTOR3: *this = ToVector3(value); break; case VAR_VECTOR4: *this = ToVector4(value); break; case VAR_QUATERNION: *this = ToQuaternion(value); break; case VAR_COLOR: *this = ToColor(value); break; case VAR_STRING: *this = value; break; case VAR_BUFFER: { SetType(VAR_BUFFER); PODVector<unsigned char>& buffer = *(reinterpret_cast<PODVector<unsigned char>*>(&value_)); Vector<String> values = String::Split(value, ' '); buffer.Resize(values.Size()); for (unsigned i = 0; i < values.Size(); ++i) buffer[i] = ToInt(values[i]); } break; case VAR_PTR: *this = (void*)0; break; case VAR_RESOURCEREF: { Vector<String> values = String::Split(value, ';'); if (values.Size() == 2) { SetType(VAR_RESOURCEREF); ResourceRef& ref = *(reinterpret_cast<ResourceRef*>(&value_)); ref.type_ = ShortStringHash(values[0]); ref.id_ = StringHash(values[1]); } } break; case VAR_RESOURCEREFLIST: { Vector<String> values = String::Split(value, ';'); if (values.Size() >= 1) { SetType(VAR_RESOURCEREFLIST); ResourceRefList& refList = *(reinterpret_cast<ResourceRefList*>(&value_)); refList.type_ = ShortStringHash(values[0]); refList.ids_.Resize(values.Size() - 1); for (unsigned i = 1; i < values.Size(); ++i) refList.ids_[i - 1] = StringHash(values[i]); } } break; case VAR_INTRECT: *this = ToIntRect(value); break; case VAR_INTVECTOR2: *this = ToIntVector2(value); break; default: SetType(VAR_NONE); } }
Vector2 GetMapPositionVec2() const { return ToVector2(m_mapPosition); }
bool TmxObjectGroup2D::Load(const XMLElement& element, const TileMapInfo2D& info) { LoadInfo(element); for (XMLElement objectElem = element.GetChild("object"); objectElem; objectElem = objectElem.GetNext("object")) { SharedPtr<TileMapObject2D> object(new TileMapObject2D()); if (objectElem.HasAttribute("name")) object->name_ = objectElem.GetAttribute("name"); if (objectElem.HasAttribute("type")) object->type_ = objectElem.GetAttribute("type"); if (objectElem.HasAttribute("gid")) object->objectType_ = OT_TILE; else if (objectElem.HasChild("polygon")) object->objectType_ = OT_POLYGON; else if (objectElem.HasChild("polyline")) object->objectType_ = OT_POLYLINE; else if (objectElem.HasChild("ellipse")) object->objectType_ = OT_ELLIPSE; else object->objectType_ = OT_RECTANGLE; const Vector2 position(objectElem.GetFloat("x"), objectElem.GetFloat("y")); const Vector2 size(objectElem.GetFloat("width"), objectElem.GetFloat("height")); switch (object->objectType_) { case OT_RECTANGLE: case OT_ELLIPSE: object->position_ = info.ConvertPosition(Vector2(position.x_, position.y_ + size.y_)); object->size_ = Vector2(size.x_ * PIXEL_SIZE, size.y_ * PIXEL_SIZE); break; case OT_TILE: object->position_ = info.ConvertPosition(position); object->gid_ = objectElem.GetInt("gid"); object->sprite_ = tmxFile_->GetTileSprite(object->gid_); if (objectElem.HasAttribute("width") || objectElem.HasAttribute("height")) { object->size_ = Vector2(size.x_ * PIXEL_SIZE, size.y_ * PIXEL_SIZE); } else if (object->sprite_) { IntVector2 spriteSize = object->sprite_->GetRectangle().Size(); object->size_ = Vector2(spriteSize.x_, spriteSize.y_); } break; case OT_POLYGON: case OT_POLYLINE: { Vector<String> points; const char* name = object->objectType_ == OT_POLYGON ? "polygon" : "polyline"; XMLElement polygonElem = objectElem.GetChild(name); points = polygonElem.GetAttribute("points").Split(' '); if (points.Size() <= 1) continue; object->points_.Resize(points.Size()); for (unsigned i = 0; i < points.Size(); ++i) { points[i].Replace(',', ' '); Vector2 point = position + ToVector2(points[i]); object->points_[i] = info.ConvertPosition(point); } } break; default: break; } if (objectElem.HasChild("properties")) { object->propertySet_ = new PropertySet2D(); object->propertySet_->Load(objectElem.GetChild("properties")); } objects_.Push(object); } if (element.HasChild("properties")) LoadPropertySet(element.GetChild("properties")); return true; }
Vector2 JSONValue::GetVector2(unsigned index) const { return ToVector2(GetCString(index)); }
Vector2 JSONValue::GetVector2(const String& name) const { return ToVector2(GetCString(name)); }
void QtPropertyDataDavaVariant::SetValueInternal(const QVariant &value) { switch(curVariantValue.type) { case DAVA::VariantType::TYPE_BOOLEAN: curVariantValue.SetBool(value.toBool()); break; case DAVA::VariantType::TYPE_FLOAT: curVariantValue.SetFloat(value.toFloat()); break; case DAVA::VariantType::TYPE_INT32: curVariantValue.SetInt32(value.toInt()); break; case DAVA::VariantType::TYPE_INT64: curVariantValue.SetInt64(value.toLongLong()); break; case DAVA::VariantType::TYPE_UINT32: curVariantValue.SetUInt32(value.toUInt()); break; case DAVA::VariantType::TYPE_UINT64: curVariantValue.SetUInt64(value.toULongLong()); break; case DAVA::VariantType::TYPE_KEYED_ARCHIVE: ToKeyedArchive(value); break; case DAVA::VariantType::TYPE_STRING: curVariantValue.SetString(value.toString().toStdString()); break; case DAVA::VariantType::TYPE_MATRIX2: ToMatrix2(value); break; case DAVA::VariantType::TYPE_MATRIX3: ToMatrix3(value); break; case DAVA::VariantType::TYPE_MATRIX4: ToMatrix4(value); break; case DAVA::VariantType::TYPE_VECTOR2: ToVector2(value); break; case DAVA::VariantType::TYPE_VECTOR3: ToVector3(value); break; case DAVA::VariantType::TYPE_VECTOR4: ToVector4(value); break; case DAVA::VariantType::TYPE_COLOR: ToColor(value); break; case DAVA::VariantType::TYPE_FASTNAME: curVariantValue.SetFastName(DAVA::FastName(value.toString().toStdString().c_str())); break; case DAVA::VariantType::TYPE_AABBOX3: ToAABBox3(value); break; case DAVA::VariantType::TYPE_BYTE_ARRAY: default: break; } }