/// Get a color that can be used to display this CollisionModel const float* CollisionModel::getColor4f() { //TODO FIXME because of: https://github.com/sofa-framework/sofa/issues/64 static const float defaultColorSimulatedMovingActive[4] = {1, 0.5f, 0, 1}; static const float defaultColorSimulatedMoving[4] = {0.5f, 0.25f, 0, 1}; static const float defaultColorSimulatedActive[4] = {1, 0, 0, 1}; static const float defaultColorSimulated[4] = {0.5f, 0, 0, 1}; static const float defaultColorMovingActive[4] = {0, 1, 0.5f, 1}; static const float defaultColorMoving[4] = {0, 0.5f, 0.25f, 1}; static const float defaultColorActive[4] = {0.5f, 0.5f, 0.5f, 1}; static const float defaultColor[4] = {0.25f, 0.25f, 0.25f, 1}; if (color.isSet()) return color.getValue().data(); else if (isSimulated()) if (isMoving()) if (isActive()) {setColor4f(defaultColorSimulatedMovingActive); return defaultColorSimulatedMovingActive;} else {setColor4f(defaultColorSimulatedMoving); return defaultColorSimulatedMoving;} else if (isActive()) {setColor4f(defaultColorSimulatedActive); return defaultColorSimulatedActive;} else {setColor4f(defaultColorSimulated); return defaultColorSimulated;} else if (isMoving()) if (isActive()) {setColor4f(defaultColorMovingActive); return defaultColorMovingActive;} else {setColor4f(defaultColorMoving); return defaultColorMoving;} else if (isActive()) {setColor4f(defaultColorActive); return defaultColorActive;} else {setColor4f(defaultColor); return defaultColor;} }
/// Get a color that can be used to display this CollisionModel const float* CollisionModel::getColor4f() { static float defaultColorSimulatedMovingActive[4] = {1, 0.5f, 0, 1}; static float defaultColorSimulatedMoving[4] = {0.5f, 0.25f, 0, 1}; static float defaultColorSimulatedActive[4] = {1, 0, 0, 1}; static float defaultColorSimulated[4] = {0.5f, 0, 0, 1}; static float defaultColorMovingActive[4] = {0, 1, 0.5f, 1}; static float defaultColorMoving[4] = {0, 0.5f, 0.25f, 1}; static float defaultColorActive[4] = {0.5f, 0.5f, 0.5f, 1}; static float defaultColor[4] = {0.25f, 0.25f, 0.25f, 1}; if (color.isSet()) return color.getValue().ptr(); else if (isSimulated()) if (isMoving()) if (isActive()) {setColor4f(defaultColorSimulatedMovingActive); return defaultColorSimulatedMovingActive;} else {setColor4f(defaultColorSimulatedMoving); return defaultColorSimulatedMoving;} else if (isActive()) {setColor4f(defaultColorSimulatedActive); return defaultColorSimulatedActive;} else {setColor4f(defaultColorSimulated); return defaultColorSimulated;} else if (isMoving()) if (isActive()) {setColor4f(defaultColorMovingActive); return defaultColorMovingActive;} else {setColor4f(defaultColorMoving); return defaultColorMoving;} else if (isActive()) {setColor4f(defaultColorActive); return defaultColorActive;} else {setColor4f(defaultColor); return defaultColor;} }
void Element::setColor (glm::vec4 color) { setColor4f (color.x, color.y, color.z, color.w); }