Show / Hide Table of Contents

Class AnalysisObject

This class describes a (usually) tracked object or person.

Inheritance
System.Object
AnalysisObject
Inherited Members
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.ToString()
Namespace: IMLD.MixedRealityAnalysis.Core
Assembly: Assembly-CSharp.dll
Syntax
public class AnalysisObject

Constructors

AnalysisObject(String, Int32, ObjectType, Int32, String, Single, TimeFormat, RotationFormat, List<String>, List<Session>, Color)

Initializes a new instance of the AnalysisObject class.

Declaration
public AnalysisObject(string title, int id, ObjectType type, int parentId, string dataSource, float unitfactor, TimeFormat timeformat, RotationFormat rotationformat, List<string> conditions, List<Session> sessions, Color color)
Parameters
Type Name Description
System.String title

The name or title of this object. This is used, e.g., for labels in the visualization.

System.Int32 id

The id of this object.

ObjectType type

The ObjectType of this object.

System.Int32 parentId

The id of the parent object for this object. Should be -1 if the object has no parent.

System.String dataSource

The data source for this object. This can be used to differentiate between different sensors or tracking systems.

System.Single unitfactor

The conversion factor between the samples' unit of length and 1m.

TimeFormat timeformat

The TimeFormat for this object

RotationFormat rotationformat

The RotationFormat for this object

System.Collections.Generic.List<System.String> conditions

An ordered List of strings representing the study conditions.

System.Collections.Generic.List<Session> sessions

An ordered List of Session representing the study sessions.

UnityEngine.Color color

The default UnityEngine.Color for this object.

Fields

Id

The id of this object.

Declaration
public readonly int Id
Field Value
Type Description
System.Int32

Title

The name or title of this object. This is used, e.g., for labels in the visualization.

Declaration
public readonly string Title
Field Value
Type Description
System.String

Properties

AveragePosition

Gets the average position of all samples.

Declaration
public Vector3 AveragePosition { get; }
Property Value
Type Description
UnityEngine.Vector3

ConditionCount

Gets the number of conditions.

Declaration
public int ConditionCount { get; }
Property Value
Type Description
System.Int32

ConditionToId

Gets the System.Collections.Generic.Dictionary<TKey, TValue> mapping conditions to their ids.

Declaration
public Dictionary<string, int> ConditionToId { get; }
Property Value
Type Description
System.Collections.Generic.Dictionary<System.String, System.Int32>

HasStateData

Gets or sets a value indicating whether this object has state information connected to it. Should only be set during data import/parsing.

Declaration
public bool HasStateData { get; set; }
Property Value
Type Description
System.Boolean

IdToCondition

Gets the System.Collections.Generic.Dictionary<TKey, TValue> mapping condition ids to their conditions.

Declaration
public Dictionary<int, string> IdToCondition { get; }
Property Value
Type Description
System.Collections.Generic.Dictionary<System.Int32, System.String>

IsStatic

Gets or sets a value indicating whether this object is static. Should only be set during data import/parsing.

Declaration
public bool IsStatic { get; set; }
Property Value
Type Description
System.Boolean

LocalPosition

Gets or sets the static local position (i.e., relative to its parent) of this object. Do not use if this object is not static. Default is Vector3.zero

Declaration
public Vector3 LocalPosition { get; set; }
Property Value
Type Description
UnityEngine.Vector3

LocalRotation

Gets or sets the static local rotation (i.e., relative to its parent) of this object. Do not use if this object is not static. Default is Quaternion.identity

Declaration
public Quaternion LocalRotation { get; set; }
Property Value
Type Description
UnityEngine.Quaternion

LocalScale

Gets or sets the static local scale (i.e., relative to its parent) of this object. Do not use if this object is not static. Default is Vector3.one

Declaration
public Vector3 LocalScale { get; set; }
Property Value
Type Description
UnityEngine.Vector3

MaxX

Gets the maximum value in x direction of the position data of this object.

Declaration
public float MaxX { get; }
Property Value
Type Description
System.Single

MaxY

Gets the maximum value in y direction of the position data of this object.

Declaration
public float MaxY { get; }
Property Value
Type Description
System.Single

MaxZ

Gets the maximum value in z direction of the position data of this object.

Declaration
public float MaxZ { get; }
Property Value
Type Description
System.Single

MinX

Gets the minimum value in x direction of the position data of this object.

Declaration
public float MinX { get; }
Property Value
Type Description
System.Single

MinY

Gets the minimum value in y direction of the position data of this object.

Declaration
public float MinY { get; }
Property Value
Type Description
System.Single

MinZ

Gets the minimum value in z direction of the position data of this object.

Declaration
public float MinZ { get; }
Property Value
Type Description
System.Single

ObjectColor

Gets or sets the default object UnityEngine.Color.

Declaration
public Color ObjectColor { get; set; }
Property Value
Type Description
UnityEngine.Color

ObjectDataSource

Gets or sets the data source of this object. This can be used to differentiate between different sensors or tracking systems.

Declaration
public string ObjectDataSource { get; set; }
Property Value
Type Description
System.String

ObjectModel

Gets or sets the UnityEngine.Mesh for this object. This is used to show the object in its static position or to indicate its current position on its trajectory.

Declaration
public Mesh ObjectModel { get; set; }
Property Value
Type Description
UnityEngine.Mesh

ObjectType

Gets the ObjectType of this model.

Declaration
public ObjectType ObjectType { get; }
Property Value
Type Description
ObjectType

ParentObjectId

Gets the id of this object's parent or -1 if it has no parent.

Declaration
public int ParentObjectId { get; }
Property Value
Type Description
System.Int32

RotationFormat

Gets the RotationFormat of this object.

Declaration
public RotationFormat RotationFormat { get; }
Property Value
Type Description
RotationFormat

SessionCount

Gets the number of study sessions of this object.

Declaration
public int SessionCount { get; }
Property Value
Type Description
System.Int32

TimeFormat

Gets the TimeFormat of this object.

Declaration
public TimeFormat TimeFormat { get; }
Property Value
Type Description
TimeFormat

UnitConversionFactor

Gets the conversion factor between the samples' unit of length and 1m.

Declaration
public float UnitConversionFactor { get; }
Property Value
Type Description
System.Single

UseStaticPosition

Gets or sets a value indicating whether this object's position is static. Default is false.

Declaration
public bool UseStaticPosition { get; set; }
Property Value
Type Description
System.Boolean

UseStaticRotation

Gets or sets a value indicating whether this object's rotation is static. Default is false.

Declaration
public bool UseStaticRotation { get; set; }
Property Value
Type Description
System.Boolean

UseStaticScale

Gets or sets a value indicating whether this object's scale is static. Default is false.

Declaration
public bool UseStaticScale { get; set; }
Property Value
Type Description
System.Boolean

Methods

GetFilteredInfoObjects(Int32, Int32, Func<Sample, Sample, Boolean>)

This method returns a filtered list of data points (samples). This filtering is based on a given session id, a condition id, a starting sample id, a final sample id and a filter.

Declaration
public IEnumerable<Sample> GetFilteredInfoObjects(int session, int condition, Func<Sample, Sample, bool> filter)
Parameters
Type Name Description
System.Int32 session

The session id to filter for

System.Int32 condition

The condition id to filter for

System.Func<Sample, Sample, System.Boolean> filter

A System.Func<T1, T2, TResult> used as a filter function. It takes the current sample and the previous sample as arguments and returns true if the current sample should be included, false otherwise.

Returns
Type Description
System.Collections.Generic.IEnumerable<Sample>

An System.Collections.Generic.IEnumerable<T> of the filtered data points (samples)

GetFilteredInfoObjects(Int32, Int32, Int32, Int32, Func<Sample, Sample, Boolean>)

This method returns a filtered list of data points (samples). This filtering is based on a given session id, a condition id, a starting sample id, a final sample id and a filter.

Declaration
public IEnumerable<Sample> GetFilteredInfoObjects(int session, int condition, int firstSample, int lastSample, Func<Sample, Sample, bool> filter)
Parameters
Type Name Description
System.Int32 session

The session id to filter for

System.Int32 condition

The condition id to filter for

System.Int32 firstSample

The id of the first sample to include

System.Int32 lastSample

The id of the last sample to include

System.Func<Sample, Sample, System.Boolean> filter

A System.Func<T1, T2, TResult> used as a filter function. It takes the current sample and the previous sample as arguments and returns true if the current sample should be included, false otherwise.

Returns
Type Description
System.Collections.Generic.IEnumerable<Sample>

An System.Collections.Generic.IEnumerable<T> of the filtered data points (samples)

GetIndexFromTimestamp(Int64, Int32, Int32, Int32)

Returns the index of the data point for a given timestamp, session and condition.

Declaration
public int GetIndexFromTimestamp(long timestamp, int session, int condition, int startIndex = 0)
Parameters
Type Name Description
System.Int64 timestamp

The timestamp to use for the lookup

System.Int32 session

The session to use

System.Int32 condition

The condition to use

System.Int32 startIndex

An optional start index for the search. Use this if you are certain that the result index is larger.

Returns
Type Description
System.Int32

The index for the data point at or directly before the given timestamp or 0 if this AnalysisObject is static.

GetInfoObjects(Int32, Int32)

Returns all samples for a given session and condition.

Declaration
public List<Sample> GetInfoObjects(int session, int condition)
Parameters
Type Name Description
System.Int32 session

The study session.

System.Int32 condition

The study condition.

Returns
Type Description
System.Collections.Generic.List<Sample>

A System.Collections.Generic.List<T> of all samples for the given session and condition.

GetMaxSpeed(Int32, Int32)

Returns the maximum speed for a given session and condition.

Declaration
public float GetMaxSpeed(int session, int condition)
Parameters
Type Name Description
System.Int32 session

The study session.

System.Int32 condition

The study condition.

Returns
Type Description
System.Single

The maximum speed over all samples for the given session and condition in m/s.

GetMaxTimestamp(Int32, Int32)

Returns the last (i.e., largest) timestamp for a given session and condition

Declaration
public long GetMaxTimestamp(int session, int condition)
Parameters
Type Name Description
System.Int32 session

The study session.

System.Int32 condition

The study condition.

Returns
Type Description
System.Int64

The maximum timestamp.

GetMinTimestamp(Int32, Int32)

Returns the first (i.e., smallest) timestamp for a given session and condition

Declaration
public long GetMinTimestamp(int session, int condition)
Parameters
Type Name Description
System.Int32 session

The study session.

System.Int32 condition

The study condition.

Returns
Type Description
System.Int64

The minimum timestamp.

RecomputeBounds()

Recomputes the boundaries in the three axes directions for the samples in this object.

Declaration
public void RecomputeBounds()

SetSamplesForSessionAndCondition(List<Sample>, Int32, Int32, Single)

Sets the samples for a given session and condition.

Declaration
public void SetSamplesForSessionAndCondition(List<Sample> list, int session, int condition, float maxSpeed)
Parameters
Type Name Description
System.Collections.Generic.List<Sample> list

The list of samples.

System.Int32 session

The study session.

System.Int32 condition

The study condition.

System.Single maxSpeed

The maximum speed as precomputed.

In This Article
Back to top Generated by DocFX