Interface IAttachmentPoint
Opaque handle to an attachment point. Create one of these to enable WorldLocking to adjust an attached object as corrections to the world locked space optimization are made.
Namespace: Microsoft.MixedReality.WorldLocking.Core
Assembly: cs.temp.dll.dll
Syntax
public interface IAttachmentPoint
Remarks
The attachment point gives an interface for notifying the system that you have moved the attached object, and the system indicates that it has computed an adjustment for the object through the callbacks passed into the creation routine. Alternatively, polling is also supported through the State and ObjectAdjustment accessors.
Properties
AnchorId
Associated anchor id
Declaration
AnchorId AnchorId { get; }
Property Value
Type | Description |
---|---|
AnchorId |
CachedPosition
Internal history cache.
Declaration
Vector3 CachedPosition { get; }
Property Value
Type | Description |
---|---|
Vector3 |
FragmentId
Associated fragment id
Declaration
FragmentId FragmentId { get; }
Property Value
Type | Description |
---|---|
FragmentId |
LocationFromAnchor
Position of attachment point in anchor point's space.
Declaration
Vector3 LocationFromAnchor { get; }
Property Value
Type | Description |
---|---|
Vector3 |
Name
Name is auto-populated on create with something unique, but can be renamed to anything useful and convenient. It is only used as a label, so can be anything (including empty or null).
Declaration
string Name { get; set; }
Property Value
Type | Description |
---|---|
String |
ObjectAdjustment
Cumulative transform adjustment for object(s) bound to this attachment point.
Declaration
Pose ObjectAdjustment { get; }
Property Value
Type | Description |
---|---|
Pose |
ObjectPosition
The position of object(s) bound to this attachment point.
Declaration
Vector3 ObjectPosition { get; }
Property Value
Type | Description |
---|---|
Vector3 |
State
Current state of this attachment point.
Declaration
AttachmentPointStateType State { get; }
Property Value
Type | Description |
---|---|
AttachmentPointStateType |
Remarks
Positioning information is only valid when state is Normal. See AttachmentPointStateType
Methods
MoveTo(IAttachmentPointManager, Vector3)
Notify attachment point that it has moved incrementally to a new position.
Declaration
void MoveTo(IAttachmentPointManager manager, Vector3 newFrozenPosition)
Parameters
Type | Name | Description |
---|---|---|
IAttachmentPointManager | manager | The mananger |
Vector3 | newFrozenPosition | The new position |
Remarks
This should be used for conceptually continuous motion. For discontinuous motion (i.e. teleport), use TeleportTo(IAttachmentPointManager, Vector3, IAttachmentPoint). This is equivalent to MoveAttachmentPoint(IAttachmentPoint, Vector3)
TeleportTo(IAttachmentPointManager, Vector3, IAttachmentPoint)
Notify attachment point that it has teleported to a new position.
Declaration
void TeleportTo(IAttachmentPointManager manager, Vector3 newFrozenPosition, IAttachmentPoint context)
Parameters
Type | Name | Description |
---|---|---|
IAttachmentPointManager | manager | The manager |
Vector3 | newFrozenPosition | The new position |
IAttachmentPoint | context | The context into which to teleport. Can be null. CreateAttachmentPoint(Vector3, IAttachmentPoint, AdjustLocationDelegate, AdjustStateDelegate) |
Remarks
This should be used for discontinuous movement, i.e. teleporting. For continuous motion, use MoveTo(IAttachmentPointManager, Vector3). This is equivalent to TeleportAttachmentPoint(IAttachmentPoint, Vector3, IAttachmentPoint)