Giter VIP home page Giter VIP logo

otp.js's Introduction

OTP.js Logo

OTP.js

OTP.js is a node.js library for interfacing with Object Transform Protocol (ESTA E1.59). This is an open source library, developed by Infinitus Lux, LLC, in order to allow javascript projects, such as our internal tooling, to use OTP.

Coordinate System

Space Origin Viewpoint
Proscenium Theatre Downstage Center, Stage Level Auditorium Center
Arena Center of Arena Floor Operating Position
TV Studio Center of Studio Floor Camera 1 Position
Axis Linear Positive Linear Negative Zero Degrees
X Right Left Up
Y Far Near Up
Z Up Down Far

Important Defenitions To Understand OTP

  • Octet: an 8 bit byte.
  • Point: The smallest, indivisible component having properties of motion. This may be the center of a complex Object, or merely one of many Points on it.
  • Object: A conceptual container composed of one or more Points. An Object’s motion is described via the properties of the Points that make it up.
  • Group: A user-defined collection of one or more Points. A Group could describe a single Object, many Objects, or simply a set of Points with some logical association.
  • System: A user-defined collection of one or more Groups. Systems provide part of the method of partitioning network traffic.
  • Module: A set of properties of a Point, such as its position or rotation. The data structure of a Module is either defined by this standard, or it is manufacturer-specific.
  • System Number: Each System is assigned a unique System Number, identifying the System.
  • Group Number: Each Group is assigned a Group Number, identifying the Group within its System. Group Numbers are unique within a System. That is, anything within a single System with the same Group Number belongs to the same Group. In a multi-System implementation, there may be several Groups (a maximum of one per System) with the same Group Number.
  • Point Number: Each Point is assigned a Point Number, identifying the Point. A Point Number is unique within a Group. In a multi-Group System, or a multi-System implementation, there may be many Points with the same Point Number.
  • Address: The combination of System Number, Group Number, and Point Number make up the Address which identifies a Point.
  • Reference Frame: Each Point can be assigned a single Reference Frame, which is another Point with which it shares a kinematic relationship. Transform information for the Point is relative to the Reference Frame.
  • Time Origin: The Time Origin is the point in time from which a Component’s timestamps are calculated (represented as 0 microseconds). Components may use a standard system such as Unix Time, the moment a Component initializes, or any other moment in time as the Time Origin.
  • Rotation: The circular movement or orientation of an object around a Point of rotation. For the purposes of OTP, Rotation and orientation are considered equivalent and are relative to the space defined in Section 4, or any assigned Reference Frame. There are 3 rotational axes: X,Y,Z.
  • Producer: A Producer is any network device transmitting OTP Transform Messages.
  • Consumer: A Consumer is the intended target of information from a Producer.
  • Component: Producers and Consumers are all OTP Components.
  • OTP Transform Message: An OTP Transform Message carries object transform information such as position and rotation. It is transmitted with the VECTOR_OTP_TRANSFORM_MESSAGE vector.
  • OTP Advertisement Message: An OTP Advertisement Message is any of the set of messages containing OTP Module Advertisement Messages, OTP System Advertisement Messages and OTP Name Advertisement Messages. It is transmitted with the VECTOR_OTP_ADVERTISEMENT_MESSAGE vector.
  • OTP Module Advertisement Message: An OTP Module Advertisement Message contains a packed list of the Module Identifiers of Modules supported by a Consumer. It is transmitted with the VECTOR_OTP_ADVERTISEMENT_MODULE vector.
  • OTP System Advertisement Message: An OTP System Advertisement Message contains a packed list of the System Numbers for which Producer provides object transform data. It is transmitted with the VECTOR_OTP_ADVERTISEMENT_SYSTEM vector.
  • OTP Name Advertisement Message: An OTP Name Advertisement Message contains a packed list of the Point Names and associated Addresses for a Producer. It is transmitted with the VECTOR_OTP_ADVERTISEMENT_NAME vector.
  • OTP Message: An OTP Message is any of the set of messages containing OTP Transform Messages and OTP Advertisement Messages.
  • OTP Folio: An OTP Folio is a set of OTP Messages with the same folio number. Together they make up a snapshot of information which due to its size has to be split across multiple messages.
  • Full Point Set: A Full Point Set for a Producer includes every Point for a specific System for which a Producer is currently providing transform information.

License

OTP.js is licensed under the MIT license, this means that you are free to do with it as you please. I'd love to see what kind of cool stuff folks come up with.

© Infinitus Lux, LLC 2022

otp.js's People

Contributors

hfreni avatar

Stargazers

Scott K. Tusing avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.