holoride
Search Results for

    Show / Hide Table of Contents

    Namespace Holoride.ElasticSDK

    Classes

    BufferPair<T>

    A pair of equally sized CPU and GPU buffers.

    BufferPairExtensions

    CacheAnnotatedMethodsAttribute

    CacheSubTypesAttribute

    CollectionExtensions

    Utility extensions for collections.

    ContextProviderAttribute

    Declares that the annotated IContextProvider provides the context type specified in this attribute.

    This is used to automatically attach instances of this provider to systems that execute a Pipeline consuming the context provided by this provider.

    DataProviderWorker<TDataType>

    The worker with a back reference to the node. Represents the result of the different evaluations of structs.

    DefaultRequestAttribute

    The class implementing this interface is the default subtype. A random subtype is returned in the undefined case of multiple IDefault implementations of the same base type.

    ElasticObjectPoolDefaultSettings

    ElasticObjectPoolManager

    Default object pooling implementation using the PooledObject component to mark prefabs for object pooling.

    ElasticObjectPoolSettings

    ElasticSceneGenerator

    This class produces a realized scene from a Graph.ElasticSceneDefinitionNode for the current Player location (specified via GenerationOrigin). In addition to running any spawners in the defined scene definition, this entails generation of a Terrain if a height map has been specified.

    During movement of the player, the generator takes care that the generated terrain and any spawned objects get refreshed. For the terrain, this means re-creating the current terrain area when the player moves past a threshold. For spawned objects, this means updating their spawners, so they may discard instances that have gone out of range and instantiate new spawn candidates that have come in range.

    The TerrainGenerator maintains all the basic information about the terrain like the different resolutions of the heightmap, the alphamaps, the base map and the spawn areas. Also the general extents of the resulting terrain are defined here.

    ExtensibleObject<TBase>

    Derived objects can be extended by fields and functions. Extending classes need to be derivations from Supertype.

    FileUtils

    FixedPositionStateReceiverBackend

    FloatingPlatform

    FrameBudgetTask

    Provides frame budget observing tasks.

    GenerationContext

    Contains the immutable meta-information of a single update iteration. Will be discarded when the update is done but can be kept by functions that need information about former iterations - such as async operations that may last longer than an update period.

    GenerationSettings

    Contains immutable data that cannot be changed during the whole generation loop.

    GenerationState

    Contains the current state of the generation process and will be updated over time.

    GlobalSettings

    Contains globally accessible values.

    Holofile

    Asset representation of a .holo file.

    InitializeAfterSingletonsMethodAttribute

    IntervalAttribute

    Controls the property drawer for Interval fields.

    KeyValuePairExtensions

    LocalizationEvents

    Maneuver

    Representation of possible maneuvers.

    MapUtils

    A collection of useful map functions.

    MapWorker

    Represents the result of the different evaluation of a 2D float buffer, based on the used filter implementation, through accessing the ram/v-ram. Also manages compute shader calls.

    MeshUtils

    MovingGrid<T>

    A data structure that provides a two-dimensional local grid of cells with reference to a global position. The grid position is intended to move and therefore free all cells that don't overlap with the target area.

    NewtonsoftJsonVulnFix

    NullStateReceiverBackend

    A backend that does nothing. Useful as an override to disable automatic backend behavior, e.g. when running tests.

    PatternDescriptorProperties<T>

    This class defines additional PatternDescriptorProperties.

    Pipeline

    A Pipeline consists of a list of IPipelineWorker that consecutively process the data in each generation update phase.

    Pipeline.CyclicGraphException

    Pipeline.MissingInputException

    PipelineWorkerBase

    Player

    The data obtained by the vehicle sensors.

    Player.VehicleLocalizationStatusUnityEvent

    PooledObject

    Component used to mark GameObjects as poolable by the ElasticObjectPoolManager, and with which settings to pool them.

    The settings are grabbed from the original prefab. On instances of the prefab, this component is used to track the pool the instance originated from, so that it can be returned to it on release.

    PoseSetWorker

    A worker that can be added to a Pipeline in order to generate a list of GlobalPoses during the phase.

    PrefabInstantiationContext

    Context common to all prefab instantiation implementations, exposing them to IPipelineWorkers.

    RasterizationUtils

    A collection of useful rasterization helpers.

    RecenterOffsetManager

    Access to current recenter offset, i.e. the delta between headset forward direction and vehicle forward direction.

    This is relevant for headsets using 3-DoF tracking, since their tracking frame of reference is not local to the vehicle (as opposed to 6-dof), but in the same global space as the vehicle itself.

    We manage this offset manually to ensure consistent compatibility across different headsets. For some there is no event to be notified when the user caused a system-driven recenter, for others there is no API to trigger a system-driven recenter.

    This manages the application local recenter offset, which may be different to the global recenter offset shared across multiple applications. This is due to the fact that the application of the recenter offset depends on localization data, specifically the vehicle heading. While the vehicle heading is not available, we must operate in an application local state, to still allow users to recenter.

    As such, we must be able to operate in the two states "heading available" and "heading unavailable". For the former, behavior is trivial, since we can apply new global recenter offset directly (sent from either drift mitigation, system driven user recenter logic, user recenter in other applications) and directly apply new global offset values.

    The "heading unavailable" state is more complex, as it introduces the need for temporary, local recenter offset values, while still:

    • keeping the last received global recenter offset so it can be applied as soon as global vehicle heading is available.
    • keeping the local vehicle heading when applying a local recenter offset so we can compute the delta to the global recenter offset as soon as global vehicle heading is available.

    Once global vehicle heading becomes available, we can transform the pending global or local recenter offset, depending on which one is more recent:

    • local to global: add delta of local vehicle heading at time of setting local recenter offset to global vehicle heading.
    • global to local: instantly apply pending global recenter offset.
    The intuition here is that the global vehicle heading will be used once available, so the local heading "snaps" to the the global one, and as such any values computed in relation to it have to be adjusted as well. Whereas the global recenter offset is already in relation to the global vehicle heading.

    Replay

    A replay is a generic representation of some recorded data that may be used to simulate a ride.

    ReplayStateReceiverBackend

    Receives .holo file state.

    ReplayStream

    Base implementation for IReplayStream taking care of some boilerplate.

    RequireGenerationContextAttribute

    Used to annotate workers which require some implementation of IGenerationContext.

    This is used to only generate and compute these context implementations when any node in the graph actually uses them.

    RingBufferFilter<T>

    Uses a queue to Shift: For every enqueued value, dequeue is called until the maxSampleCount is reached.

    Route

    The base class for routes.

    RouteFromAddresses

    Calls the specified Holoride.ElasticSDK.IRequest to query a route between two or more addresses.

    RouteGeometryBender

    Bends the given renderer and collision mesh along the route spline, after it got spawned by a RouteIntervalSpawner.

    RouteSegments

    A route segment defining spawn intervals.

    RouteTraveller

    Controls the movement of the GameObject along the route.

    RuntimeInitializeAfterSingletonsMethodAttribute

    SensorDataInterpolator

    Utility class used to interpolate sensor data e.g. when data frequency is too low for the current frame rate, which may result in stutters otherwise.

    ServiceStateReceiverBackend

    Connector for receiving localization data the holoride service.

    SharedGeoCoordinate

    A SharedGeoCoordinate that can be used to synchronize pivot depending objects.

    Singleton<T>

    SingletonBase

    SparseCellDataStructure<TSourceKey, TDataValue>

    An hierarchical dataValue structure to store dataValues.

    SpawnCandidate

    A spawn candidate is asynchronously created on every terrain update covering the full extents of the TerrainCanvas. As the player gets closer to the candidate than the extents of the spawner, the actual GameObject is instantiated. By deriving from this class, information can be passed from the DefinePoses to the CreateObject method of the Spawner.

    SpawnCandidateStructure<TSource>

    An hierarchical data structure to store spawn candidates.

    SpawnerWorker

    The base class to spawn objects.

    Spline

    A spline class to provide infinitesimal pose information on a path defined by discrete positions.

    StateReceiver

    This is the central data source for localization data and any other data provided by StateReceiverBackends.

    StateReceiverBackend

    Backend implementation for the StateReceiver.

    Implementations of this class represent connections to actual underlying data sources for vehicle localization etc. These may either we be annotated with StateReceiverBackendAttribute to be automatically added to the StateReceiver, or can be added via the inspector.

    StateReceiverBackendAttribute

    Implementations of StateReceiverBackend annotated with this attribute will be made available in the StateReceiver. Alternatively, providers can be manually assigned in the StateReceiver.

    StateReceiverBackendSelector

    Manages the StateReceiverBackend assigned to CurrentBackend.

    StateReceiverEventListenerAdapter

    StateRecorder

    Utility component that can be used to record state received by StateReceiverBackends into a file that may later be used for playing the state back using the ReplayStateReceiverBackend. Recording is automatically stopped when the component is disabled.

    StringUnityEvent

    TerrainCanvas

    Once it is created by the ElasticSceneGenerator the TerrainCanvas takes care of all the different steps, that need to be done to create the terrain. Traversing over all filter trees to evaluate and generate the height-, texture- and spawnArea maps and creating the actual Terrain out of precomputed terrainData.

    TerrainGenerationSettings

    Contains immutable data that cannot be changed during the whole generation loop regarding terrain specific features.

    TerrainGenerationState

    The GenerationContext extension for terrain-related generation.

    TickBasedMeshPool

    This class provides a pool of meshes that assumes most meshes are requested when needed and all are returned after being used.

    TileAreaDescription

    Manages the distribution of tiles of a certain zoom level within the given bounds.

    TileDataCache

    Utilities for interacting with the application's tiled data cache.

    TileDataCacheFormatVersionAttribute

    TileDataManager<T>

    Manages the loading and unloading of data tiles.

    TileDataService

    TileDataService<T>

    Downloads and caches tiles to the hard drive.

    TileDataServiceConfiguration

    Groups configuration values passed to TileDataService<T> instances used when running a Pipeline. Different configuration values may be used in a regular pipeline run versus tests, editor tooling and so on.

    TileDataServiceConfigurationUtils

    TileImageServiceRoadMask

    Downloads RoadMask tiles and deserializes them into textures.

    TileTextureManager

    The base class of a TileTextureManager holds all important information about the tiles that should get downloaded. Resulting from the zoom level and the tile position it creates the correct key to download the correct tile.

    TypeCacheSingleton

    TypeExtensions

    UniTaskUtils

    Utility calls to workaround some UniTask inconveniences.

    Utils

    A collection of useful functions without a specific object context.

    Vector3Extensions

    Various extension methods for the Vector3 type.

    WorkerGroupAttribute

    Allows grouping workers into named groups.

    This is used to limit the maximum count of some particular node type in graphs, for example.

    WorldShiftManager

    This class moves all transforms generated by the ElasticSceneGenerator, under any listed Holoride.ElasticSDK.WorldShiftManager.ShiftParents as well as the Player towards the center of the coordinate system.

    This shift is mandatory to prevent floating point inaccuracies when moving along real world localization data that is mapped to engine units.

    WorldShiftManager.OriginShiftEvent

    Implements a special case of a UnityEvent as a OriginShiftEvent. The first template argument is the shift vector all objects are moved along.

    Structs

    GeoCoordinate

    Stores latitude, longitude and altitude of a geo coordinate and performs conversion to cartesian.

    GlobalBounds

    Creates min and max latitude and longitude to define an area. Mind that this area is not a square or a rectangle on the earth surface. However, smaller areas which are closer to the equator approximate a rectangular shape.

    GlobalPose

    Stores a position with double precision and a look rotation.

    GlobalPosition

    A vector3 representation that supports double precision.

    Holofile.Record

    Single record of a .holo file.

    Interval

    Defines an interval.

    SpeedSegment

    Segments along the route defined by the distance and speed category.

    TravelInformationState

    The TravelInformation state contains information based on the current location and route driven such as the estimated time to arrival.

    VehicleSensorState

    The data obtained by the vehicle sensors.

    Interfaces

    IContextProvider

    Contract of MonoBehaviours that act as context providers.

    Context providers offer a means of flexibly registering additional context types with systems that execute Pipelines, such as the Elastic Scene Generator.

    Workers may indicate that they require a specific context using the RequireGenerationContextAttribute. If a context provider is using the ContextProviderAttribute, it will may be automatically added to systems that execute Pipelines requiring the context they provide.

    IElasticObjectPoolSettings

    IExecutionPriority

    IGenerationContext

    The interface to extend the GenerationContext from other modules.

    IGenerationState

    The interface to extend the GenerationState from other modules.

    IPatternDescriptor<T>

    The interface to define a PatternDescriptor for pattern recognition.

    IPipelineAssembler

    Assembles a pipeline and connects depending input workers.

    IPipelineContainer

    Can be implemented by MonoBehaviors to provide a Pipeline for external use, e.g. to show respective node previews.

    IPipelineNode

    A node that generates a PipelineWorker.

    IPipelineWorker

    An interface to define an element of a pipeline with its lifecycle methods and Inputs.

    IPrefabInstantiationProvider

    Contract for a prefab instantiation strategy.

    Implementations of this interface must be MonoBehaviours attached to the ElasticSceneGenerator and provide a PrefabInstantiationContext to the pipeline to be used by IPipelineWorkers that need to instantiate prefabs.

    IPreprocessingGenerationContext

    Specialization of IGenerationContext with callbacks for (asynchronous) initialization prior to a Pipeline run.

    IRecenterOffsetManagerBackend

    Platform specific implementation details of the RecenterOffsetManager.

    IReplayStream

    A IReplayStream allows iterating over an underlying Replay implementation in a well-defined manner.

    ISettingsProvider

    Contract of MonoBehaviours that act as settings providers.

    Settings providers offer a means of flexibly registering additional setting extensions with the GenerationSettings used in a Pipeline.

    ISharedGeoCoordinate

    A shared GeoCoordinate that can be used to synchronize pivot depending objects.

    IShiftParent

    IStateReceiverListener

    IStateReceiverLocalizationEventListener

    ITileDataProvider<T>

    Defines an interface to request tile data.

    ITileDataService<T>

    Downloads and caches tiles to the hard drive.

    Enums

    DataRegion

    LoadResourceResult

    The type of a resource load operation.

    LocalizationMode

    Maneuver.ActionType

    Defines the different actions of a maneuver.

    Maneuver.DirectionType

    Defines the different directions of a maneuver.

    RasterizationUtils.DrawStyle

    SpeedCategory

    Major speed categories.

    StateReceiverBackendAttribute.Platform

    StateReceiverInitializationError

    Error states that may occur during StateReceiver initialization, typically while connecting to a required service.

    StateReceiverState

    The possible global states of the StateReceiver.

    VehicleLocalizationStatus

    Different types of vehicle localization state.

    Delegates

    SparseCellDataStructure<TSourceKey, TDataValue>.DataValueToCellKeyDelegate

    The function delegate to convert a dataValue into a cell key.

    SpawnCandidateStructure<TSource>.PositionToCellKeyDelegate

    The function delegate to convert a position into a cell key.

    StateReceiver.BackendChangedHandler

    Event handler for the OnBackendChanged event. Takes a StateReceiverBackend argument.

    In This Article

    Back to top
    ©   holoride
    Privacy   Imprint