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

490 lines
25 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:12 PDT 2015 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>SceneRegistry (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="SceneRegistry (Vilya Core 1.6 API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":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/SceneRegistry.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><a href="../../../../com/threerings/whirled/server/SceneProvider.html" title="interface in com.threerings.whirled.server"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../com/threerings/whirled/server/SceneRegistry.ConfigFactory.html" title="interface in com.threerings.whirled.server"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?com/threerings/whirled/server/SceneRegistry.html" target="_top">Frames</a></li>
<li><a href="SceneRegistry.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>Field&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>Field&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.whirled.server</div>
<h2 title="Class SceneRegistry" class="title">Class SceneRegistry</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>com.threerings.whirled.server.SceneRegistry</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd>com.threerings.crowd.data.LocationCodes, com.threerings.presents.data.InvocationCodes, com.threerings.presents.server.InvocationProvider, <a href="../../../../com/threerings/whirled/data/SceneCodes.html" title="interface in com.threerings.whirled.data">SceneCodes</a>, <a href="../../../../com/threerings/whirled/server/SceneProvider.html" title="interface in com.threerings.whirled.server">SceneProvider</a></dd>
</dl>
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><a href="../../../../com/threerings/whirled/spot/server/SpotSceneRegistry.html" title="class in com.threerings.whirled.spot.server">SpotSceneRegistry</a></dd>
</dl>
<hr>
<br>
<pre>public class <span class="typeNameLabel">SceneRegistry</span>
extends <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>
implements <a href="../../../../com/threerings/whirled/data/SceneCodes.html" title="interface in com.threerings.whirled.data">SceneCodes</a>, <a href="../../../../com/threerings/whirled/server/SceneProvider.html" title="interface in com.threerings.whirled.server">SceneProvider</a></pre>
<div class="block">The scene registry is responsible for the management of all scenes. It handles interaction with
the scene repository and ensures that scenes are loaded into memory when needed and flushed from
memory when not needed.
<p> The scene repository also takes care of bridging from the blocking, synchronous world of the
scene repository to the non-blocking asynchronous world of the distributed object event
queue. Thus its interfaces for accessing scenes are structured so as to not block the dobjmgr
thread while waiting for scenes to be read from or written to the repository.
<p><em>Note:</em> All access to the scene registry should take place from the dobjmgr thread.</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/whirled/server/SceneRegistry.ConfigFactory.html" title="interface in com.threerings.whirled.server">SceneRegistry.ConfigFactory</a></span></code>
<div class="block">Used to create <code>PlaceConfig</code> instances for scenes.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static interface&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/threerings/whirled/server/SceneRegistry.ResolutionListener.html" title="interface in com.threerings.whirled.server">SceneRegistry.ResolutionListener</a></span></code>
<div class="block">Because scenes must be loaded from the scene repository and this must not be done on the
dobjmgr thread, the interface for resolving scenes requires that the entity that wishes for
a scene to be resolved implement this callback interface so that it can be notified when a
scene has been loaded and initialized.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.com.threerings.whirled.data.SceneCodes">
<!-- -->
</a>
<h3>Fields inherited from interface&nbsp;com.threerings.whirled.data.<a href="../../../../com/threerings/whirled/data/SceneCodes.html" title="interface in com.threerings.whirled.data">SceneCodes</a></h3>
<code><a href="../../../../com/threerings/whirled/data/SceneCodes.html#SCENE_UPDATE">SCENE_UPDATE</a>, <a href="../../../../com/threerings/whirled/data/SceneCodes.html#WHIRLED_GROUP">WHIRLED_GROUP</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.com.threerings.crowd.data.LocationCodes">
<!-- -->
</a>
<h3>Fields inherited from interface&nbsp;com.threerings.crowd.data.LocationCodes</h3>
<code>ALREADY_THERE, MOVE_IN_PROGRESS, NO_SUCH_PLACE</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.com.threerings.presents.data.InvocationCodes">
<!-- -->
</a>
<h3>Fields inherited from interface&nbsp;com.threerings.presents.data.InvocationCodes</h3>
<code>ACCESS_DENIED, E_ACCESS_DENIED, E_INTERNAL_ERROR, GLOBAL_GROUP, INTERNAL_ERROR</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/whirled/server/SceneRegistry.html#SceneRegistry-com.threerings.presents.server.InvocationManager-">SceneRegistry</a></span>(com.threerings.presents.server.InvocationManager&nbsp;invmgr)</code>
<div class="block">Constructs a scene registry.</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><a href="../../../../com/threerings/whirled/server/SceneManager.html" title="class in com.threerings.whirled.server">SceneManager</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/threerings/whirled/server/SceneRegistry.html#getSceneManager-int-">getSceneManager</a></span>(int&nbsp;sceneId)</code>
<div class="block">Fetches the scene manager associated with the specified scene.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="../../../../com/threerings/whirled/server/persist/SceneRepository.html" title="interface in com.threerings.whirled.server.persist">SceneRepository</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/threerings/whirled/server/SceneRegistry.html#getSceneRepository--">getSceneRepository</a></span>()</code>
<div class="block">Returns a reference to the scene repository in use by this registry.</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/whirled/server/SceneRegistry.html#leaveOccupiedScene-com.threerings.crowd.data.BodyObject-">leaveOccupiedScene</a></span>(com.threerings.crowd.data.BodyObject&nbsp;source)</code>
<div class="block">Ejects the specified body from their current scene and zone.</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/whirled/server/SceneRegistry.html#moveBody-com.threerings.crowd.data.BodyObject-int-">moveBody</a></span>(com.threerings.crowd.data.BodyObject&nbsp;source,
int&nbsp;sceneId)</code>
<div class="block">Ejects the specified body from their current scene and sends them a request to move to the
specified new scene.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/threerings/whirled/server/SceneRegistry.html#moveTo-com.threerings.presents.data.ClientObject-int-int-com.threerings.whirled.client.SceneService.SceneMoveListener-">moveTo</a></span>(com.threerings.presents.data.ClientObject&nbsp;caller,
int&nbsp;sceneId,
int&nbsp;sceneVer,
<a href="../../../../com/threerings/whirled/client/SceneService.SceneMoveListener.html" title="interface in com.threerings.whirled.client">SceneService.SceneMoveListener</a>&nbsp;listener)</code>
<div class="block">Handles a <a href="../../../../com/threerings/whirled/client/SceneService.html#moveTo-int-int-com.threerings.whirled.client.SceneService.SceneMoveListener-"><code>SceneService.moveTo(int, int, com.threerings.whirled.client.SceneService.SceneMoveListener)</code></a> request.</div>
</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/whirled/server/SceneRegistry.html#resolveScene-int-com.threerings.whirled.server.SceneRegistry.ResolutionListener-">resolveScene</a></span>(int&nbsp;sceneId,
<a href="../../../../com/threerings/whirled/server/SceneRegistry.ResolutionListener.html" title="interface in com.threerings.whirled.server">SceneRegistry.ResolutionListener</a>&nbsp;target)</code>
<div class="block">Requests that the specified scene be resolved, which means loaded into the server and
initialized if the scene is not currently active.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<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/whirled/server/SceneRegistry.html#where-int-">where</a></span>(int&nbsp;sceneId)</code>
<div class="block">Returns <a href="../../../../com/threerings/whirled/server/SceneManager.html#where--"><code>SceneManager.where()</code></a> for the specified scene or <code>null:sceneId</code> if
no scene manager exists for that scene.</div>
</td>
</tr>
</table>
<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#toString--" title="class or interface in java.lang">toString</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">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="SceneRegistry-com.threerings.presents.server.InvocationManager-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>SceneRegistry</h4>
<pre>@Inject
public&nbsp;SceneRegistry(com.threerings.presents.server.InvocationManager&nbsp;invmgr)</pre>
<div class="block">Constructs a scene registry.</div>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="getSceneManager-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSceneManager</h4>
<pre>public&nbsp;<a href="../../../../com/threerings/whirled/server/SceneManager.html" title="class in com.threerings.whirled.server">SceneManager</a>&nbsp;getSceneManager(int&nbsp;sceneId)</pre>
<div class="block">Fetches the scene manager associated with the specified scene.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the scene manager for the specified scene or null if no scene manager is loaded for
that scene.</dd>
</dl>
</li>
</ul>
<a name="getSceneRepository--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSceneRepository</h4>
<pre>public&nbsp;<a href="../../../../com/threerings/whirled/server/persist/SceneRepository.html" title="interface in com.threerings.whirled.server.persist">SceneRepository</a>&nbsp;getSceneRepository()</pre>
<div class="block">Returns a reference to the scene repository in use by this registry.</div>
</li>
</ul>
<a name="where-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>where</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;where(int&nbsp;sceneId)</pre>
<div class="block">Returns <a href="../../../../com/threerings/whirled/server/SceneManager.html#where--"><code>SceneManager.where()</code></a> for the specified scene or <code>null:sceneId</code> if
no scene manager exists for that scene.</div>
</li>
</ul>
<a name="resolveScene-int-com.threerings.whirled.server.SceneRegistry.ResolutionListener-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>resolveScene</h4>
<pre>public&nbsp;void&nbsp;resolveScene(int&nbsp;sceneId,
<a href="../../../../com/threerings/whirled/server/SceneRegistry.ResolutionListener.html" title="interface in com.threerings.whirled.server">SceneRegistry.ResolutionListener</a>&nbsp;target)</pre>
<div class="block">Requests that the specified scene be resolved, which means loaded into the server and
initialized if the scene is not currently active. The supplied callback instance will be
notified, on the dobjmgr thread, when the scene has been resolved. If the scene is already
active, it will be notified immediately (before the call to <a href="../../../../com/threerings/whirled/server/SceneRegistry.html#resolveScene-int-com.threerings.whirled.server.SceneRegistry.ResolutionListener-"><code>resolveScene(int, com.threerings.whirled.server.SceneRegistry.ResolutionListener)</code></a> returns).</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>sceneId</code> - the id of the scene to resolve.</dd>
<dd><code>target</code> - a reference to a callback instance that will be notified when the scene has
been resolved (which may be immediately if the scene is already active).</dd>
</dl>
</li>
</ul>
<a name="moveTo-com.threerings.presents.data.ClientObject-int-int-com.threerings.whirled.client.SceneService.SceneMoveListener-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>moveTo</h4>
<pre>public&nbsp;void&nbsp;moveTo(com.threerings.presents.data.ClientObject&nbsp;caller,
int&nbsp;sceneId,
int&nbsp;sceneVer,
<a href="../../../../com/threerings/whirled/client/SceneService.SceneMoveListener.html" title="interface in com.threerings.whirled.client">SceneService.SceneMoveListener</a>&nbsp;listener)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../com/threerings/whirled/server/SceneProvider.html#moveTo-com.threerings.presents.data.ClientObject-int-int-com.threerings.whirled.client.SceneService.SceneMoveListener-">SceneProvider</a></code></span></div>
<div class="block">Handles a <a href="../../../../com/threerings/whirled/client/SceneService.html#moveTo-int-int-com.threerings.whirled.client.SceneService.SceneMoveListener-"><code>SceneService.moveTo(int, int, com.threerings.whirled.client.SceneService.SceneMoveListener)</code></a> request.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../com/threerings/whirled/server/SceneProvider.html#moveTo-com.threerings.presents.data.ClientObject-int-int-com.threerings.whirled.client.SceneService.SceneMoveListener-">moveTo</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../com/threerings/whirled/server/SceneProvider.html" title="interface in com.threerings.whirled.server">SceneProvider</a></code></dd>
</dl>
</li>
</ul>
<a name="moveBody-com.threerings.crowd.data.BodyObject-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>moveBody</h4>
<pre>public&nbsp;void&nbsp;moveBody(com.threerings.crowd.data.BodyObject&nbsp;source,
int&nbsp;sceneId)</pre>
<div class="block">Ejects the specified body from their current scene and sends them a request to move to the
specified new scene. This is the scene-equivalent to <code>LocationProvider.moveTo(com.threerings.presents.data.ClientObject, int, com.threerings.crowd.client.LocationService.MoveListener)</code>.</div>
</li>
</ul>
<a name="leaveOccupiedScene-com.threerings.crowd.data.BodyObject-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>leaveOccupiedScene</h4>
<pre>public&nbsp;void&nbsp;leaveOccupiedScene(com.threerings.crowd.data.BodyObject&nbsp;source)</pre>
<div class="block">Ejects the specified body from their current scene and zone. This is the zone equivalent to
<code>LocationProvider.leavePlace(com.threerings.presents.data.ClientObject)</code>.</div>
</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/SceneRegistry.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><a href="../../../../com/threerings/whirled/server/SceneProvider.html" title="interface in com.threerings.whirled.server"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../com/threerings/whirled/server/SceneRegistry.ConfigFactory.html" title="interface in com.threerings.whirled.server"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?com/threerings/whirled/server/SceneRegistry.html" target="_top">Frames</a></li>
<li><a href="SceneRegistry.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>Field&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>Field&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>