public virtual void drawAabb( ref btVector3 from, ref btVector3 to, ref btVector3 color ) { btVector3 halfExtents; to.SubAndScale( ref from, 0.5f, out halfExtents ); btVector3 center; to.AddAndScale( ref from, 0.5f, out center ); int i, j; btVector3 edgecoord = new btVector3( 1f, 1f, 1f ), pa, pb; for( i = 0; i < 4; i++ ) { for( j = 0; j < 3; j++ ) { edgecoord.Mult( ref halfExtents, out pa ); pa.Add( ref center, out pa ); int othercoord = j % 3; edgecoord[othercoord] *= -1f; edgecoord.Mult( ref halfExtents, out pb ); pb.Add( ref center, out pb ); drawLine( ref pa, ref pb, ref color ); } edgecoord.setValue( -1, -1, -1 ); if( i < 3 ) edgecoord[i] *= -1; } }