qd-changjing/public/static/Build/Documentation/ReferenceProperty.html

1564 lines
68 KiB
HTML
Raw Normal View History

2022-07-05 16:56:29 +08:00
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>ReferenceProperty - Cesium Documentation</title>
<!--[if lt IE 9]>
<script src="javascript/html5.js"></script>
<![endif]-->
<link href="styles/jsdoc-default.css" rel="stylesheet">
<link href="styles/prism.css" rel="stylesheet">
</head>
<body>
<div id="main">
<h1 class="page-title">
<a href="index.html"><img src="Images/CesiumLogo.png" class="cesiumLogo"></a>
ReferenceProperty
<div class="titleCenterer"></div>
</h1>
<section>
<header>
</header>
<article>
<div class="container-overview">
<div class="nameContainer">
<h4 class="name" id="ReferenceProperty">
<a href="#ReferenceProperty" class="doc-link"></a>
new Cesium.ReferenceProperty<span class="signature">(targetCollection, targetId, targetPropertyNames)</span>
<div class="source-link rightLinks">
<a href="https://github.com/CesiumGS/cesium/blob/1.91/Source/DataSources/ReferenceProperty.js#L89">DataSources/ReferenceProperty.js 89</a>
</div>
</h4>
</div>
<div class="description">
A <a href="Property.html"><code>Property</code></a> which transparently links to another property on a provided object.
</div>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>targetCollection</code></td>
<td class="type">
<span class="param-type"><a href="EntityCollection.html">EntityCollection</a></span>
</td>
<td class="description last">
The entity collection which will be used to resolve the reference.</td>
</tr>
<tr>
<td class="name"><code>targetId</code></td>
<td class="type">
<span class="param-type">String</span>
</td>
<td class="description last">
The id of the entity which is being referenced.</td>
</tr>
<tr>
<td class="name"><code>targetPropertyNames</code></td>
<td class="type">
<span class="param-type">Array.&lt;String></span>
</td>
<td class="description last">
The names of the property on the target entity which we will use.</td>
</tr>
</tbody>
</table>
<dl class="details">
<h5>Example:</h5>
<pre><code class="language-javascript">const collection = new Cesium.EntityCollection();
//Create a new entity and assign a billboard scale.
const object1 = new Cesium.Entity({id:'object1'});
object1.billboard = new Cesium.BillboardGraphics();
object1.billboard.scale = new Cesium.ConstantProperty(2.0);
collection.add(object1);
//Create a second entity and reference the scale from the first one.
const object2 = new Cesium.Entity({id:'object2'});
object2.model = new Cesium.ModelGraphics();
object2.model.scale = new Cesium.ReferenceProperty(collection, 'object1', ['billboard', 'scale']);
collection.add(object2);
//Create a third object, but use the fromString helper function.
const object3 = new Cesium.Entity({id:'object3'});
object3.billboard = new Cesium.BillboardGraphics();
object3.billboard.scale = Cesium.ReferenceProperty.fromString(collection, 'object1#billboard.scale');
collection.add(object3);
//You can refer to an entity with a # or . in id and property names by escaping them.
const object4 = new Cesium.Entity({id:'#object.4'});
object4.billboard = new Cesium.BillboardGraphics();
object4.billboard.scale = new Cesium.ConstantProperty(2.0);
collection.add(object4);
const object5 = new Cesium.Entity({id:'object5'});
object5.billboard = new Cesium.BillboardGraphics();
object5.billboard.scale = Cesium.ReferenceProperty.fromString(collection, '\\#object\\.4#billboard.scale');
collection.add(object5);</code></pre>
</dl>
</div>
<h3 class="subsection-title">Members</h3>
<div class="nameContainer">
<h4 class="name" id="definitionChanged">
<a href="#definitionChanged" class="doc-link"></a>
<span class="type-signature attribute-readonly">readonly</span> definitionChanged<span class="type-signature"> : <a href="Event.html">Event</a></span>
<div class="source-link rightLinks">
<a href="https://github.com/CesiumGS/cesium/blob/1.91/Source/DataSources/ReferenceProperty.js#L140">DataSources/ReferenceProperty.js 140</a>
</div>
</h4>
</div>
<div class="description">
Gets the event that is raised whenever the definition of this property changes.
The definition is changed whenever the referenced property's definition is changed.
</div>
<dl class="details">
</dl>
<div class="nameContainer">
<h4 class="name" id="isConstant">
<a href="#isConstant" class="doc-link"></a>
<span class="type-signature attribute-readonly">readonly</span> isConstant<span class="type-signature"> : Boolean</span>
<div class="source-link rightLinks">
<a href="https://github.com/CesiumGS/cesium/blob/1.91/Source/DataSources/ReferenceProperty.js#L128">DataSources/ReferenceProperty.js 128</a>
</div>
</h4>
</div>
<div class="description">
Gets a value indicating if this property is constant.
</div>
<dl class="details">
</dl>
<div class="nameContainer">
<h4 class="name" id="referenceFrame">
<a href="#referenceFrame" class="doc-link"></a>
<span class="type-signature attribute-readonly">readonly</span> referenceFrame<span class="type-signature"> : <a href="global.html#ReferenceFrame">ReferenceFrame</a></span>
<div class="source-link rightLinks">
<a href="https://github.com/CesiumGS/cesium/blob/1.91/Source/DataSources/ReferenceProperty.js#L152">DataSources/ReferenceProperty.js 152</a>
</div>
</h4>
</div>
<div class="description">
Gets the reference frame that the position is defined in.
This property is only valid if the referenced property is a <a href="PositionProperty.html"><code>PositionProperty</code></a>.
</div>
<dl class="details">
</dl>
<div class="nameContainer">
<h4 class="name" id="resolvedProperty">
<a href="#resolvedProperty" class="doc-link"></a>
<span class="type-signature attribute-readonly">readonly</span> resolvedProperty<span class="type-signature"> : <a href="Property.html">Property</a>|undefined</span>
<div class="source-link rightLinks">
<a href="https://github.com/CesiumGS/cesium/blob/1.91/Source/DataSources/ReferenceProperty.js#L197">DataSources/ReferenceProperty.js 197</a>
</div>
</h4>
</div>
<div class="description">
Gets the resolved instance of the underlying referenced property.
</div>
<dl class="details">
</dl>
<div class="nameContainer">
<h4 class="name" id="targetCollection">
<a href="#targetCollection" class="doc-link"></a>
<span class="type-signature attribute-readonly">readonly</span> targetCollection<span class="type-signature"> : <a href="EntityCollection.html">EntityCollection</a></span>
<div class="source-link rightLinks">
<a href="https://github.com/CesiumGS/cesium/blob/1.91/Source/DataSources/ReferenceProperty.js#L175">DataSources/ReferenceProperty.js 175</a>
</div>
</h4>
</div>
<div class="description">
Gets the collection containing the entity being referenced.
</div>
<dl class="details">
</dl>
<div class="nameContainer">
<h4 class="name" id="targetId">
<a href="#targetId" class="doc-link"></a>
<span class="type-signature attribute-readonly">readonly</span> targetId<span class="type-signature"> : String</span>
<div class="source-link rightLinks">
<a href="https://github.com/CesiumGS/cesium/blob/1.91/Source/DataSources/ReferenceProperty.js#L164">DataSources/ReferenceProperty.js 164</a>
</div>
</h4>
</div>
<div class="description">
Gets the id of the entity being referenced.
</div>
<dl class="details">
</dl>
<div class="nameContainer">
<h4 class="name" id="targetPropertyNames">
<a href="#targetPropertyNames" class="doc-link"></a>
<span class="type-signature attribute-readonly">readonly</span> targetPropertyNames<span class="type-signature"> : Array.&lt;String></span>
<div class="source-link rightLinks">
<a href="https://github.com/CesiumGS/cesium/blob/1.91/Source/DataSources/ReferenceProperty.js#L186">DataSources/ReferenceProperty.js 186</a>
</div>
</h4>
</div>
<div class="description">
Gets the array of property names used to retrieve the referenced property.
</div>
<dl class="details">
</dl>
<h3 class="subsection-title">Methods</h3>
<div class="nameContainer">
<h4 class="name" id=".fromString">
<a href="#.fromString" class="doc-link"></a>
<span class="type-signature attribute-static">static</span> Cesium.ReferenceProperty.fromString<span class="signature">(targetCollection, referenceString)</span> &rarr; <span class="type-signature returnType"><a href="ReferenceProperty.html">ReferenceProperty</a></span>
<div class="source-link rightLinks">
<a href="https://github.com/CesiumGS/cesium/blob/1.91/Source/DataSources/ReferenceProperty.js#L217">DataSources/ReferenceProperty.js 217</a>
</div>
</h4>
</div>
<div class="description">
Creates a new instance given the entity collection that will
be used to resolve it and a string indicating the target entity id and property.
The format of the string is "objectId#foo.bar", where # separates the id from
property path and . separates sub-properties. If the reference identifier or
or any sub-properties contains a # . or \ they must be escaped.
</div>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>targetCollection</code></td>
<td class="type">
<span class="param-type"><a href="EntityCollection.html">EntityCollection</a></span>
</td>
<td class="description last">
</td>
</tr>
<tr>
<td class="name"><code>referenceString</code></td>
<td class="type">
<span class="param-type">String</span>
</td>
<td class="description last">
</td>
</tr>
</tbody>
</table>
<h5>Returns:</h5>
<div class="param-desc">
A new instance of ReferenceProperty.
</div>
<h5>Throws:</h5>
<ul>
<li>
<div class="param-desc">
<span class="param-type"><a href="DeveloperError.html">DeveloperError</a></span>
: invalid referenceString.
</div>
</li>
</ul>
<dl class="details">
</dl>
<div class="nameContainer">
<h4 class="name" id="equals">
<a href="#equals" class="doc-link"></a>
equals<span class="signature">(<span class="optional">other</span>)</span> &rarr; <span class="type-signature returnType">Boolean</span>
<div class="source-link rightLinks">
<a href="https://github.com/CesiumGS/cesium/blob/1.91/Source/DataSources/ReferenceProperty.js#L308">DataSources/ReferenceProperty.js 308</a>
</div>
</h4>
</div>
<div class="description">
Compares this property to the provided property and returns
<code>true</code> if they are equal, <code>false</code> otherwise.
</div>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>other</code></td>
<td class="type">
<span class="param-type"><a href="Property.html">Property</a></span>
</td>
<td class="description last">
<span class="optional">optional</span>
The other property.</td>
</tr>
</tbody>
</table>
<h5>Returns:</h5>
<div class="param-desc">
<code>true</code> if left and right are equal, <code>false</code> otherwise.
</div>
<dl class="details">
</dl>
<div class="nameContainer">
<h4 class="name" id="getType">
<a href="#getType" class="doc-link"></a>
getType<span class="signature">(time)</span> &rarr; <span class="type-signature returnType">String</span>
<div class="source-link rightLinks">
<a href="https://github.com/CesiumGS/cesium/blob/1.91/Source/DataSources/ReferenceProperty.js#L296">DataSources/ReferenceProperty.js 296</a>
</div>
</h4>
</div>
<div class="description">
Gets the <a href="Material.html"><code>Material</code></a> type at the provided time.
This method is only valid if the property being referenced is a <a href="MaterialProperty.html"><code>MaterialProperty</code></a>.
</div>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>time</code></td>
<td class="type">
<span class="param-type"><a href="JulianDate.html">JulianDate</a></span>
</td>
<td class="description last">
The time for which to retrieve the type.</td>
</tr>
</tbody>
</table>
<h5>Returns:</h5>
<div class="param-desc">
The type of material.
</div>
<dl class="details">
</dl>
<div class="nameContainer">
<h4 class="name" id="getValue">
<a href="#getValue" class="doc-link"></a>
getValue<span class="signature">(time, <span class="optional">result</span>)</span> &rarr; <span class="type-signature returnType">Object</span>
<div class="source-link rightLinks">
<a href="https://github.com/CesiumGS/cesium/blob/1.91/Source/DataSources/ReferenceProperty.js#L264">DataSources/ReferenceProperty.js 264</a>
</div>
</h4>
</div>
<div class="description">
Gets the value of the property at the provided time.
</div>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>time</code></td>
<td class="type">
<span class="param-type"><a href="JulianDate.html">JulianDate</a></span>
</td>
<td class="description last">
The time for which to retrieve the value.</td>
</tr>
<tr>
<td class="name"><code>result</code></td>
<td class="type">
<span class="param-type">Object</span>
</td>
<td class="description last">
<span class="optional">optional</span>
The object to store the value into, if omitted, a new instance is created and returned.</td>
</tr>
</tbody>
</table>
<h5>Returns:</h5>
<div class="param-desc">
The modified result parameter or a new instance if the result parameter was not supplied.
</div>
<dl class="details">
</dl>
<div class="nameContainer">
<h4 class="name" id="getValueInReferenceFrame">
<a href="#getValueInReferenceFrame" class="doc-link"></a>
getValueInReferenceFrame<span class="signature">(time, referenceFrame, <span class="optional">result</span>)</span> &rarr; <span class="type-signature returnType"><a href="Cartesian3.html">Cartesian3</a></span>
<div class="source-link rightLinks">
<a href="https://github.com/CesiumGS/cesium/blob/1.91/Source/DataSources/ReferenceProperty.js#L278">DataSources/ReferenceProperty.js 278</a>
</div>
</h4>
</div>
<div class="description">
Gets the value of the property at the provided time and in the provided reference frame.
This method is only valid if the property being referenced is a <a href="PositionProperty.html"><code>PositionProperty</code></a>.
</div>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>time</code></td>
<td class="type">
<span class="param-type"><a href="JulianDate.html">JulianDate</a></span>
</td>
<td class="description last">
The time for which to retrieve the value.</td>
</tr>
<tr>
<td class="name"><code>referenceFrame</code></td>
<td class="type">
<span class="param-type"><a href="global.html#ReferenceFrame">ReferenceFrame</a></span>
</td>
<td class="description last">
The desired referenceFrame of the result.</td>
</tr>
<tr>
<td class="name"><code>result</code></td>
<td class="type">
<span class="param-type"><a href="Cartesian3.html">Cartesian3</a></span>
</td>
<td class="description last">
<span class="optional">optional</span>
The object to store the value into, if omitted, a new instance is created and returned.</td>
</tr>
</tbody>
</table>
<h5>Returns:</h5>
<div class="param-desc">
The modified result parameter or a new instance if the result parameter was not supplied.
</div>
<dl class="details">
</dl>
</article>
</section>
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.10</a>
</footer>
</div>
<div class="nav">
<div class="menu">
<input type="text" class="classFilter" id="ClassFilter" placeholder="Search">
<ul id="ClassList"><li data-name="Animation"><a href="Animation.html">Animation</a></li><li data-name="AnimationViewModel"><a href="AnimationViewModel.html">AnimationViewModel</a></li><li data-name="Appearance"><a href="Appearance.html">Appearance</a></li><li data-name="ArcGisMapServerImageryProvider"><a href="ArcGisMapServerImageryProvider.html">ArcGisMapServerImageryProvider</a></li><li data-name="ArcGISTiledElevationTerrainProvider"><a href="ArcGISTiledElevationTerrainProvider.html">ArcGISTiledElevationTerrainProvider</a></li><li data-name="ArcType"><a href="global.html#ArcType">ArcType</a></li><li data-name="AssociativeArray"><a href="AssociativeArray.html">AssociativeArray</a></li><li data-name="Axis"><a href="global.html#Axis">Axis</a></li><li data-name="AxisAlignedBoundingBox"><a href="AxisAlignedBoundingBox.html">AxisAlignedBoundingBox</a></li><li data-name="backFaceCulling"><a href="global.html#backFaceCulling">backFaceCulling</a></li><li data-name="barycentricCoordinates"><a href="global.html#barycentricCoordinates">barycentricCoordinates</a></li><li data-name="BaseLayerPicker"><a href="BaseLayerPicker.html">BaseLayerPicker</a></li><li data-name="BaseLayerPickerViewModel"><a href="BaseLayerPickerViewModel.html">BaseLayerPickerViewModel</a></li><li data-name="Billboard"><a href="Billboard.html">Billboard</a></li><li data-name="BillboardCollection"><a href="BillboardCollection.html">BillboardCollection</a></li><li data-name="BillboardGraphics"><a href="BillboardGraphics.html">BillboardGraphics</a></li><li data-name="BillboardVisualizer"><a href="BillboardVisualizer.html">BillboardVisualizer</a></li><li data-name="binarySearch"><a href="global.html#binarySearch">binarySearch</a></li><li data-name="binarySearchComparator"><a href="global.html#binarySearchComparator">binarySearchComparator</a></li><li data-name="BingMapsGeocoderService"><a href="BingMapsGeocoderService.html">BingMapsGeocoderService</a></li><li data-name="BingMapsImageryProvider"><a href="BingMapsImageryProvider.html">BingMapsImageryProvider</a></li><li data-name="BingMapsStyle"><a href="global.html#BingMapsStyle">BingMapsStyle</a></li><li data-name="BlendEquation"><a href="global.html#BlendEquation">BlendEquation</a></li><li data-name="BlendFunction"><a href="global.html#BlendFunction">BlendFunction</a></li><li data-name="BlendingState"><a href="BlendingState.html">BlendingState</a></li><li data-name="BlendOption"><a href="global.html#BlendOption">BlendOption</a></li><li data-name="BoundingRectangle"><a href="BoundingRectangle.html">BoundingRectangle</a></li><li data-name="BoundingSphere"><a href="BoundingSphere.html">BoundingSphere</a></li><li data-name="boundingSphere"><a href="global.html#boundingSphere">boundingSphere</a></li><li data-name="BoxEmitter"><a href="BoxEmitter.html">BoxEmitter</a></li><li data-name="BoxGeometry"><a href="BoxGeometry.html">BoxGeometry</a></li><li data-name="BoxGeometryUpdater"><a href="BoxGeometryUpdater.html">BoxGeometryUpdater</a></li><li data-name="BoxGraphics"><a href="BoxGraphics.html">BoxGraphics</a></li><li data-name="BoxOutlineGeometry"><a href="BoxOutlineGeometry.html">BoxOutlineGeometry</a></li><li data-name="buildModuleUrl"><a href="global.html#buildModuleUrl">buildModuleUrl</a></li><li data-name="CallbackProperty"><a href="CallbackProperty.html">CallbackProperty</a></li><li data-name="Camera"><a href="Camera.html">Camera</a></li><li data-name="CameraEventAggregator"><a href="CameraEventAggregator.html">CameraEventAggregator</a></li><li data-name="CameraEventType"><a href="global.html#CameraEventType">CameraEventType</a></li><li data-name="cancelAnimationFrame"><a href="global.html#cancelAnimationFrame">cancelAnimationFrame</a></li><li data-name="Cartesian2"><a href="Cartesian2.html">Cartesian2</a></li><li data-name="Cartesian3"><a href="Cartesian3.html">Cartesian3</a></li><li data-name="Cartesian4"><a href="Cartesian4.html">Cartesian4</a></li><li data-name="Cartographic"><a href="Cartographic.html">Cartographic</a></li><li data-name="CartographicGeocoderService"><a href="CartographicGeocoderServic
</div>
</div>
<script>
if (window.frameElement) {
document.body.className = 'embedded';
var ele = document.createElement('a');
ele.className = 'popout';
ele.target = '_blank';
ele.href = window.location.href;
ele.title = 'Pop out';
document.getElementById('main').appendChild(ele);
}
// Set targets on external links. Sandcastle and GitHub shouldn't be embedded in any iframe.
Array.prototype.forEach.call(document.getElementsByTagName('a'), function(a) {
if (/^https?:/i.test(a.getAttribute('href'))) {
a.target='_blank';
}
});
</script>
<script src="javascript/prism.js"></script>
<script src="javascript/cesiumDoc.js"></script>
</body>
</html>