public boolean hasCollision(Collider testObj){
        Model3D testParent = testObj.getParentModel();
        double[][] finalTransformMat = generateTransformMat(testParent);
        
        for(int i = -1; i <= 1; i += 2){
            for(int j = -1; j <= 1; j += 2){
                for(int k = -1; k <= 1; k += 2){
                    double x = ((testObj.getWidth()/2) * i) + testObj.getOffsetX();
                    double y = ((testObj.getHeight()/2) * j) + testObj.getOffsetY();
                    double z = ((testObj.getDepth()/2) * k) + testObj.getOffsetZ();
                    
                    double[] homPt = new double[]{x, y, z, 1}; 
                    double[] transformedPt = matrixVectMult(finalTransformMat, homPt, 4);
                    
                    if(Math.abs(transformedPt[0] - offsetX) < width/2 &&
                       Math.abs(transformedPt[1] - offsetY) < height/2 &&
                       Math.abs(transformedPt[2] - offsetZ) < depth/2){
                        return true;
                    }
                }
            }
        }
        
        return false;
    }