Example #1
0
    void sparseGrid::SupportIsContained ( bool &check, const unsigned &w, const unsigned &i, const unsigned &wLower, const unsigned &iLower )
    {

        check = false;

        std::vector < double > dimensionalCheck ( _N, 0 );

        for ( unsigned n = 0; n < _N; n++ ) {

            double leftBound = _hierarchicalDofsCoordinates[w][i][n] - _hs[n][_dofIdentifier[w][i][n][1]];
            double rightBound = _hierarchicalDofsCoordinates[w][i][n] + _hs[n][_dofIdentifier[w][i][n][1]];

            double leftBoundLower = _hierarchicalDofsCoordinates[wLower][iLower][n] - _hs[n][_dofIdentifier[wLower][iLower][n][1]];
            double rightBoundLower = _hierarchicalDofsCoordinates[wLower][iLower][n] + _hs[n][_dofIdentifier[wLower][iLower][n][1]];

            if ( leftBoundLower <= leftBound && rightBound <= rightBoundLower ) dimensionalCheck[n] = 1;
        }


        double sumCheck = 0;

        for ( unsigned n = 0; n < _N; n++ ) {

            sumCheck += dimensionalCheck[n];

        }

        if ( sumCheck == _N ) check = true;

    }
Example #2
0
bool collide(Unit* a, Unit* b)
{
    return dimensionalCheck(a->x(), a->width(), b->x(), b->width())
            && dimensionalCheck(a->y(), a->height(), b->y(), b->height());
}