struct XRPersistentAnchor
(Niantic.Lightship.AR.XRSubsystems.XRPersistentAnchor)
Overview
Describes session-relative data for an anchor.
struct XRPersistentAnchor:
ITrackable,
IEquatable< XRPersistentAnchor > {
// fields
static XRPersistentAnchor defaultValue => s_Default;
static readonly XRPersistentAnchor s_Default = new XRPersistentAnchor
{
m_Id = TrackableId.invalidId, m_Pose = Pose.identity, m_timestampMs = 0
};
TrackableId trackableId => m_Id;
Pose pose => m_Pose;
TrackingState trackingState => m_TrackingState;
TrackingStateReason trackingStateReason => m_TrackingStateReason;
XRPersistentAnchorPayload xrPersistentAnchorPayload => m_XRPersistentAnchorPayload;
UInt64 timestampMs => m_timestampMs;
IntPtr nativePtr => m_XRPersistentAnchorPayload.nativePtr;
TrackableId m_Id;
Pose m_Pose;
TrackingState m_TrackingState;
TrackingStateReason m_TrackingStateReason;
XRPersistentAnchorPayload m_XRPersistentAnchorPayload;
UInt64 m_timestampMs;
// methods
XRPersistentAnchor(
TrackableId trackableId,
Pose pose,
TrackingState trackingState,
TrackingStateReason trackingStateReason,
XRPersistentAnchorPayload xrPersistentAnchorPayload,
UInt64 timestampMs
);
XRPersistentAnchor(TrackableId trackableId);
override int GetHashCode();
bool Equals(XRPersistentAnchor other);
override bool Equals(object obj);
static bool operator == (XRPersistentAnchor lhs, XRPersistentAnchor rhs);
static bool operator != (XRPersistentAnchor lhs, XRPersistentAnchor rhs);
};
Detailed Documentation
Describes session-relative data for an anchor.
See also:
Fields
defaultValue
static XRPersistentAnchor defaultValue => s_Default
Gets a default-initialized XRPersistentAnchor. This may be different from the zero-initialized version (for example, the pose is Pose.identity instead of zero-initialized).
trackableId
TrackableId trackableId => m_Id
Get the TrackableId associated with this anchor.
pose
Pose pose => m_Pose
Get the Pose, in session space, for this anchor.
trackingState
TrackingState trackingState => m_TrackingState
Get the TrackingState of this anchor.
trackingStateReason
TrackingStateReason trackingStateReason => m_TrackingStateReason
Get the trackingStateReason of this anchor.
xrPersistentAnchorPayload
XRPersistentAnchorPayload xrPersistentAnchorPayload => m_XRPersistentAnchorPayload
The payload for this anchor
timestampMs
UInt64 timestampMs => m_timestampMs
Get the timestamp in miliseconds of the latest update for this anchor. The timestamp has the same base as the frame.
nativePtr
IntPtr nativePtr => m_XRPersistentAnchorPayload.nativePtr
A native pointer associated with the anchor. The data pointed to by this pointer is implementation-specific.
Methods
XRPersistentAnchor
XRPersistentAnchor(
TrackableId trackableId,
Pose pose,
TrackingState trackingState,
TrackingStateReason trackingStateReason,
XRPersistentAnchorPayload xrPersistentAnchorPayload,
UInt64 timestampMs
)
Constructs the session-relative data for an anchor. This is typically provided by an implementation of the XRPersistentAnchor and not invoked directly.
Parameters:
trackableId
- The TrackableId associated with this anchor.
pose
- The Pose, in session space, of the anchor.
trackingState
- The TrackingState of the anchor.
trackingStateReason
- The reason for the current tracking state.
xrPersistentAnchorPayload
- The payload associated with the anchor.
GetHashCode
override int GetHashCode()
Generates a hash suitable for use with containers like HashSet
and Dictionary
.
Returns:
A hash code generated from this object's fields.
Equals
bool Equals(XRPersistentAnchor other)
Tests for equality.
Parameters:
other
- The other XRPersistentAnchor to compare against.
Returns:
True
if every field in other is equal to this XRPersistentAnchor, otherwise false.
Equals
override bool Equals(object obj)
Tests for equality.
Parameters:
obj
- The object
to compare against.
Returns:
True
if obj is of type XRPersistentAnchor and Equals(XRPersistentAnchor) also returns true
; otherwise false
.
operator==
static bool operator == (XRPersistentAnchor lhs, XRPersistentAnchor rhs)
Tests for equality. Same as Equals(XRPersistentAnchor).
Parameters:
lhs
- The left-hand side of the comparison.
rhs
- The right-hand side of the comparison.
Returns:
True
if lhs is equal to rhs, otherwise false
.
operator!=
static bool operator != (XRPersistentAnchor lhs, XRPersistentAnchor rhs)
Tests for inequality. Same as !
Equals(XRPersistentAnchor).
Parameters:
lhs
- The left-hand side of the comparison.
rhs
- The right-hand side of the comparison.
Returns:
True
if lhs is not equal to rhs, otherwise false
.