Files
YAGSL/docs/frc/robot/subsystems/swervedrive2/swervelib/parser/SwerveModulePhysicalCharacteristics.html
thenetworkgrinch 6a40ec018e Updated swervelib
2023-02-13 14:37:05 -06:00

589 lines
25 KiB
HTML

<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (11.0.17) on Mon Feb 13 14:36:54 CST 2023 -->
<title>SwerveModulePhysicalCharacteristics</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="dc.created" content="2023-02-13">
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../jquery/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../../../jquery/jquery-3.6.0.min.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jquery-ui.min.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="SwerveModulePhysicalCharacteristics";
}
}
catch(err) {
}
//-->
var pathtoroot = "../../../../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-files/index-1.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</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>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&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>Method</li>
</ul>
</div>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">frc.robot.subsystems.swervedrive2.swervelib.parser</a></div>
<h2 title="Class SwerveModulePhysicalCharacteristics" class="title">Class SwerveModulePhysicalCharacteristics</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>frc.robot.subsystems.swervedrive2.swervelib.parser.SwerveModulePhysicalCharacteristics</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<pre>public class <span class="typeNameLabel">SwerveModulePhysicalCharacteristics</span>
extends <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></pre>
<div class="block">Configuration class which stores physical characteristics shared between every swerve module.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<section>
<ul class="blockList">
<li class="blockList"><a id="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Field</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#angleEncoderPulsePerRotation">angleEncoderPulsePerRotation</a></span></code></th>
<td class="colLast">
<div class="block">Angle motor encoder pulse per rotation.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#angleGearRatio">angleGearRatio</a></span></code></th>
<td class="colLast">
<div class="block">Angle gear ratio.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#angleMotorCurrentLimit">angleMotorCurrentLimit</a></span></code></th>
<td class="colLast">
<div class="block">Current limits for the Swerve Module.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#angleMotorFreeSpeedRPM">angleMotorFreeSpeedRPM</a></span></code></th>
<td class="colLast">
<div class="block">Free speed rotations per minute of the motor, as described by the vendor.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#angleMotorRampRate">angleMotorRampRate</a></span></code></th>
<td class="colLast">
<div class="block">The time it takes for the motor to go from 0 to full throttle in seconds.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#driveEncoderPulsePerRotation">driveEncoderPulsePerRotation</a></span></code></th>
<td class="colLast">
<div class="block">Drive motor encoder pulse per rotation.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#driveGearRatio">driveGearRatio</a></span></code></th>
<td class="colLast">
<div class="block">Drive gear ratio.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#driveMotorCurrentLimit">driveMotorCurrentLimit</a></span></code></th>
<td class="colLast">
<div class="block">Current limits for the Swerve Module.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#driveMotorRampRate">driveMotorRampRate</a></span></code></th>
<td class="colLast">
<div class="block">The time it takes for the motor to go from 0 to full throttle in seconds.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#optimalVoltage">optimalVoltage</a></span></code></th>
<td class="colLast">
<div class="block">Optimal voltage of the robot.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#wheelDiameter">wheelDiameter</a></span></code></th>
<td class="colLast">
<div class="block">Wheel diameter in meters.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#wheelGripCoefficientOfFriction">wheelGripCoefficientOfFriction</a></span></code></th>
<td class="colLast">
<div class="block">Wheel grip tape coefficient of friction on carpet, as described by the vendor.</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<section>
<ul class="blockList">
<li class="blockList"><a id="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(double,double,double,double,double,double,int,int)">SwerveModulePhysicalCharacteristics</a></span>&#8203;(double&nbsp;driveGearRatio,
double&nbsp;angleGearRatio,
double&nbsp;angleMotorFreeSpeedRPM,
double&nbsp;wheelDiameter,
double&nbsp;driveMotorRampRate,
double&nbsp;angleMotorRampRate,
int&nbsp;driveEncoderPulsePerRotation,
int&nbsp;angleEncoderPulsePerRotation)</code></th>
<td class="colLast">
<div class="block">Construct the swerve module physical characteristics.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(double,double,double,double,double,double,int,int,double,double,int,int)">SwerveModulePhysicalCharacteristics</a></span>&#8203;(double&nbsp;driveGearRatio,
double&nbsp;angleGearRatio,
double&nbsp;angleMotorFreeSpeedRPM,
double&nbsp;wheelDiameter,
double&nbsp;wheelGripCoefficientOfFriction,
double&nbsp;optimalVoltage,
int&nbsp;driveMotorCurrentLimit,
int&nbsp;angleMotorCurrentLimit,
double&nbsp;driveMotorRampRate,
double&nbsp;angleMotorRampRate,
int&nbsp;driveEncoderPulsePerRotation,
int&nbsp;angleEncoderPulsePerRotation)</code></th>
<td class="colLast">
<div class="block">Construct the swerve module physical characteristics.</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section>
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang" class="externalLink">clone</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang" class="externalLink">equals</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang" class="externalLink">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang" class="externalLink">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang" class="externalLink">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang" class="externalLink">notify</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang" class="externalLink">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang" class="externalLink">toString</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#wait(long,int)" title="class or interface in java.lang" class="externalLink">wait</a></code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<section>
<ul class="blockList">
<li class="blockList"><a id="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a id="wheelDiameter">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>wheelDiameter</h4>
<pre>public final&nbsp;double wheelDiameter</pre>
<div class="block">Wheel diameter in meters.</div>
</li>
</ul>
<a id="driveGearRatio">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>driveGearRatio</h4>
<pre>public final&nbsp;double driveGearRatio</pre>
<div class="block">Drive gear ratio. How many times the motor has to spin before the wheel makes a complete rotation.</div>
</li>
</ul>
<a id="angleGearRatio">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>angleGearRatio</h4>
<pre>public final&nbsp;double angleGearRatio</pre>
<div class="block">Angle gear ratio. How many times the motor has to spin before the wheel makes a full rotation.</div>
</li>
</ul>
<a id="driveEncoderPulsePerRotation">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>driveEncoderPulsePerRotation</h4>
<pre>public final&nbsp;int driveEncoderPulsePerRotation</pre>
<div class="block">Drive motor encoder pulse per rotation. 1 if integrated encoder.</div>
</li>
</ul>
<a id="angleEncoderPulsePerRotation">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>angleEncoderPulsePerRotation</h4>
<pre>public final&nbsp;int angleEncoderPulsePerRotation</pre>
<div class="block">Angle motor encoder pulse per rotation. 1 if integrated encoder.</div>
</li>
</ul>
<a id="optimalVoltage">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>optimalVoltage</h4>
<pre>public final&nbsp;double optimalVoltage</pre>
<div class="block">Optimal voltage of the robot.</div>
</li>
</ul>
<a id="driveMotorCurrentLimit">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>driveMotorCurrentLimit</h4>
<pre>public final&nbsp;int driveMotorCurrentLimit</pre>
<div class="block">Current limits for the Swerve Module.</div>
</li>
</ul>
<a id="angleMotorCurrentLimit">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>angleMotorCurrentLimit</h4>
<pre>public final&nbsp;int angleMotorCurrentLimit</pre>
<div class="block">Current limits for the Swerve Module.</div>
</li>
</ul>
<a id="driveMotorRampRate">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>driveMotorRampRate</h4>
<pre>public final&nbsp;double driveMotorRampRate</pre>
<div class="block">The time it takes for the motor to go from 0 to full throttle in seconds.</div>
</li>
</ul>
<a id="angleMotorRampRate">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>angleMotorRampRate</h4>
<pre>public final&nbsp;double angleMotorRampRate</pre>
<div class="block">The time it takes for the motor to go from 0 to full throttle in seconds.</div>
</li>
</ul>
<a id="wheelGripCoefficientOfFriction">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>wheelGripCoefficientOfFriction</h4>
<pre>public final&nbsp;double wheelGripCoefficientOfFriction</pre>
<div class="block">Wheel grip tape coefficient of friction on carpet, as described by the vendor.</div>
</li>
</ul>
<a id="angleMotorFreeSpeedRPM">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>angleMotorFreeSpeedRPM</h4>
<pre>public final&nbsp;double angleMotorFreeSpeedRPM</pre>
<div class="block">Free speed rotations per minute of the motor, as described by the vendor.</div>
</li>
</ul>
</li>
</ul>
</section>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<section>
<ul class="blockList">
<li class="blockList"><a id="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a id="&lt;init&gt;(double,double,double,double,double,double,int,int,double,double,int,int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SwerveModulePhysicalCharacteristics</h4>
<pre>public&nbsp;SwerveModulePhysicalCharacteristics&#8203;(double&nbsp;driveGearRatio,
double&nbsp;angleGearRatio,
double&nbsp;angleMotorFreeSpeedRPM,
double&nbsp;wheelDiameter,
double&nbsp;wheelGripCoefficientOfFriction,
double&nbsp;optimalVoltage,
int&nbsp;driveMotorCurrentLimit,
int&nbsp;angleMotorCurrentLimit,
double&nbsp;driveMotorRampRate,
double&nbsp;angleMotorRampRate,
int&nbsp;driveEncoderPulsePerRotation,
int&nbsp;angleEncoderPulsePerRotation)</pre>
<div class="block">Construct the swerve module physical characteristics.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>driveGearRatio</code> - Gear ratio of the drive motor. Number of motor rotations to rotate the
wheel.</dd>
<dd><code>angleGearRatio</code> - Gear ratio of the angle motor. Number of motor rotations to spin the wheel.</dd>
<dd><code>angleMotorFreeSpeedRPM</code> - Motor free speed rotation per minute.</dd>
<dd><code>wheelDiameter</code> - Wheel diameter in meters.</dd>
<dd><code>wheelGripCoefficientOfFriction</code> - Wheel grip coefficient of friction on carpet given by manufacturer.</dd>
<dd><code>optimalVoltage</code> - Optimal robot voltage.</dd>
<dd><code>driveMotorCurrentLimit</code> - Current limit for the drive motor.</dd>
<dd><code>angleMotorCurrentLimit</code> - Current limit for the angle motor.</dd>
<dd><code>driveMotorRampRate</code> - The time in seconds to go from 0 to full throttle on the motor. (Prevents
over drawing power from battery)</dd>
<dd><code>angleMotorRampRate</code> - The time in seconds to go from 0 to full throttle on the motor. (Prevents
overdrawing power and power loss).</dd>
<dd><code>driveEncoderPulsePerRotation</code> - The number of encoder pulses per motor rotation, 1 for integrated encoders.</dd>
<dd><code>angleEncoderPulsePerRotation</code> - The number of encoder pulses per motor rotation, 1 for integrated encoders.</dd>
</dl>
</li>
</ul>
<a id="&lt;init&gt;(double,double,double,double,double,double,int,int)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>SwerveModulePhysicalCharacteristics</h4>
<pre>public&nbsp;SwerveModulePhysicalCharacteristics&#8203;(double&nbsp;driveGearRatio,
double&nbsp;angleGearRatio,
double&nbsp;angleMotorFreeSpeedRPM,
double&nbsp;wheelDiameter,
double&nbsp;driveMotorRampRate,
double&nbsp;angleMotorRampRate,
int&nbsp;driveEncoderPulsePerRotation,
int&nbsp;angleEncoderPulsePerRotation)</pre>
<div class="block">Construct the swerve module physical characteristics. Assume coefficient of friction is 1.19 (taken from blue
nitrile on carpet from Studica) and optimal voltage is 12v. Assumes the drive motor current limit is 40A, and the
angle motor current limit is 20A.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>driveGearRatio</code> - Gear ratio of the drive motor. Number of motor rotations to rotate the wheel.</dd>
<dd><code>angleGearRatio</code> - Gear ratio of the angle motor. Number of motor rotations to spin the wheel.</dd>
<dd><code>angleMotorFreeSpeedRPM</code> - Motor free speed rotation per minute.</dd>
<dd><code>wheelDiameter</code> - Wheel diameter in meters.</dd>
<dd><code>driveMotorRampRate</code> - The time in seconds to go from 0 to full throttle on the motor. (Prevents over
drawing power from battery)</dd>
<dd><code>angleMotorRampRate</code> - The time in seconds to go from 0 to full throttle on the motor. (Prevents
overdrawing power and power loss).</dd>
<dd><code>driveEncoderPulsePerRotation</code> - The number of encoder pulses per motor rotation, 1 for integrated encoders.</dd>
<dd><code>angleEncoderPulsePerRotation</code> - The number of encoder pulses per motor rotation, 1 for integrated encoders.</dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-files/index-1.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../allclasses.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>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&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>Method</li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
</footer>
</body>
</html>