Files
2015-03-14 10:44:30 -07:00

1217 lines
57 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_31) on Sat Mar 14 10:07:09 PDT 2015 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>DropBoard (Vilya Core 1.6 API)</title>
<meta name="date" content="2015-03-14">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="DropBoard (Vilya Core 1.6 API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/DropBoard.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev&nbsp;Class</li>
<li><a href="../../../../../com/threerings/puzzle/drop/data/DropBoard.PieceOperation.html" title="interface in com.threerings.puzzle.drop.data"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?com/threerings/puzzle/drop/data/DropBoard.html" target="_top">Frames</a></li>
<li><a href="DropBoard.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">com.threerings.puzzle.drop.data</div>
<h2 title="Class DropBoard" class="title">Class DropBoard</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../../com/threerings/puzzle/data/Board.html" title="class in com.threerings.puzzle.data">com.threerings.puzzle.data.Board</a></li>
<li>
<ul class="inheritance">
<li>com.threerings.puzzle.drop.data.DropBoard</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd>com.threerings.io.Streamable, <a href="../../../../../com/threerings/puzzle/drop/data/DropPieceCodes.html" title="interface in com.threerings.puzzle.drop.data">DropPieceCodes</a>, com.threerings.util.DirectionCodes, <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Cloneable.html?is-external=true" title="class or interface in java.lang">Cloneable</a></dd>
</dl>
<hr>
<br>
<pre>public class <span class="typeNameLabel">DropBoard</span>
extends <a href="../../../../../com/threerings/puzzle/data/Board.html" title="class in com.threerings.puzzle.data">Board</a>
implements <a href="../../../../../com/threerings/puzzle/drop/data/DropPieceCodes.html" title="interface in com.threerings.puzzle.drop.data">DropPieceCodes</a></pre>
<div class="block">A class that provides for various useful logical operations to be enacted on a two-dimensional
board and provides an easier mechanism for referencing pieces by position.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested.class.summary">
<!-- -->
</a>
<h3>Nested Class Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Class and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static interface&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/threerings/puzzle/drop/data/DropBoard.PieceOperation.html" title="interface in com.threerings.puzzle.drop.data">DropBoard.PieceOperation</a></span></code>
<div class="block">An interface to be implemented by classes that would like to apply some operation to each
piece in a column or row segment in the board.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="nested.classes.inherited.from.class.com.threerings.io.Streamable">
<!-- -->
</a>
<h3>Nested classes/interfaces inherited from interface&nbsp;com.threerings.io.Streamable</h3>
<code>com.threerings.io.Streamable.Closure</code></li>
</ul>
</li>
</ul>
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../../../../../com/threerings/puzzle/drop/data/DropBoard.PieceOperation.html" title="interface in com.threerings.puzzle.drop.data">DropBoard.PieceOperation</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/threerings/puzzle/drop/data/DropBoard.html#CLEAR_OP">CLEAR_OP</a></span></code>
<div class="block">An operation that does naught but clear pieces, which proves to be generally useful.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/threerings/puzzle/drop/data/DropBoard.html#INPLACE_ROTATION">INPLACE_ROTATION</a></span></code>
<div class="block">The rotation constant for rotation wherein the block occupies the same columns when
rotating.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/threerings/puzzle/drop/data/DropBoard.html#RADIAL_ROTATION">RADIAL_ROTATION</a></span></code>
<div class="block">The rotation constant for rotation around a central piece.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.com.threerings.puzzle.drop.data.DropPieceCodes">
<!-- -->
</a>
<h3>Fields inherited from interface&nbsp;com.threerings.puzzle.drop.data.<a href="../../../../../com/threerings/puzzle/drop/data/DropPieceCodes.html" title="interface in com.threerings.puzzle.drop.data">DropPieceCodes</a></h3>
<code><a href="../../../../../com/threerings/puzzle/drop/data/DropPieceCodes.html#DROP_BLOCK_PIECE_COUNT">DROP_BLOCK_PIECE_COUNT</a>, <a href="../../../../../com/threerings/puzzle/drop/data/DropPieceCodes.html#PIECE_NONE">PIECE_NONE</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.com.threerings.util.DirectionCodes">
<!-- -->
</a>
<h3>Fields inherited from interface&nbsp;com.threerings.util.DirectionCodes</h3>
<code>CARDINAL_DIRECTIONS, CCW, CW, DIRECTION_COUNT, DOWN, EAST, EASTNORTHEAST, EASTSOUTHEAST, FINE_DIRECTION_COUNT, HORIZONTAL, LEFT, NONE, NORTH, NORTHEAST, NORTHNORTHEAST, NORTHNORTHWEST, NORTHWEST, RIGHT, SOUTH, SOUTHEAST, SOUTHSOUTHEAST, SOUTHSOUTHWEST, SOUTHWEST, UP, VERTICAL, WEST, WESTNORTHWEST, WESTSOUTHWEST</code></li>
</ul>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../com/threerings/puzzle/drop/data/DropBoard.html#DropBoard--">DropBoard</a></span>()</code>
<div class="block">Constructs an empty drop board for use when unserializing.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../com/threerings/puzzle/drop/data/DropBoard.html#DropBoard-int:A-int-int-">DropBoard</a></span>(int[]&nbsp;board,
int&nbsp;bwid,
int&nbsp;bhei)</code>
<div class="block">Constructs a drop board with the given board and dimensions.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../com/threerings/puzzle/drop/data/DropBoard.html#DropBoard-int-int-">DropBoard</a></span>(int&nbsp;bwid,
int&nbsp;bhei)</code>
<div class="block">Constructs a drop board of the given dimensions with its pieces initialized to PIECE_NONE.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../com/threerings/puzzle/drop/data/DropBoard.html#DropBoard-int-int-int-">DropBoard</a></span>(int&nbsp;bwid,
int&nbsp;bhei,
int&nbsp;piece)</code>
<div class="block">Constructs a drop board of the given dimensions with its pieces initialized to the given
piece.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/threerings/puzzle/drop/data/DropBoard.html#applyOp-int-int-com.threerings.puzzle.drop.data.DropBoard.PieceOperation-">applyOp</a></span>(int&nbsp;col,
int&nbsp;row,
<a href="../../../../../com/threerings/puzzle/drop/data/DropBoard.PieceOperation.html" title="interface in com.threerings.puzzle.drop.data">DropBoard.PieceOperation</a>&nbsp;op)</code>
<div class="block">Applies a specified <a href="../../../../../com/threerings/puzzle/drop/data/DropBoard.PieceOperation.html" title="interface in com.threerings.puzzle.drop.data"><code>DropBoard.PieceOperation</code></a> to the specified piece in the board.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/threerings/puzzle/drop/data/DropBoard.html#applyOp-int-int-int-com.threerings.puzzle.drop.data.DropBoard.PieceOperation-">applyOp</a></span>(int&nbsp;dir,
int&nbsp;col,
int&nbsp;row,
<a href="../../../../../com/threerings/puzzle/drop/data/DropBoard.PieceOperation.html" title="interface in com.threerings.puzzle.drop.data">DropBoard.PieceOperation</a>&nbsp;op)</code>
<div class="block">Applies a specified <a href="../../../../../com/threerings/puzzle/drop/data/DropBoard.PieceOperation.html" title="interface in com.threerings.puzzle.drop.data"><code>DropBoard.PieceOperation</code></a> to all pieces in the specified row or column
starting at the specified coordinates and spanning the remainder of the row or column
(depending on the application direction) in the board.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/threerings/puzzle/drop/data/DropBoard.html#applyOp-int-int-int-int-com.threerings.puzzle.drop.data.DropBoard.PieceOperation-">applyOp</a></span>(int&nbsp;dir,
int&nbsp;col,
int&nbsp;row,
int&nbsp;len,
<a href="../../../../../com/threerings/puzzle/drop/data/DropBoard.PieceOperation.html" title="interface in com.threerings.puzzle.drop.data">DropBoard.PieceOperation</a>&nbsp;op)</code>
<div class="block">Applies a specified <a href="../../../../../com/threerings/puzzle/drop/data/DropBoard.PieceOperation.html" title="interface in com.threerings.puzzle.drop.data"><code>DropBoard.PieceOperation</code></a> to all pieces in a row or column segment
starting at the specified coordinates and of the specified length in the board.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/threerings/puzzle/drop/data/DropBoard.html#applyRisingPieces-int:A-">applyRisingPieces</a></span>(int[]&nbsp;pieces)</code>
<div class="block">Called by the <a href="../../../../../com/threerings/puzzle/drop/client/DropControllerDelegate.html" title="class in com.threerings.puzzle.drop.client"><code>DropControllerDelegate</code></a> when it's time to apply a rising row of pieces
to the board.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="../../../../../com/threerings/puzzle/drop/data/DropBoard.html" title="class in com.threerings.puzzle.drop.data">DropBoard</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/threerings/puzzle/drop/data/DropBoard.html#clone--">clone</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/threerings/puzzle/drop/data/DropBoard.html#copyInto-com.threerings.puzzle.drop.data.DropBoard-">copyInto</a></span>(<a href="../../../../../com/threerings/puzzle/drop/data/DropBoard.html" title="class in com.threerings.puzzle.drop.data">DropBoard</a>&nbsp;board)</code>
<div class="block">Copies the contents of this board directly into the supplied board, overwriting the
destination board in its entirety.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/threerings/puzzle/drop/data/DropBoard.html#dump--">dump</a></span>()</code>
<div class="block">Outputs a string representation of the board contents.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/threerings/puzzle/drop/data/DropBoard.html#dumpAndCompare-com.threerings.puzzle.data.Board-">dumpAndCompare</a></span>(<a href="../../../../../com/threerings/puzzle/data/Board.html" title="class in com.threerings.puzzle.data">Board</a>&nbsp;other)</code>
<div class="block">Outputs a string representation of the board contents, interlaced with the supplied
comparison board.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/threerings/puzzle/drop/data/DropBoard.html#equals-com.threerings.puzzle.data.Board-">equals</a></span>(<a href="../../../../../com/threerings/puzzle/data/Board.html" title="class in com.threerings.puzzle.data">Board</a>&nbsp;other)</code>
<div class="block">Returns whether this board is equal to the given comparison board.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/threerings/puzzle/drop/data/DropBoard.html#fill-int-">fill</a></span>(int&nbsp;piece)</code>
<div class="block">Fills the board contents with the given piece.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>int[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/threerings/puzzle/drop/data/DropBoard.html#getBoard--">getBoard</a></span>()</code>
<div class="block">Returns the raw board data associated with this board.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/awt/Rectangle.html?is-external=true" title="class or interface in java.awt">Rectangle</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/threerings/puzzle/drop/data/DropBoard.html#getBounds--">getBounds</a></span>()</code>
<div class="block">Returns the bounds of this board.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/threerings/puzzle/drop/data/DropBoard.html#getColumnLevels-byte:A-">getColumnLevels</a></span>(byte[]&nbsp;columns)</code>
<div class="block">Populates the given array with the column levels for this board.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/threerings/puzzle/drop/data/DropBoard.html#getDropDistance-int-int-">getDropDistance</a></span>(int&nbsp;col,
int&nbsp;row)</code>
<div class="block">Returns the distance the piece at the given column and row can drop until it hits a
non-empty piece (defined as <a href="../../../../../com/threerings/puzzle/drop/data/DropPieceCodes.html#PIECE_NONE"><code>DropPieceCodes.PIECE_NONE</code></a>).</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/awt/Point.html?is-external=true" title="class or interface in java.awt">Point</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/threerings/puzzle/drop/data/DropBoard.html#getForgivingMove-int-int-int-int-int-int-float-">getForgivingMove</a></span>(int&nbsp;col,
int&nbsp;row,
int&nbsp;wid,
int&nbsp;hei,
int&nbsp;dx,
int&nbsp;dy,
float&nbsp;pctdone)</code>
<div class="block">Returns a <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/awt/Point.html?is-external=true" title="class or interface in java.awt"><code>Point</code></a> object containing the coordinates to place the bottom-left of the
given block at after moving it the given distance on the x- and y-axes, or
<code>null</code> if the move is not valid.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>int[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/threerings/puzzle/drop/data/DropBoard.html#getForgivingRotation-int:A-int:A-int-int-int-float-boolean-">getForgivingRotation</a></span>(int[]&nbsp;rows,
int[]&nbsp;cols,
int&nbsp;orient,
int&nbsp;dir,
int&nbsp;rtype,
float&nbsp;pctdone,
boolean&nbsp;canPopup)</code>
<div class="block">Rotates the given block in the given direction and returns its final state as <code>(orient,
col, row, popped)</code>, where <code>orient</code> is the final orientation of the drop
block; <code>col</code> and <code>row</code> are the final column and row coordinates,
respectively, of the central drop block piece.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/threerings/puzzle/drop/data/DropBoard.html#getHeight--">getHeight</a></span>()</code>
<div class="block">Returns the height of the board in rows.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/threerings/puzzle/drop/data/DropBoard.html#getNextPiece--">getNextPiece</a></span>()</code>
<div class="block">For boards that are always filled, this method is called to obtain pieces to fill the board.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/threerings/puzzle/drop/data/DropBoard.html#getPiece-int-int-">getPiece</a></span>(int&nbsp;col,
int&nbsp;row)</code>
<div class="block">Returns the piece at the given column and row in the board.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/threerings/puzzle/drop/data/DropBoard.html#getWidth--">getWidth</a></span>()</code>
<div class="block">Returns the width of the board in columns.</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/threerings/puzzle/drop/data/DropBoard.html#inBounds-int-int-">inBounds</a></span>(int&nbsp;col,
int&nbsp;row)</code>
<div class="block">Returns true if the specified coordinate is within the bounds of the board, false if it is
not.</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/threerings/puzzle/drop/data/DropBoard.html#isBlockEmpty-int-int-int-int-">isBlockEmpty</a></span>(int&nbsp;col,
int&nbsp;row,
int&nbsp;wid,
int&nbsp;hei)</code>
<div class="block">Returns whether the specified block in the board is empty.</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/threerings/puzzle/drop/data/DropBoard.html#isRowEmpty-int-">isRowEmpty</a></span>(int&nbsp;row)</code>
<div class="block">Returns whether the given row in the board is empty.</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/threerings/puzzle/drop/data/DropBoard.html#isValidDrop-int:A-int:A-float-">isValidDrop</a></span>(int[]&nbsp;rows,
int[]&nbsp;cols,
float&nbsp;pctdone)</code>
<div class="block">Returns whether all of the pieces at the given coordinates can be dropped one row.</div>
</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/threerings/puzzle/drop/data/DropBoard.html#isValidPosition-int-int-">isValidPosition</a></span>(int&nbsp;x,
int&nbsp;y)</code>
<div class="block">Returns whether the given coordinates are within the board bounds.</div>
</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/threerings/puzzle/drop/data/DropBoard.html#rowContainsPieces-int-int-">rowContainsPieces</a></span>(int&nbsp;row,
int&nbsp;blankPiece)</code>
<div class="block">Returns true if the specified row (which count down, with zero at the top of the board)
contains any pieces.</div>
</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/threerings/puzzle/drop/data/DropBoard.html#setBoard-int:A-">setBoard</a></span>(int[]&nbsp;board)</code>
<div class="block">Sets the board pieces.</div>
</td>
</tr>
<tr id="i27" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/threerings/puzzle/drop/data/DropBoard.html#setBoard-int:A-int-int-">setBoard</a></span>(int[]&nbsp;board,
int&nbsp;bwid,
int&nbsp;bhei)</code>
<div class="block">Sets the board data and board dimensions.</div>
</td>
</tr>
<tr id="i28" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/threerings/puzzle/drop/data/DropBoard.html#setPiece-int-int-int-">setPiece</a></span>(int&nbsp;col,
int&nbsp;row,
int&nbsp;piece)</code>
<div class="block">Sets the piece at the given coordinates.</div>
</td>
</tr>
<tr id="i29" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/threerings/puzzle/drop/data/DropBoard.html#setRect-int-int-int-int-int-">setRect</a></span>(int&nbsp;x,
int&nbsp;y,
int&nbsp;width,
int&nbsp;height,
int&nbsp;piece)</code>
<div class="block">Sets the pieces within the specified rectangle to the given piece.</div>
</td>
</tr>
<tr id="i30" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/threerings/puzzle/drop/data/DropBoard.html#setSegment-int-int-int-int:A-">setSegment</a></span>(int&nbsp;dir,
int&nbsp;col,
int&nbsp;row,
int[]&nbsp;pieces)</code>
<div class="block">Sets the pieces in the given board segment to the specified pieces.</div>
</td>
</tr>
<tr id="i31" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/threerings/puzzle/drop/data/DropBoard.html#setSegment-int-int-int-int-int-">setSegment</a></span>(int&nbsp;dir,
int&nbsp;col,
int&nbsp;row,
int&nbsp;len,
int&nbsp;piece)</code>
<div class="block">Sets the pieces in the given board segment to the specified piece.</div>
</td>
</tr>
<tr id="i32" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/threerings/puzzle/drop/data/DropBoard.html#size--">size</a></span>()</code>
<div class="block">Returns the size of the board in pieces.</div>
</td>
</tr>
<tr id="i33" class="rowColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/threerings/puzzle/drop/data/DropBoard.html#toString--">toString</a></span>()</code>&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.com.threerings.puzzle.data.Board">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;com.threerings.puzzle.data.<a href="../../../../../com/threerings/puzzle/data/Board.html" title="class in com.threerings.puzzle.data">Board</a></h3>
<code><a href="../../../../../com/threerings/puzzle/data/Board.html#getRandom--">getRandom</a>, <a href="../../../../../com/threerings/puzzle/data/Board.html#initializeSeed-long-">initializeSeed</a>, <a href="../../../../../com/threerings/puzzle/data/Board.html#seedFromEvent-int-int-">seedFromEvent</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a name="RADIAL_ROTATION">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>RADIAL_ROTATION</h4>
<pre>public static final&nbsp;int RADIAL_ROTATION</pre>
<div class="block">The rotation constant for rotation around a central piece.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#com.threerings.puzzle.drop.data.DropBoard.RADIAL_ROTATION">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="INPLACE_ROTATION">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>INPLACE_ROTATION</h4>
<pre>public static final&nbsp;int INPLACE_ROTATION</pre>
<div class="block">The rotation constant for rotation wherein the block occupies the same columns when
rotating.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#com.threerings.puzzle.drop.data.DropBoard.INPLACE_ROTATION">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="CLEAR_OP">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>CLEAR_OP</h4>
<pre>public static final&nbsp;<a href="../../../../../com/threerings/puzzle/drop/data/DropBoard.PieceOperation.html" title="interface in com.threerings.puzzle.drop.data">DropBoard.PieceOperation</a> CLEAR_OP</pre>
<div class="block">An operation that does naught but clear pieces, which proves to be generally useful.</div>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="DropBoard--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DropBoard</h4>
<pre>public&nbsp;DropBoard()</pre>
<div class="block">Constructs an empty drop board for use when unserializing.</div>
</li>
</ul>
<a name="DropBoard-int-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DropBoard</h4>
<pre>public&nbsp;DropBoard(int&nbsp;bwid,
int&nbsp;bhei)</pre>
<div class="block">Constructs a drop board of the given dimensions with its pieces initialized to PIECE_NONE.</div>
</li>
</ul>
<a name="DropBoard-int-int-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DropBoard</h4>
<pre>public&nbsp;DropBoard(int&nbsp;bwid,
int&nbsp;bhei,
int&nbsp;piece)</pre>
<div class="block">Constructs a drop board of the given dimensions with its pieces initialized to the given
piece.</div>
</li>
</ul>
<a name="DropBoard-int:A-int-int-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>DropBoard</h4>
<pre>public&nbsp;DropBoard(int[]&nbsp;board,
int&nbsp;bwid,
int&nbsp;bhei)</pre>
<div class="block">Constructs a drop board with the given board and dimensions.</div>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="getWidth--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getWidth</h4>
<pre>public&nbsp;int&nbsp;getWidth()</pre>
<div class="block">Returns the width of the board in columns.</div>
</li>
</ul>
<a name="getHeight--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getHeight</h4>
<pre>public&nbsp;int&nbsp;getHeight()</pre>
<div class="block">Returns the height of the board in rows.</div>
</li>
</ul>
<a name="getPiece-int-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPiece</h4>
<pre>public&nbsp;int&nbsp;getPiece(int&nbsp;col,
int&nbsp;row)</pre>
<div class="block">Returns the piece at the given column and row in the board.</div>
</li>
</ul>
<a name="getNextPiece--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNextPiece</h4>
<pre>public&nbsp;int&nbsp;getNextPiece()</pre>
<div class="block">For boards that are always filled, this method is called to obtain pieces to fill the board.</div>
</li>
</ul>
<a name="getDropDistance-int-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDropDistance</h4>
<pre>public&nbsp;int&nbsp;getDropDistance(int&nbsp;col,
int&nbsp;row)</pre>
<div class="block">Returns the distance the piece at the given column and row can drop until it hits a
non-empty piece (defined as <a href="../../../../../com/threerings/puzzle/drop/data/DropPieceCodes.html#PIECE_NONE"><code>DropPieceCodes.PIECE_NONE</code></a>).</div>
</li>
</ul>
<a name="isRowEmpty-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isRowEmpty</h4>
<pre>public&nbsp;boolean&nbsp;isRowEmpty(int&nbsp;row)</pre>
<div class="block">Returns whether the given row in the board is empty.</div>
</li>
</ul>
<a name="isValidDrop-int:A-int:A-float-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isValidDrop</h4>
<pre>public&nbsp;boolean&nbsp;isValidDrop(int[]&nbsp;rows,
int[]&nbsp;cols,
float&nbsp;pctdone)</pre>
<div class="block">Returns whether all of the pieces at the given coordinates can be dropped one row.</div>
</li>
</ul>
<a name="inBounds-int-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>inBounds</h4>
<pre>public&nbsp;boolean&nbsp;inBounds(int&nbsp;col,
int&nbsp;row)</pre>
<div class="block">Returns true if the specified coordinate is within the bounds of the board, false if it is
not.</div>
</li>
</ul>
<a name="isBlockEmpty-int-int-int-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isBlockEmpty</h4>
<pre>public&nbsp;boolean&nbsp;isBlockEmpty(int&nbsp;col,
int&nbsp;row,
int&nbsp;wid,
int&nbsp;hei)</pre>
<div class="block">Returns whether the specified block in the board is empty. The block is allowed to occupy
space off the top of the board as long as it is within the horizontal board bounds.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>col</code> - the left coordinate of the block.</dd>
<dd><code>row</code> - the bottom coordinate of the block.</dd>
<dd><code>wid</code> - the width of the block.</dd>
<dd><code>hei</code> - the height of the block.</dd>
</dl>
</li>
</ul>
<a name="getForgivingRotation-int:A-int:A-int-int-int-float-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getForgivingRotation</h4>
<pre>public&nbsp;int[]&nbsp;getForgivingRotation(int[]&nbsp;rows,
int[]&nbsp;cols,
int&nbsp;orient,
int&nbsp;dir,
int&nbsp;rtype,
float&nbsp;pctdone,
boolean&nbsp;canPopup)</pre>
<div class="block">Rotates the given block in the given direction and returns its final state as <code>(orient,
col, row, popped)</code>, where <code>orient</code> is the final orientation of the drop
block; <code>col</code> and <code>row</code> are the final column and row coordinates,
respectively, of the central drop block piece. <code>popped</code> will be set to 1 if the
piece was popped up, 0 otherwise.</div>
</li>
</ul>
<a name="getForgivingMove-int-int-int-int-int-int-float-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getForgivingMove</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/awt/Point.html?is-external=true" title="class or interface in java.awt">Point</a>&nbsp;getForgivingMove(int&nbsp;col,
int&nbsp;row,
int&nbsp;wid,
int&nbsp;hei,
int&nbsp;dx,
int&nbsp;dy,
float&nbsp;pctdone)</pre>
<div class="block">Returns a <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/awt/Point.html?is-external=true" title="class or interface in java.awt"><code>Point</code></a> object containing the coordinates to place the bottom-left of the
given block at after moving it the given distance on the x- and y-axes, or
<code>null</code> if the move is not valid. Note that only the final block position is
checked.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>col</code> - the leftmost column of the block.</dd>
<dd><code>row</code> - the bottommost row of the block.</dd>
<dd><code>wid</code> - the width of the block.</dd>
<dd><code>hei</code> - the height of the block.</dd>
<dd><code>dx</code> - the distance to move the block in columns.</dd>
<dd><code>dy</code> - the distance to move the block in rows.</dd>
<dd><code>pctdone</code> - the percentage of the inter-block distance that the piece has fallen thus
far.</dd>
</dl>
</li>
</ul>
<a name="getColumnLevels-byte:A-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getColumnLevels</h4>
<pre>public&nbsp;void&nbsp;getColumnLevels(byte[]&nbsp;columns)</pre>
<div class="block">Populates the given array with the column levels for this board.</div>
</li>
</ul>
<a name="applyRisingPieces-int:A-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>applyRisingPieces</h4>
<pre>public&nbsp;void&nbsp;applyRisingPieces(int[]&nbsp;pieces)</pre>
<div class="block">Called by the <a href="../../../../../com/threerings/puzzle/drop/client/DropControllerDelegate.html" title="class in com.threerings.puzzle.drop.client"><code>DropControllerDelegate</code></a> when it's time to apply a rising row of pieces
to the board. Shifts all of the pieces in the given board up one row and places the given
row of pieces at the bottom of the board.</div>
</li>
</ul>
<a name="rowContainsPieces-int-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>rowContainsPieces</h4>
<pre>public&nbsp;boolean&nbsp;rowContainsPieces(int&nbsp;row,
int&nbsp;blankPiece)</pre>
<div class="block">Returns true if the specified row (which count down, with zero at the top of the board)
contains any pieces.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>row</code> - the row to check for pieces.</dd>
<dd><code>blankPiece</code> - the blank piece value, non-instances of which will be sought.</dd>
</dl>
</li>
</ul>
<a name="fill-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>fill</h4>
<pre>public&nbsp;void&nbsp;fill(int&nbsp;piece)</pre>
<div class="block">Fills the board contents with the given piece.</div>
</li>
</ul>
<a name="setPiece-int-int-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setPiece</h4>
<pre>public&nbsp;boolean&nbsp;setPiece(int&nbsp;col,
int&nbsp;row,
int&nbsp;piece)</pre>
<div class="block">Sets the piece at the given coordinates.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the piece was set, false if it was invalid.</dd>
</dl>
</li>
</ul>
<a name="setRect-int-int-int-int-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setRect</h4>
<pre>public&nbsp;void&nbsp;setRect(int&nbsp;x,
int&nbsp;y,
int&nbsp;width,
int&nbsp;height,
int&nbsp;piece)</pre>
<div class="block">Sets the pieces within the specified rectangle to the given piece.</div>
</li>
</ul>
<a name="setSegment-int-int-int-int-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setSegment</h4>
<pre>public&nbsp;boolean&nbsp;setSegment(int&nbsp;dir,
int&nbsp;col,
int&nbsp;row,
int&nbsp;len,
int&nbsp;piece)</pre>
<div class="block">Sets the pieces in the given board segment to the specified piece.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>dir</code> - the direction of the segment; one of <code>DirectionCodes.HORIZONTAL</code> or <code>DirectionCodes.VERTICAL</code>.</dd>
<dd><code>col</code> - the starting column of the segment.</dd>
<dd><code>row</code> - the starting row of the segment.</dd>
<dd><code>len</code> - the length of the segment in pieces.</dd>
<dd><code>piece</code> - the piece to set in the segment.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>false if the segment was only partially applied because some pieces were outside
the bounds of the board, true if it was completely applied.</dd>
</dl>
</li>
</ul>
<a name="setSegment-int-int-int-int:A-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setSegment</h4>
<pre>public&nbsp;void&nbsp;setSegment(int&nbsp;dir,
int&nbsp;col,
int&nbsp;row,
int[]&nbsp;pieces)</pre>
<div class="block">Sets the pieces in the given board segment to the specified pieces.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>dir</code> - the direction of the segment; one of <code>DirectionCodes.HORIZONTAL</code> or <code>DirectionCodes.VERTICAL</code>.</dd>
<dd><code>col</code> - the starting column of the segment.</dd>
<dd><code>row</code> - the starting row of the segment.</dd>
<dd><code>pieces</code> - the pieces to set in the segment.</dd>
</dl>
</li>
</ul>
<a name="applyOp-int-int-int-com.threerings.puzzle.drop.data.DropBoard.PieceOperation-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>applyOp</h4>
<pre>public&nbsp;void&nbsp;applyOp(int&nbsp;dir,
int&nbsp;col,
int&nbsp;row,
<a href="../../../../../com/threerings/puzzle/drop/data/DropBoard.PieceOperation.html" title="interface in com.threerings.puzzle.drop.data">DropBoard.PieceOperation</a>&nbsp;op)</pre>
<div class="block">Applies a specified <a href="../../../../../com/threerings/puzzle/drop/data/DropBoard.PieceOperation.html" title="interface in com.threerings.puzzle.drop.data"><code>DropBoard.PieceOperation</code></a> to all pieces in the specified row or column
starting at the specified coordinates and spanning the remainder of the row or column
(depending on the application direction) in the board.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>dir</code> - the direction to iterate in; one of <code>DirectionCodes.HORIZONTAL</code> or <code>DirectionCodes.VERTICAL</code>.</dd>
<dd><code>col</code> - the starting column of the segment.</dd>
<dd><code>row</code> - the starting row of the segment.</dd>
<dd><code>op</code> - the piece operation to apply to each piece.</dd>
</dl>
</li>
</ul>
<a name="applyOp-int-int-int-int-com.threerings.puzzle.drop.data.DropBoard.PieceOperation-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>applyOp</h4>
<pre>public&nbsp;void&nbsp;applyOp(int&nbsp;dir,
int&nbsp;col,
int&nbsp;row,
int&nbsp;len,
<a href="../../../../../com/threerings/puzzle/drop/data/DropBoard.PieceOperation.html" title="interface in com.threerings.puzzle.drop.data">DropBoard.PieceOperation</a>&nbsp;op)</pre>
<div class="block">Applies a specified <a href="../../../../../com/threerings/puzzle/drop/data/DropBoard.PieceOperation.html" title="interface in com.threerings.puzzle.drop.data"><code>DropBoard.PieceOperation</code></a> to all pieces in a row or column segment
starting at the specified coordinates and of the specified length in the board.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>dir</code> - the direction to iterate in; one of <code>DirectionCodes.HORIZONTAL</code> or <code>DirectionCodes.VERTICAL</code>.</dd>
<dd><code>col</code> - the starting leftmost column of the segment.</dd>
<dd><code>row</code> - the starting bottommost row of the segment.</dd>
<dd><code>len</code> - the number of pieces in the segment.</dd>
<dd><code>op</code> - the piece operation to apply to each piece.</dd>
</dl>
</li>
</ul>
<a name="applyOp-int-int-com.threerings.puzzle.drop.data.DropBoard.PieceOperation-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>applyOp</h4>
<pre>public&nbsp;void&nbsp;applyOp(int&nbsp;col,
int&nbsp;row,
<a href="../../../../../com/threerings/puzzle/drop/data/DropBoard.PieceOperation.html" title="interface in com.threerings.puzzle.drop.data">DropBoard.PieceOperation</a>&nbsp;op)</pre>
<div class="block">Applies a specified <a href="../../../../../com/threerings/puzzle/drop/data/DropBoard.PieceOperation.html" title="interface in com.threerings.puzzle.drop.data"><code>DropBoard.PieceOperation</code></a> to the specified piece in the board.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>col</code> - the column of the piece.</dd>
<dd><code>row</code> - the row of the piece.</dd>
<dd><code>op</code> - the piece operation to apply to the piece.</dd>
</dl>
</li>
</ul>
<a name="dump--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>dump</h4>
<pre>public&nbsp;void&nbsp;dump()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../com/threerings/puzzle/data/Board.html#dump--">Board</a></code></span></div>
<div class="block">Outputs a string representation of the board contents.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../com/threerings/puzzle/data/Board.html#dump--">dump</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../com/threerings/puzzle/data/Board.html" title="class in com.threerings.puzzle.data">Board</a></code></dd>
</dl>
</li>
</ul>
<a name="dumpAndCompare-com.threerings.puzzle.data.Board-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>dumpAndCompare</h4>
<pre>public&nbsp;void&nbsp;dumpAndCompare(<a href="../../../../../com/threerings/puzzle/data/Board.html" title="class in com.threerings.puzzle.data">Board</a>&nbsp;other)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../com/threerings/puzzle/data/Board.html#dumpAndCompare-com.threerings.puzzle.data.Board-">Board</a></code></span></div>
<div class="block">Outputs a string representation of the board contents, interlaced with the supplied
comparison board.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../com/threerings/puzzle/data/Board.html#dumpAndCompare-com.threerings.puzzle.data.Board-">dumpAndCompare</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../com/threerings/puzzle/data/Board.html" title="class in com.threerings.puzzle.data">Board</a></code></dd>
</dl>
</li>
</ul>
<a name="toString--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toString</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
</dl>
</li>
</ul>
<a name="equals-com.threerings.puzzle.data.Board-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>equals</h4>
<pre>public&nbsp;boolean&nbsp;equals(<a href="../../../../../com/threerings/puzzle/data/Board.html" title="class in com.threerings.puzzle.data">Board</a>&nbsp;other)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../com/threerings/puzzle/data/Board.html#equals-com.threerings.puzzle.data.Board-">Board</a></code></span></div>
<div class="block">Returns whether this board is equal to the given comparison board.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../com/threerings/puzzle/data/Board.html#equals-com.threerings.puzzle.data.Board-">equals</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../com/threerings/puzzle/data/Board.html" title="class in com.threerings.puzzle.data">Board</a></code></dd>
</dl>
</li>
</ul>
<a name="isValidPosition-int-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isValidPosition</h4>
<pre>public&nbsp;boolean&nbsp;isValidPosition(int&nbsp;x,
int&nbsp;y)</pre>
<div class="block">Returns whether the given coordinates are within the board bounds.</div>
</li>
</ul>
<a name="getBounds--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getBounds</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/awt/Rectangle.html?is-external=true" title="class or interface in java.awt">Rectangle</a>&nbsp;getBounds()</pre>
<div class="block">Returns the bounds of this board. Note that a single rectangle is re-used internally and so
the caller should not modify the returned rectangle.</div>
</li>
</ul>
<a name="size--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>size</h4>
<pre>public&nbsp;int&nbsp;size()</pre>
<div class="block">Returns the size of the board in pieces.</div>
</li>
</ul>
<a name="copyInto-com.threerings.puzzle.drop.data.DropBoard-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>copyInto</h4>
<pre>public&nbsp;void&nbsp;copyInto(<a href="../../../../../com/threerings/puzzle/drop/data/DropBoard.html" title="class in com.threerings.puzzle.drop.data">DropBoard</a>&nbsp;board)</pre>
<div class="block">Copies the contents of this board directly into the supplied board, overwriting the
destination board in its entirety.</div>
</li>
</ul>
<a name="getBoard--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getBoard</h4>
<pre>public&nbsp;int[]&nbsp;getBoard()</pre>
<div class="block">Returns the raw board data associated with this board. One shouldn't fiddle about with this
unless one knows what one is doing.</div>
</li>
</ul>
<a name="setBoard-int:A-int-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setBoard</h4>
<pre>public&nbsp;void&nbsp;setBoard(int[]&nbsp;board,
int&nbsp;bwid,
int&nbsp;bhei)</pre>
<div class="block">Sets the board data and board dimensions.</div>
</li>
</ul>
<a name="setBoard-int:A-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setBoard</h4>
<pre>public&nbsp;void&nbsp;setBoard(int[]&nbsp;board)</pre>
<div class="block">Sets the board pieces.</div>
</li>
</ul>
<a name="clone--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>clone</h4>
<pre>public&nbsp;<a href="../../../../../com/threerings/puzzle/drop/data/DropBoard.html" title="class in com.threerings.puzzle.drop.data">DropBoard</a>&nbsp;clone()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../com/threerings/puzzle/data/Board.html#clone--">clone</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../com/threerings/puzzle/data/Board.html" title="class in com.threerings.puzzle.data">Board</a></code></dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/DropBoard.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev&nbsp;Class</li>
<li><a href="../../../../../com/threerings/puzzle/drop/data/DropBoard.PieceOperation.html" title="interface in com.threerings.puzzle.drop.data"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?com/threerings/puzzle/drop/data/DropBoard.html" target="_top">Frames</a></li>
<li><a href="DropBoard.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2015. All rights reserved.</small></p>
</body>
</html>