//----------------------------------------------------------------------------- void ZonePlugin::zoneUtility( void ) { const osScalar drawExtent = _zoneExtent.x * OS_SCALAR( 2.0 ) - 0.005f; if( 1 == _solid ) { // colors for checkerboard const Color gray(0.27f); Color zoneGray( getZoneColor() ); zoneGray.setR( zoneGray.r() * gray.r() ); zoneGray.setG( zoneGray.g() * gray.g() ); zoneGray.setB( zoneGray.b() * gray.b() ); // draw checkerboard grid drawXZCheckerboardGrid( drawExtent, 10, position(), zoneGray, gray); #if 0 AABBox kZoneAABBox; kZoneAABBox.initializeWithCenterAndExtent( position(), _zoneExtent ); kZoneAABBox.draw( getZoneColor() ); #endif } else { // alternate style drawXZLineGrid( drawExtent, 1, position(), _ZoneColor ); } const osScalar borderWidth = getBorderWidth(); if( borderWidth > 0 ) { drawXZLineGrid( drawExtent + borderWidth * OS_SCALAR( 2.0 ), 1, position(), _BorderColor ); } }
void OpenSteer::OpenSteerDemo::gridUtility (const Vec3& gridTarget) { // round off target to the nearest multiple of 2 (because the // checkboard grid with a pitch of 1 tiles with a period of 2) // then lower the grid a bit to put it under 2d annotation lines const Vec3 gridCenter ((round (gridTarget.x * 0.5f) * 2), (round (gridTarget.y * 0.5f) * 2) - .05f, (round (gridTarget.z * 0.5f) * 2)); // colors for checkboard const Color gray1(0.27f); const Color gray2(0.30f); // draw 50x50 checkerboard grid with 50 squares along each side drawXZCheckerboardGrid (50, 50, gridCenter, gray1, gray2); // alternate style // drawXZLineGrid (50, 50, gridCenter, gBlack); }