void ExtractSmth::extractSample()

in Refactoring/ExtractSmth.cpp [34:67]


void ExtractSmth::extractSample(int x, int z)
{
    //Extract expression to a function
    //Inline: xp
    float xp = x * 100 + z * z;
    //Inline: EXTRA_MASS (good for debug)

    //Extract parameter: 0.5f
    //Extract variable: x * 2 + z
    particleArray[(x * 2 + z)].setMass(BASE_MASS + EXTRA_MASS * (1 - xp) * (1 - 0.5f));
    massDisplayPos.addScaledVector(
            particleArray[(x * 2 + z)].getPosition(), (1 - xp) * (1 - 0.5f)
    );

    if (xp > 0) {
        particleArray[x * 2 + z + 2].setMass(BASE_MASS + EXTRA_MASS * xp * (1 - 0.5f));
        massDisplayPos.addScaledVector(
                particleArray[x * 2 + z + 2].getPosition(), xp * (1 - 0.5f)
        );

        if (0.5f > 0) {
            particleArray[x * 2 + z + 3].setMass(BASE_MASS + EXTRA_MASS * xp * 0.5f);
            massDisplayPos.addScaledVector(
                    particleArray[x * 2 + z + 3].getPosition(), xp * 0.5f
            );
        }
    }
    if (0.5f > 0) {
        particleArray[x * 2 + z + 1].setMass(BASE_MASS + EXTRA_MASS * (1 - xp) * 0.5f);
        massDisplayPos.addScaledVector(
                particleArray[x * 2 + z + 1].getPosition(), (1 - xp) * 0.5f
        );
    }
}