... | ... | @@ -24,6 +24,7 @@ Even though the zones defined by their respective tethering distances overlap, t |
|
|
By moving object **A** closer to object **B**, object **A** detects that a potentially **tetherable** object is within its tethering distance. Object **A** initiates the tethering process by perform a handshake with object **B** in order to find out whether it is ready and willing to be *tied* to object **A**. If this is the case, the link between the two objects will be established, visually shown by a **Tether** being displayed between the two objects. Objects **A** and **B** may be moved and the shown **Tether** will follow along as long as the relative distance between **A** and **B** is smaller than **A**'s tethering distance. If this distance is exceeded, then the Tether is *torn down* and both objects are no longer *tied* together.
|
|
|
|
|
|
## Tetherable
|
|
|
The following are the common properties that all tetherable objects share:
|
|
|
|
|
|
<div align="center">
|
|
|
<figure>
|
... | ... | @@ -31,3 +32,8 @@ By moving object **A** closer to object **B**, object **A** detects that a poten |
|
|
<figcaption>Fig. 3 - Thetherable properties</figcaption>
|
|
|
</figure>
|
|
|
</div>
|
|
|
|
|
|
* The **mandatory** **`distance`** property defines the radius of the tethering zone for this particular tetherable object. An optional **`state`** property allows specifying in which [coordinate system](authoring/Point) the distance is expressed.
|
|
|
* The optional **`originOffset`** defines the spatial offset for the tether origin, which, if not specified sits on the objects origin itself. The **`originOffset`** property might be used, for instance, to move the *sensitive* part of a pointing object to the tip of the physical object.
|
|
|
* The optional **`tetherOffsetAngle`**
|
|
|
* The optional **`exclusive`** flag specifies whether this **tetherable** object can be tied to more than one object, or, whether it accepts only a single one. |
|
|
\ No newline at end of file |