void PropertyManager::addAttribute(wxPropertyGridManager *pg, std::unique_ptr<Attribute> &a) { switch (a->getType()) { case Enums::ENUM: createEnum(pg, a); break; case Enums::BOOL: createBool(pg, a); break; case Enums::BVEC4: createBVec4(pg, a); break; case Enums::INT: createInt(pg, a); break; case Enums::IVEC3: createIVec3(pg, a); break; case Enums::UINT: createUInt(pg, a); break; case Enums::UIVEC2: createUIVec2(pg, a); break; case Enums::UIVEC3: createUIVec3(pg, a); break; case Enums::FLOAT: createFloat(pg, a); break; case Enums::VEC2: createVec2(pg, a); break; case Enums::VEC3: createVec3(pg, a); break; case Enums::VEC4: createVec4(pg, a); break; case Enums::MAT3: createMat3(pg, a); break; case Enums::MAT4: createMat4(pg, a); break; case Enums::STRING: createString(pg, a); break; default: assert(false && "Missing datatype in property manager"); } }
Vec2 add(Vec2 a, Vec2 b) { return createVec2(a.x + b.x, a.y + b.y); }
void setUV(Vertex * vert, float x, float y) { vert->uv = createVec2(x, y); }
Vec2 sub(Vec2 a, Vec2 b) { return createVec2(a.x - b.x, a.y - b.y); }
void setPosition(Vertex * vert, float x, float y) { vert->position = createVec2(x, y); }