public final class BitMatrix extends Object
Represents a 2D matrix of bits. In function arguments below, and throughout the common module, x is the column position, and y is the row position. The ordering is always x, y. The origin is at the top-left.
Internally the bits are represented in a 1-D array of 32-bit ints. However, each row begins with a new int. This is done intentionally so that we can copy out a row into a BitArray very efficiently.
The ordering of bits is row-major. Within each int, the least significant bits are used first, meaning they represent lower x values. This is compatible with BitArray's implementation.
| Modifier and Type | Field and Description | 
|---|---|
int[] |  
           bits  |  
          
int |  
           height  |  
          
int |  
           rowSize  |  
          
int |  
           width  |  
          
| Constructor and Description | 
|---|
BitMatrix(int dimension)  |  
          
BitMatrix(int width, int height)  |  
          
| Modifier and Type | Method and Description | 
|---|---|
void |  
           clear() 
            
              Clears all bits (sets to false). 
               |  
          
void |  
           flip(int x, int y) 
            
              Flips the given bit. 
               |  
          
boolean |  
           get(int x, int y) 
            
              Gets the requested bit, where true means black. 
               |  
          
int |  
           getDimension() 
            
              This method is for compatibility with older code. 
               |  
          
int |  
           getHeight()  |  
          
BitArray |  
           getRow(int y, BitArray row) 
            
              A fast method to retrieve one row of data from the matrix as a BitArray. 
               |  
          
int |  
           getWidth()  |  
          
void |  
           set(int x, int y) 
            
              Sets the given bit to true. 
               |  
          
void |  
           setRegion(int left, int top, int width, int height) 
            
              Sets a square region of the bit matrix to true. 
               |  
          
String |  
           toString()  |  
          
public final int width
public final int height
public final int rowSize
public final int[] bits
public BitMatrix(int dimension)
public BitMatrix(int width,
                 int height) public boolean get(int x,
                   int y) 
          Gets the requested bit, where true means black.
x - The horizontal component (i.e. which column) 
           y - The vertical component (i.e. which row) 
           public void set(int x,
                int y) 
          Sets the given bit to true.
x - The horizontal component (i.e. which column) 
           y - The vertical component (i.e. which row) 
           public void flip(int x,
                 int y) 
          Flips the given bit.
x - The horizontal component (i.e. which column) 
           y - The vertical component (i.e. which row) 
           public void clear()
public void setRegion(int left,
                      int top,
                      int width,
                      int height) 
          Sets a square region of the bit matrix to true.
left - The horizontal position to begin at (inclusive) 
           top - The vertical position to begin at (inclusive) 
           width - The width of the region 
           height - The height of the region 
           public BitArray getRow(int y, BitArray row)
y - The row to retrieve 
           row - An optional caller-allocated BitArray, will be allocated if null or too small 
           public int getWidth()
public int getHeight()
public int getDimension()
Copyright © 1998–2019. All rights reserved.