public void testSimpleFootstepSnapperOnBumpyGround() throws InsufficientDataException
{
boolean assertPositionConditions = true;
boolean assertPointConditions = false;
boolean visualizeAndKeepUp = false;
GroundProfile3D groundProfile = createBumpyGroundProfile();
SimpleFootstepSnapper footstepSnapper = createSimpleFootstepSnapper();
double maskSafetyBuffer = 0.01;
double boundingBoxDimension = 0.3;
footstepSnapper.setUseMask(true, maskSafetyBuffer, boundingBoxDimension);
BoundingBox2D rangeOfPointsToTest = new BoundingBox2D(-1.0, -1.0, 1.0, 1.0);
FootstepSnapperTestHelper helper = new FootstepSnapperTestHelper("Simple Bumpy Ground", footstepSnapper, null, visualizeAndKeepUp);
double resolution = 0.02;
double heightThreshold = 0.002;
double quadTreeMaxMultiLevelZChangeToFilterNoise = 0.2;
int maxSameHeightPointsPerNode = 20;
double maxAllowableXYDistanceForAPointToBeConsideredClose = 0.2;
int maxNodes = 1000000;
helper.createHeightMap(groundProfile.getHeightMapIfAvailable(), rangeOfPointsToTest, resolution, heightThreshold,
quadTreeMaxMultiLevelZChangeToFilterNoise, maxSameHeightPointsPerNode, maxAllowableXYDistanceForAPointToBeConsideredClose,
maxNodes);
int numberOfPointsToTest = 1000;
helper.testRandomPoints(numberOfPointsToTest, rangeOfPointsToTest, assertPositionConditions, assertPointConditions);
if (visualizeAndKeepUp)
{
ThreadTools.sleepForever();
}
}