docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Class MARSDatabase

    The central store for world data and traits in MARS.

    Inheritance
    object
    MARSDatabase
    Implements
    IModuleMarsUpdate
    IModule
    IUsesCameraOffset
    IFunctionalitySubscriber<IProvidesCameraOffset>
    IUsesCameraPose
    IFunctionalitySubscriber<IProvidesCameraPose>
    IFunctionalitySubscriber
    Inherited Members
    object.Equals(object)
    object.Equals(object, object)
    object.GetHashCode()
    object.GetType()
    object.MemberwiseClone()
    object.ReferenceEquals(object, object)
    object.ToString()
    Namespace: Unity.MARS.Data
    Assembly: Unity.MARS.dll
    Syntax
    [ModuleOrder(1073741823)]
    [ModuleUnloadOrder(1073741823)]
    public class MARSDatabase : IModuleMarsUpdate, IModule, IUsesCameraOffset, IFunctionalitySubscriber<IProvidesCameraOffset>, IUsesCameraPose, IFunctionalitySubscriber<IProvidesCameraPose>, IFunctionalitySubscriber

    Fields

    MinimumPassingConditionRating

    So that conditions which barely pass have a more than negligible effect on the total match rating, we have a minimum value that a passing condition should be rated

    Declaration
    public const float MinimumPassingConditionRating = 0.05
    Field Value
    Type Description
    float

    MinimumRatingMinusOne

    Used in linear interpolation going from 1 to the minimum rating in place of (to - from)

    Declaration
    public const float MinimumRatingMinusOne = -0.95
    Field Value
    Type Description
    float

    Properties

    bodyData

    Declaration
    public MARSTrackableDataProvider<IMarsBody> bodyData { get; protected set; }
    Property Value
    Type Description
    MARSTrackableDataProvider<IMarsBody>

    faceData

    Declaration
    public MARSTrackableDataProvider<IMRFace> faceData { get; protected set; }
    Property Value
    Type Description
    MARSTrackableDataProvider<IMRFace>

    markerData

    Declaration
    public MARSTrackableDataProvider<MRMarker> markerData { get; protected set; }
    Property Value
    Type Description
    MARSTrackableDataProvider<MRMarker>

    planeData

    Declaration
    public MARSTrackableDataProvider<MRPlane> planeData { get; protected set; }
    Property Value
    Type Description
    MARSTrackableDataProvider<MRPlane>

    referencePointData

    Declaration
    public MARSTrackableDataProvider<MRReferencePoint> referencePointData { get; protected set; }
    Property Value
    Type Description
    MARSTrackableDataProvider<MRReferencePoint>

    synthesizedObjectData

    Declaration
    public MARSDataProvider<SynthesizedObject> synthesizedObjectData { get; protected set; }
    Property Value
    Type Description
    MARSDataProvider<SynthesizedObject>

    Methods

    Clear()

    Declaration
    public void Clear()

    IsSetQueryDataDirty(QueryMatchID)

    Declaration
    public bool IsSetQueryDataDirty(QueryMatchID queryMatchId)
    Parameters
    Type Name Description
    QueryMatchID queryMatchId
    Returns
    Type Description
    bool

    MarkDataUsedForUpdates(int, QueryMatchID, Exclusivity)

    Declaration
    public void MarkDataUsedForUpdates(int dataID, QueryMatchID queryMatchID, Exclusivity exclusivity)
    Parameters
    Type Name Description
    int dataID
    QueryMatchID queryMatchID
    Exclusivity exclusivity

    MarkSetDataUsedForUpdates(QueryMatchID, HashSet<int>)

    Declaration
    public void MarkSetDataUsedForUpdates(QueryMatchID queryMatchId, HashSet<int> data)
    Parameters
    Type Name Description
    QueryMatchID queryMatchId
    HashSet<int> data

    OnBehaviorDestroy()

    (Obsolete) callback is no longer used

    Declaration
    [Obsolete("callback is no longer used")]
    public void OnBehaviorDestroy()

    OnBehaviorDisable()

    (Obsolete) callback is no longer used

    Declaration
    [Obsolete("callback is no longer used")]
    public void OnBehaviorDisable()

    OnMarsUpdate()

    Called at fixed intervals while the MARS lifecycle is running

    Declaration
    public void OnMarsUpdate()

    QueryDataDirty(QueryMatchID)

    Declaration
    public bool QueryDataDirty(QueryMatchID queryMatchID)
    Parameters
    Type Name Description
    QueryMatchID queryMatchID
    Returns
    Type Description
    bool

    RateConditionMatches<T>(ICondition<T>[], MARSTraitDataProvider<T>, List<Dictionary<int, float>>)

    Declaration
    public bool RateConditionMatches<T>(ICondition<T>[] conditions, MARSTraitDataProvider<T> traitProvider, List<Dictionary<int, float>> preAllocatedRatingStorage)
    Parameters
    Type Name Description
    ICondition<T>[] conditions
    MARSTraitDataProvider<T> traitProvider
    List<Dictionary<int, float>> preAllocatedRatingStorage
    Returns
    Type Description
    bool
    Type Parameters
    Name Description
    T

    TryUpdateQueryMatchData(int, ProxyConditions, ProxyTraitRequirements, QueryResult)

    See if the value for a given data ID still meets a set of Conditions

    Declaration
    public bool TryUpdateQueryMatchData(int dataID, ProxyConditions conditions, ProxyTraitRequirements requirements, QueryResult result)
    Parameters
    Type Name Description
    int dataID

    The id of the data value to check

    ProxyConditions conditions

    The conditions to evaluate against

    ProxyTraitRequirements requirements

    Trait requirements for meeting the condition

    QueryResult result

    The Query result to fill out with updated values

    Returns
    Type Description
    bool

    True if the query data still matches, false otherwise

    TryUpdateSetQueryMatchData(SetMatchData, Relations, SetQueryResult, bool)

    Declaration
    public bool TryUpdateSetQueryMatchData(SetMatchData data, Relations relations, SetQueryResult result, bool failOnNonRequiredChildren = false)
    Parameters
    Type Name Description
    SetMatchData data
    Relations relations
    SetQueryResult result
    bool failOnNonRequiredChildren
    Returns
    Type Description
    bool

    UnmarkDataUsedForUpdates(QueryMatchID)

    Declaration
    public void UnmarkDataUsedForUpdates(QueryMatchID queryMatchID)
    Parameters
    Type Name Description
    QueryMatchID queryMatchID

    UnmarkPartialSetDataUsedForUpdates(QueryMatchID, ICollection<IMRObject>)

    Declaration
    public void UnmarkPartialSetDataUsedForUpdates(QueryMatchID queryMatchId, ICollection<IMRObject> childrenToUnmark)
    Parameters
    Type Name Description
    QueryMatchID queryMatchId
    ICollection<IMRObject> childrenToUnmark

    UnmarkSetDataUsedForUpdates(QueryMatchID)

    Declaration
    public void UnmarkSetDataUsedForUpdates(QueryMatchID queryMatchId)
    Parameters
    Type Name Description
    QueryMatchID queryMatchId

    Events

    dataUpdating

    Editor Only action used by the database viewer, not available at runtime.

    Declaration
    public static event Action dataUpdating
    Event Type
    Type Description
    Action

    Implements

    IModuleMarsUpdate
    Unity.XRTools.ModuleLoader.IModule
    IUsesCameraOffset
    Unity.XRTools.ModuleLoader.IFunctionalitySubscriber<TProvider>
    IUsesCameraPose
    Unity.XRTools.ModuleLoader.IFunctionalitySubscriber<TProvider>
    Unity.XRTools.ModuleLoader.IFunctionalitySubscriber

    Extension Methods

    CameraOffsetExtensions.PoseToCameraSpace(IUsesCameraOffset, Pose, Vector3)
    IUsesCameraOffsetMethods.ApplyInverseOffsetToDirection(IUsesCameraOffset, Vector3)
    IUsesCameraOffsetMethods.ApplyInverseOffsetToPose(IUsesCameraOffset, Pose)
    IUsesCameraOffsetMethods.ApplyInverseOffsetToPosition(IUsesCameraOffset, Vector3)
    IUsesCameraOffsetMethods.ApplyInverseOffsetToRotation(IUsesCameraOffset, Quaternion)
    IUsesCameraOffsetMethods.ApplyOffsetToDirection(IUsesCameraOffset, Vector3)
    IUsesCameraOffsetMethods.ApplyOffsetToPose(IUsesCameraOffset, Pose)
    IUsesCameraOffsetMethods.ApplyOffsetToPosition(IUsesCameraOffset, Vector3)
    IUsesCameraOffsetMethods.ApplyOffsetToRotation(IUsesCameraOffset, Quaternion)
    IUsesCameraOffsetMethods.GetCameraOffsetMatrix(IUsesCameraOffset)
    IUsesCameraOffsetMethods.GetCameraPositionOffset(IUsesCameraOffset)
    IUsesCameraOffsetMethods.GetCameraScale(IUsesCameraOffset)
    IUsesCameraOffsetMethods.GetCameraYawOffset(IUsesCameraOffset)
    IUsesCameraOffsetMethods.SetCameraPositionOffset(IUsesCameraOffset, Vector3)
    IUsesCameraOffsetMethods.SetCameraScale(IUsesCameraOffset, float)
    IUsesCameraOffsetMethods.SetCameraYawOffset(IUsesCameraOffset, float)
    IUsesCameraPoseMethods.GetPose(IUsesCameraPose)
    IUsesCameraPoseMethods.SubscribePoseUpdated(IUsesCameraPose, Action<Pose>)
    IUsesCameraPoseMethods.SubscribeTrackingTypeChanged(IUsesCameraPose, Action<MRCameraTrackingState>)
    IUsesCameraPoseMethods.UnsubscribePoseUpdated(IUsesCameraPose, Action<Pose>)
    IUsesCameraPoseMethods.UnsubscribeTrackingTypeChanged(IUsesCameraPose, Action<MRCameraTrackingState>)
    In This Article
    Back to top
    Copyright © 2025 Unity Technologies — Trademarks and terms of use
    • Legal
    • Privacy Policy
    • Cookie Policy
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)