mercredi 3 juin 2015

std::partition error when partitioning a vector of a type of object

Am using the following line of code to partition a number of objects through the following code:

vector<PrimitiveBvhRepresentation>::iterator lastFirst = std::partition(first, last, &Engine::BVHNode::MiddlePointPartition);

the partition functions makes use of the following function to determine if the respective objects in the vector are true or false.

bool MiddlePointPartition(PrimitiveBvhRepresentation current)
{
    if (splittingAxis == 0)
    {
        return current.boundingBoxCentroid.x <= splittingAxisValue;
    }
    else if (splittingAxis == 1)
    {
        return current.boundingBoxCentroid.y <= splittingAxisValue;
    }
    else
    {
        return current.boundingBoxCentroid.z <= splittingAxisValue;
    }
}

yet upon execution i get the following error:

Error   63  error C2064: term does not evaluate to a function taking 1 arguments

When clicking on the error it takes me to the algorithm class. Is the reference to the function written wrong?

Aucun commentaire:

Enregistrer un commentaire