@dronedeploy/rocos-js-sdk 1.0.0-alpha-2 → 2.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/IRocosSDK.js +5 -1
- package/README.md +0 -18
- package/RocosSDK.js +95 -93
- package/api/StreamRegister.d.ts +1 -1
- package/api/StreamRegister.js +12 -23
- package/api/atoms/StreamHeartbeat.js +7 -3
- package/api/streams/caller/CallerStream.d.ts +6 -6
- package/api/streams/caller/CallerStream.js +49 -41
- package/api/streams/caller/CallerStreamAbstract.d.ts +11 -6
- package/api/streams/caller/CallerStreamAbstract.js +67 -55
- package/api/streams/caller/CallerStreamNode.d.ts +6 -6
- package/api/streams/caller/CallerStreamNode.js +61 -48
- package/api/streams/command/CommandStream.d.ts +4 -2
- package/api/streams/command/CommandStream.js +30 -28
- package/api/streams/command/CommandStreamAbstract.d.ts +8 -4
- package/api/streams/command/CommandStreamAbstract.js +42 -33
- package/api/streams/command/CommandStreamNode.d.ts +4 -2
- package/api/streams/command/CommandStreamNode.js +40 -16
- package/api/streams/control/ControlStream.d.ts +6 -4
- package/api/streams/control/ControlStream.js +36 -30
- package/api/streams/control/ControlStreamAbstract.d.ts +9 -6
- package/api/streams/control/ControlStreamAbstract.js +54 -57
- package/api/streams/control/ControlStreamNode.d.ts +5 -3
- package/api/streams/control/ControlStreamNode.js +44 -19
- package/api/streams/fileAccessor/FileAccessorStream.d.ts +4 -2
- package/api/streams/fileAccessor/FileAccessorStream.js +57 -42
- package/api/streams/fileAccessor/FileAccessorStreamAbstract.d.ts +9 -4
- package/api/streams/fileAccessor/FileAccessorStreamAbstract.js +48 -28
- package/api/streams/fileAccessor/FileAccessorStreamNode.d.ts +3 -1
- package/api/streams/fileAccessor/FileAccessorStreamNode.js +53 -23
- package/api/streams/search/SearchStream.d.ts +5 -2
- package/api/streams/search/SearchStream.js +74 -50
- package/api/streams/search/SearchStreamAbstract.d.ts +9 -4
- package/api/streams/search/SearchStreamAbstract.js +35 -33
- package/api/streams/search/SearchStreamNode.d.ts +5 -2
- package/api/streams/search/SearchStreamNode.js +48 -23
- package/api/streams/telemetry/TelemetryStream.d.ts +4 -4
- package/api/streams/telemetry/TelemetryStream.js +78 -49
- package/api/streams/telemetry/TelemetryStreamAbstract.d.ts +11 -8
- package/api/streams/telemetry/TelemetryStreamAbstract.js +145 -126
- package/api/streams/telemetry/TelemetryStreamNode.d.ts +5 -5
- package/api/streams/telemetry/TelemetryStreamNode.js +64 -44
- package/api/streams/webRTCSignalling/WebRTCSignallingStream.d.ts +10 -5
- package/api/streams/webRTCSignalling/WebRTCSignallingStream.js +20 -37
- package/api/streams/webRTCSignalling/WebRTCSignallingStreamAbstract.d.ts +13 -10
- package/api/streams/webRTCSignalling/WebRTCSignallingStreamAbstract.js +37 -37
- package/constants/api.d.ts +1 -6
- package/constants/api.js +126 -126
- package/constants/grpc.js +8 -5
- package/constants/identifier.js +9 -6
- package/constants/timezones.d.ts +1 -1
- package/constants/timezones.js +4 -1
- package/demo/angular/.editorconfig +16 -0
- package/demo/angular/.eslintignore +4 -0
- package/demo/angular/.eslintrc.json +50 -0
- package/demo/angular/README.md +36 -0
- package/demo/angular/angular.json +132 -0
- package/demo/angular/karma.conf.js +44 -0
- package/demo/angular/package.json +41 -0
- package/demo/angular/src/app/app.component.css +0 -0
- package/demo/angular/src/app/app.component.html +9 -0
- package/demo/angular/src/app/app.component.ts +10 -0
- package/demo/angular/src/app/app.module.ts +38 -0
- package/demo/angular/src/app/components/assets/assets.component.css +0 -0
- package/demo/angular/src/app/components/assets/assets.component.html +29 -0
- package/demo/angular/src/app/components/assets/assets.component.ts +107 -0
- package/demo/angular/src/app/components/auth/auth.component.css +0 -0
- package/demo/angular/src/app/components/auth/auth.component.html +27 -0
- package/demo/angular/src/app/components/auth/auth.component.ts +33 -0
- package/demo/angular/src/app/components/caller/caller.component.css +0 -0
- package/demo/angular/src/app/components/caller/caller.component.html +22 -0
- package/demo/angular/src/app/components/caller/caller.component.ts +61 -0
- package/demo/angular/src/app/components/command/command.component.css +0 -0
- package/demo/angular/src/app/components/command/command.component.html +22 -0
- package/demo/angular/src/app/components/command/command.component.ts +60 -0
- package/demo/angular/src/app/components/integrations/integrations.component.ts +43 -0
- package/demo/angular/src/app/components/robots/robots.component.css +0 -0
- package/demo/angular/src/app/components/robots/robots.component.html +13 -0
- package/demo/angular/src/app/components/robots/robots.component.ts +26 -0
- package/demo/angular/src/app/components/sdk/sdk.component.css +0 -0
- package/demo/angular/src/app/components/sdk/sdk.component.html +43 -0
- package/demo/angular/src/app/components/sdk/sdk.component.ts +50 -0
- package/demo/angular/src/app/components/subscription/subscription.component.css +0 -0
- package/demo/angular/src/app/components/subscription/subscription.component.html +6 -0
- package/demo/angular/src/app/components/subscription/subscription.component.ts +40 -0
- package/demo/angular/src/app/components/telemetry/telemetry.component.css +0 -0
- package/demo/angular/src/app/components/telemetry/telemetry.component.html +19 -0
- package/demo/angular/src/app/components/telemetry/telemetry.component.ts +61 -0
- package/demo/angular/src/app/components/token/token.component.css +0 -0
- package/demo/angular/src/app/components/token/token.component.html +10 -0
- package/demo/angular/src/app/components/token/token.component.ts +18 -0
- package/demo/angular/src/app/components/video/p2pvideo/index.ts +646 -0
- package/demo/angular/src/app/components/video/video-source.ts +315 -0
- package/demo/angular/src/app/components/video/video.component.css +6 -0
- package/demo/angular/src/app/components/video/video.component.html +54 -0
- package/demo/angular/src/app/components/video/video.component.ts +151 -0
- package/demo/angular/src/app/services/sdk.service.ts +193 -0
- package/demo/angular/src/assets/.gitkeep +0 -0
- package/demo/angular/src/assets/HKGrotesk-Bold.otf +0 -0
- package/demo/angular/src/assets/HKGrotesk-Regular.otf +0 -0
- package/demo/angular/src/assets/logo.svg +16 -0
- package/demo/angular/src/environments/environment.prod.ts +3 -0
- package/demo/angular/src/environments/environment.ts +16 -0
- package/demo/angular/src/favicon.ico +0 -0
- package/demo/angular/src/index.html +15 -0
- package/demo/angular/src/main.ts +7 -0
- package/demo/angular/src/polyfills.ts +53 -0
- package/demo/angular/src/styles.css +198 -0
- package/demo/angular/tsconfig.app.json +15 -0
- package/demo/angular/tsconfig.json +39 -0
- package/demo/html/README.md +8 -0
- package/demo/html/assets/HKGrotesk-Bold.otf +0 -0
- package/demo/html/assets/HKGrotesk-Regular.otf +0 -0
- package/demo/html/assets/logo.svg +16 -0
- package/demo/html/favicon.ico +0 -0
- package/demo/html/index.html +416 -0
- package/demo/html/rocos-js-sdk.js +3 -0
- package/demo/html/rocos-js-sdk.js.LICENSE.txt +8 -0
- package/demo/html/rocos-js-sdk.js.map +1 -0
- package/demo/html/styles.css +190 -0
- package/demo/node/README.md +17 -0
- package/demo/node/index.js +134 -0
- package/demo/node/package.json +8 -0
- package/demo/react/.env +1 -0
- package/demo/react/.env.dist +1 -0
- package/demo/react/.eslintrc.json +46 -0
- package/demo/react/README.md +65 -0
- package/demo/react/package.json +60 -0
- package/demo/react/public/favicon.ico +0 -0
- package/demo/react/public/index.html +43 -0
- package/demo/react/public/logo192.png +0 -0
- package/demo/react/public/logo512.png +0 -0
- package/demo/react/public/manifest.json +25 -0
- package/demo/react/public/robots.txt +3 -0
- package/demo/react/src/App.css +190 -0
- package/demo/react/src/App.tsx +31 -0
- package/demo/react/src/actions/index.ts +8 -0
- package/demo/react/src/actions/sdkActions.ts +62 -0
- package/demo/react/src/assets/HKGrotesk-Bold.otf +0 -0
- package/demo/react/src/assets/HKGrotesk-Regular.otf +0 -0
- package/demo/react/src/assets/logo.svg +16 -0
- package/demo/react/src/components/AuthForm.tsx +76 -0
- package/demo/react/src/components/CallerBox.tsx +53 -0
- package/demo/react/src/components/CallerForm.tsx +98 -0
- package/demo/react/src/components/CommandBox.tsx +47 -0
- package/demo/react/src/components/CommandForm.tsx +98 -0
- package/demo/react/src/components/RobotsForm.tsx +51 -0
- package/demo/react/src/components/SubscriptionBox.tsx +55 -0
- package/demo/react/src/components/TelemetryForm.tsx +98 -0
- package/demo/react/src/components/TokenForm.tsx +39 -0
- package/demo/react/src/config.json +14 -0
- package/demo/react/src/controllers/RocosSDKController.ts +48 -0
- package/demo/react/src/helpers/deepEqual.ts +27 -0
- package/demo/react/src/hooks/useInput.ts +29 -0
- package/demo/react/src/index.css +11 -0
- package/demo/react/src/index.tsx +26 -0
- package/demo/react/src/react-app-env.d.ts +1 -0
- package/demo/react/src/reducers/sdkReducer.ts +133 -0
- package/demo/react/src/reportWebVitals.ts +15 -0
- package/demo/react/src/selectors/sdkSelector.ts +11 -0
- package/demo/react/src/setupTests.ts +5 -0
- package/demo/react/src/store.ts +14 -0
- package/demo/react/tsconfig.json +26 -0
- package/demo/sdk-sizer/dist/sdk-sizer/3rdpartylicenses.txt +975 -0
- package/demo/sdk-sizer/dist/sdk-sizer/favicon.ico +0 -0
- package/demo/sdk-sizer/dist/sdk-sizer/index.html +12 -0
- package/demo/sdk-sizer/dist/sdk-sizer/main.c9183649ce1856ef.js +2 -0
- package/demo/sdk-sizer/dist/sdk-sizer/main.c9183649ce1856ef.js.map +1 -0
- package/demo/sdk-sizer/dist/sdk-sizer/polyfills.701c8e5d007909aa.js +2 -0
- package/demo/sdk-sizer/dist/sdk-sizer/polyfills.701c8e5d007909aa.js.map +1 -0
- package/demo/sdk-sizer/dist/sdk-sizer/runtime.00e20e689f5284a8.js +2 -0
- package/demo/sdk-sizer/dist/sdk-sizer/runtime.00e20e689f5284a8.js.map +1 -0
- package/demo/sdk-sizer/dist/sdk-sizer/stats.json +1 -0
- package/demo/sdk-sizer/dist/sdk-sizer/styles.b45f7e627ac8cbce.css +2 -0
- package/demo/sdk-sizer/dist/sdk-sizer/styles.b45f7e627ac8cbce.css.map +1 -0
- package/grpc/file-accessor/filagree_grpc_pb.d.ts +41 -0
- package/grpc/file-accessor/filagree_grpc_pb.js +121 -0
- package/grpc/file-accessor/filagree_pb.d.ts +339 -0
- package/grpc/file-accessor/filagree_pb.js +2261 -0
- package/grpc/file-accessor/filagree_pb_service.d.ts +115 -0
- package/grpc/file-accessor/filagree_pb_service.js +257 -0
- package/grpc/rambo/rambo.v1_grpc_pb.d.ts +39 -0
- package/grpc/rambo/rambo.v1_grpc_pb.js +73 -0
- package/grpc/rambo/rambo.v1_pb.d.ts +365 -0
- package/grpc/rambo/rambo.v1_pb.js +2469 -0
- package/grpc/rambo/rambo.v1_pb_service.d.ts +76 -0
- package/grpc/rambo/rambo.v1_pb_service.js +138 -0
- package/grpc/rambo/uri.v1_grpc_pb.d.ts +1 -0
- package/grpc/rambo/uri.v1_grpc_pb.js +1 -0
- package/grpc/rambo/uri.v1_pb.d.ts +80 -0
- package/grpc/rambo/uri.v1_pb.js +563 -0
- package/grpc/rambo/uri.v1_pb_service.d.ts +3 -0
- package/grpc/rambo/uri.v1_pb_service.js +3 -0
- package/grpc/robot-control/conker_grpc_pb.d.ts +46 -0
- package/grpc/robot-control/conker_grpc_pb.js +143 -0
- package/grpc/robot-control/conker_pb.d.ts +168 -0
- package/grpc/robot-control/conker_pb.js +1287 -0
- package/grpc/robot-control/conker_pb_service.d.ts +126 -0
- package/grpc/robot-control/conker_pb_service.js +301 -0
- package/grpc/serviette/common.v1_grpc_pb.d.ts +1 -0
- package/grpc/serviette/common.v1_grpc_pb.js +1 -0
- package/grpc/serviette/common.v1_pb.d.ts +8 -0
- package/grpc/serviette/common.v1_pb.js +45 -0
- package/grpc/serviette/common.v1_pb_service.d.ts +3 -0
- package/grpc/serviette/common.v1_pb_service.js +3 -0
- package/grpc/serviette/serviette.v1_grpc_pb.d.ts +137 -0
- package/grpc/serviette/serviette.v1_grpc_pb.js +331 -0
- package/grpc/serviette/serviette.v1_pb.d.ts +884 -0
- package/grpc/serviette/serviette.v1_pb.js +6363 -0
- package/grpc/serviette/serviette.v1_pb_service.d.ts +278 -0
- package/grpc/serviette/serviette.v1_pb_service.js +699 -0
- package/grpc/serviette/uri.v1_grpc_pb.d.ts +1 -0
- package/grpc/serviette/uri.v1_grpc_pb.js +1 -0
- package/grpc/serviette/uri.v1_pb.d.ts +102 -0
- package/grpc/serviette/uri.v1_pb.js +741 -0
- package/grpc/serviette/uri.v1_pb_service.d.ts +3 -0
- package/grpc/serviette/uri.v1_pb_service.js +3 -0
- package/grpc/slowlane/slowlane_grpc_pb.d.ts +38 -0
- package/grpc/slowlane/slowlane_grpc_pb.js +132 -0
- package/grpc/slowlane/slowlane_pb.d.ts +373 -0
- package/grpc/slowlane/slowlane_pb.js +2908 -0
- package/grpc/slowlane/slowlane_pb_service.d.ts +112 -0
- package/grpc/slowlane/slowlane_pb_service.js +189 -0
- package/grpc/teletubby/teletubby_grpc_pb.d.ts +73 -0
- package/grpc/teletubby/teletubby_grpc_pb.js +231 -0
- package/grpc/teletubby/teletubby_pb.d.ts +647 -0
- package/grpc/teletubby/teletubby_pb.js +4786 -0
- package/grpc/teletubby/teletubby_pb_service.d.ts +193 -0
- package/grpc/teletubby/teletubby_pb_service.js +436 -0
- package/grpc/video/pigeon_grpc_pb.d.ts +59 -0
- package/grpc/video/pigeon_grpc_pb.js +180 -0
- package/grpc/video/pigeon_pb.d.ts +237 -0
- package/grpc/video/pigeon_pb.js +1775 -0
- package/grpc/video/pigeon_pb_service.d.ts +152 -0
- package/grpc/video/pigeon_pb_service.js +292 -0
- package/helpers/arrayRemove.js +6 -2
- package/helpers/arrayUnique.js +6 -2
- package/helpers/average.js +7 -2
- package/helpers/cleanObject.js +19 -17
- package/helpers/enviroment.js +11 -4
- package/helpers/flattenCallsignsLookup.d.ts +1 -1
- package/helpers/flattenCallsignsLookup.js +5 -1
- package/helpers/flattenObject.js +5 -1
- package/helpers/formatServiceUrl.js +5 -1
- package/helpers/generateUUID.js +7 -3
- package/helpers/getSubscriptionsDifference.d.ts +3 -3
- package/helpers/getSubscriptionsDifference.js +10 -6
- package/helpers/getUniqueConfigKey.js +6 -1
- package/helpers/getUniqueId.js +7 -3
- package/helpers/getUnixTimeMs.js +5 -1
- package/helpers/index.d.ts +1 -1
- package/helpers/index.js +15 -3
- package/helpers/nanosecondToMillisecond.d.ts +1 -1
- package/helpers/nanosecondToMillisecond.js +6 -5
- package/helpers/randomString.js +5 -1
- package/helpers/standardDeviation.js +8 -4
- package/helpers/stringToUint8Array.js +7 -3
- package/helpers/uint8ArrayToString.js +8 -3
- package/index.js +19 -7
- package/logger/RocosLogger.js +44 -18
- package/models/ExportDataQuery.js +5 -1
- package/models/ExternalProject.js +5 -1
- package/models/IBaseService.d.ts +0 -1
- package/models/IBaseService.js +2 -1
- package/models/IConfigGroup.js +2 -1
- package/models/IDebugLevel.d.ts +1 -1
- package/models/IDebugLevel.js +2 -1
- package/models/IExportDataQuery.js +2 -1
- package/models/IFunctionConfig.js +2 -1
- package/models/IInvitation.d.ts +1 -1
- package/models/IInvitation.js +2 -1
- package/models/IInvitationExists.js +2 -1
- package/models/IOperation.js +2 -1
- package/models/IPersonalAccessToken.js +2 -1
- package/models/IProject.js +2 -1
- package/models/IProjectApplication.js +2 -1
- package/models/IRobot.d.ts +0 -1
- package/models/IRobot.js +2 -1
- package/models/IRobotConfig.js +2 -1
- package/models/IRobotPlugin.js +2 -1
- package/models/IRobotTemplate.js +2 -1
- package/models/IRocosSDKConfig.d.ts +9 -3
- package/models/IRocosSDKConfig.js +2 -1
- package/models/ISignupParams.d.ts +8 -0
- package/models/ISignupParams.js +2 -0
- package/models/ISource.js +2 -1
- package/models/IStream.js +2 -1
- package/models/IStreamConfig.js +2 -1
- package/models/IStreamOptions.js +2 -1
- package/models/IStreamSource.js +2 -1
- package/models/ISubscriberStatus.js +2 -1
- package/models/ITelemetryStreamConfig.js +2 -1
- package/models/IToken.d.ts +3 -7
- package/models/IToken.js +2 -1
- package/models/IWidget.js +2 -1
- package/models/IWidgetLineGroup.js +2 -1
- package/models/ResponseLevelEnum.d.ts +0 -4
- package/models/ResponseLevelEnum.js +5 -6
- package/models/Robot.d.ts +0 -1
- package/models/Robot.js +5 -1
- package/models/RobotConfig.js +5 -1
- package/models/RobotPlugin.js +5 -1
- package/models/RobotTemplate.js +14 -9
- package/models/RocosError.js +6 -2
- package/models/ServiceEnum.js +5 -2
- package/models/Stream.js +8 -4
- package/models/StreamOptions.js +5 -1
- package/models/StreamSource.js +7 -3
- package/models/SubscriberStatusEnum.js +5 -2
- package/models/Token.d.ts +4 -36
- package/models/Token.js +11 -74
- package/models/Widget.js +8 -4
- package/models/WidgetLineGroup.js +5 -1
- package/models/asset-storage/AssetModelItem.js +2 -1
- package/models/caller/IRocosCallerMessageChunk.d.ts +2 -3
- package/models/caller/IRocosCallerMessageChunk.js +2 -1
- package/models/caller/IRocosCallerMessageChunks.d.ts +3 -2
- package/models/caller/IRocosCallerMessageChunks.js +2 -1
- package/models/caller/IRocosCallerMessageHeartbeat.d.ts +2 -3
- package/models/caller/IRocosCallerMessageHeartbeat.js +2 -1
- package/models/caller/IRocosCallerMessageResponse.d.ts +2 -3
- package/models/caller/IRocosCallerMessageResponse.js +2 -1
- package/models/caller/IRocosCallerMessageResponseAck.d.ts +2 -16
- package/models/caller/IRocosCallerMessageResponseAck.js +2 -13
- package/models/caller/IRocosCallerMessageResponseResult.d.ts +2 -15
- package/models/caller/IRocosCallerMessageResponseResult.js +2 -12
- package/models/caller/IRocosCallerMessageResponseUid.d.ts +2 -10
- package/models/caller/IRocosCallerMessageResponseUid.js +2 -7
- package/models/caller/IRocosCallerMessageResponses.d.ts +3 -2
- package/models/caller/IRocosCallerMessageResponses.js +2 -1
- package/models/caller/RocosCallerResultStatus.d.ts +1 -11
- package/models/caller/RocosCallerResultStatus.js +5 -12
- package/models/callsigns/CallsignsEnums.d.ts +3 -3
- package/models/callsigns/CallsignsEnums.js +14 -11
- package/models/callsigns/CallsignsLookup.js +15 -10
- package/models/callsigns/CallsignsQuery.js +5 -1
- package/models/callsigns/CallsignsQueryPredicate.js +5 -1
- package/models/command/IRocosCommandMessageHeartbeat.d.ts +2 -1
- package/models/command/IRocosCommandMessageHeartbeat.js +2 -1
- package/models/command/IRocosCommandMessageResponse.d.ts +2 -55
- package/models/command/IRocosCommandMessageResponse.js +2 -29
- package/models/command/RocosCommandResultStatus.d.ts +1 -11
- package/models/command/RocosCommandResultStatus.js +5 -12
- package/models/file/FileEnums.d.ts +4 -4
- package/models/file/FileEnums.js +12 -9
- package/models/index.d.ts +31 -5
- package/models/index.js +113 -75
- package/models/integrations/Overlay.js +2 -1
- package/models/integrations/Plan.js +2 -1
- package/models/maps/Map.d.ts +0 -1
- package/models/maps/Map.js +2 -1
- package/models/message/IRocosCallerMessage.js +2 -1
- package/models/message/IRocosChangeMessage.js +2 -1
- package/models/message/IRocosCommandMessage.js +2 -1
- package/models/message/IRocosControlMessage.js +2 -1
- package/models/message/IRocosOpResultMessage.d.ts +2 -2
- package/models/message/IRocosOpResultMessage.js +2 -1
- package/models/message/IRocosSearchMessage.js +2 -1
- package/models/message/IRocosSearchRowMessage.js +2 -1
- package/models/message/IRocosSearchStatusMessage.js +2 -1
- package/models/message/IRocosTelemetryMessage.d.ts +7 -12
- package/models/message/IRocosTelemetryMessage.js +2 -1
- package/models/message/IStreamStatusMessage.js +2 -1
- package/models/message/RocosCallerMessage.d.ts +4 -2
- package/models/message/RocosCallerMessage.js +15 -24
- package/models/message/RocosCommandMessage.d.ts +3 -2
- package/models/message/RocosCommandMessage.js +8 -5
- package/models/message/RocosControlMessage.d.ts +1 -1
- package/models/message/RocosControlMessage.js +10 -6
- package/models/message/RocosOpResultMessage.d.ts +2 -3
- package/models/message/RocosOpResultMessage.js +10 -6
- package/models/message/RocosSearchMessage.d.ts +1 -1
- package/models/message/RocosSearchMessage.js +9 -5
- package/models/message/RocosSearchRowMessage.d.ts +1 -1
- package/models/message/RocosSearchRowMessage.js +12 -8
- package/models/message/RocosTelemetryMessage.d.ts +23 -9
- package/models/message/RocosTelemetryMessage.js +93 -51
- package/models/params/ICallerParams.d.ts +1 -2
- package/models/params/ICallerParams.js +2 -1
- package/models/params/ICommandParams.js +2 -1
- package/models/params/IControlParams.d.ts +1 -1
- package/models/params/IControlParams.js +2 -1
- package/models/params/IFileAccessorParams.js +2 -1
- package/models/params/ISearchParams.js +2 -1
- package/models/params/ITelemetryParams.d.ts +1 -1
- package/models/params/ITelemetryParams.js +2 -1
- package/models/params/IWebRTCSignallingParams.js +2 -1
- package/models/projects/ProjectUser.js +2 -1
- package/models/schedule/IScheduleAction.d.ts +1 -1
- package/models/schedule/IScheduleAction.js +5 -2
- package/models/schedule/IScheduleInfo.js +2 -1
- package/models/schedule/IScheduleJob.js +2 -1
- package/models/search/SearchQueryFilter.js +5 -1
- package/models/search/SearchStreamQuery.js +5 -1
- package/models/stream/IBaseStream.js +2 -1
- package/models/stream/ICallerStream.js +2 -1
- package/models/stream/ICommandStream.js +2 -1
- package/models/stream/IControlStream.js +2 -1
- package/models/stream/IFileAccessorStream.d.ts +2 -1
- package/models/stream/IFileAccessorStream.js +2 -1
- package/models/stream/ISearchStream.js +2 -1
- package/models/stream/ITelemetryStream.js +2 -1
- package/models/stream/IWebRTCSignallingStream.d.ts +16 -51
- package/models/stream/IWebRTCSignallingStream.js +7 -1
- package/models/types.d.ts +5 -5
- package/models/types.js +2 -1
- package/node/RocosSDKNode.js +80 -75
- package/node/index.js +19 -7
- package/package.json +9 -6
- package/services/AssetStorageService.d.ts +0 -7
- package/services/AssetStorageService.js +24 -29
- package/services/AuthService.d.ts +27 -59
- package/services/AuthService.js +86 -167
- package/services/BaseServiceAbstract.d.ts +13 -11
- package/services/BaseServiceAbstract.js +19 -17
- package/services/CallerService.d.ts +17 -5
- package/services/CallerService.js +65 -22
- package/services/CallerServiceNode.js +8 -4
- package/services/CommandService.d.ts +17 -5
- package/services/CommandService.js +62 -19
- package/services/CommandServiceNode.js +8 -4
- package/services/ConfigGroupService.js +21 -17
- package/services/ControlService.d.ts +17 -5
- package/services/ControlService.js +65 -22
- package/services/ControlServiceNode.js +8 -4
- package/services/DashboardService.js +24 -20
- package/services/EventService.js +17 -13
- package/services/FileAccessorService.d.ts +18 -4
- package/services/FileAccessorService.js +62 -14
- package/services/FileAccessorServiceNode.js +8 -4
- package/services/FunctionService.js +21 -17
- package/services/IntegrationService.js +19 -14
- package/services/MapService.d.ts +23 -36
- package/services/MapService.js +40 -70
- package/services/PlatformTimeService.js +12 -8
- package/services/ProfileService.js +40 -36
- package/services/ProjectService.js +27 -23
- package/services/RobotService.d.ts +6 -2
- package/services/RobotService.js +55 -48
- package/services/ScheduleService.js +14 -10
- package/services/SearchService.d.ts +17 -4
- package/services/SearchService.js +59 -24
- package/services/SearchServiceNode.js +8 -4
- package/services/SpotProvisioningService.d.ts +1 -1
- package/services/SpotProvisioningService.js +16 -16
- package/services/SpotProvisioningServiceNode.d.ts +1 -1
- package/services/SpotProvisioningServiceNode.js +16 -16
- package/services/StreamService.js +30 -26
- package/services/TelemetryService.d.ts +17 -14
- package/services/TelemetryService.js +93 -91
- package/services/TelemetryServiceNode.js +8 -4
- package/services/TimeSyncerService.js +13 -9
- package/services/UserService.js +41 -37
- package/services/WebRTCSignallingService.d.ts +4 -4
- package/services/WebRTCSignallingService.js +27 -24
- package/services/WorkflowService.js +20 -16
- package/services/index.js +38 -26
- package/store/RocosStore.js +15 -9
- package/utils/axisangle.d.ts +18 -0
- package/utils/axisangle.js +48 -0
- package/utils/eulerangles.d.ts +22 -0
- package/utils/eulerangles.js +133 -0
- package/utils/helperfunctions.d.ts +5 -0
- package/utils/helperfunctions.js +50 -0
- package/utils/localtransform.d.ts +17 -0
- package/utils/localtransform.js +50 -0
- package/utils/localtransformtree.d.ts +17 -0
- package/utils/localtransformtree.js +88 -0
- package/utils/misc.d.ts +17 -0
- package/utils/misc.js +23 -0
- package/utils/positionvector.d.ts +13 -0
- package/utils/positionvector.js +79 -0
- package/utils/quaternion.d.ts +20 -0
- package/utils/quaternion.js +62 -0
- package/utils/rotationmatrix.d.ts +23 -0
- package/utils/rotationmatrix.js +262 -0
- package/utils/transformationmatrix.d.ts +12 -0
- package/utils/transformationmatrix.js +123 -0
- package/utils/vector3.d.ts +11 -0
- package/utils/vector3.js +61 -0
- package/constants/auth.d.ts +0 -2
- package/constants/auth.js +0 -2
- package/grpc/conker_pb.client.d.ts +0 -78
- package/grpc/conker_pb.client.js +0 -55
- package/grpc/conker_pb.d.ts +0 -141
- package/grpc/conker_pb.grpc-client.d.ts +0 -81
- package/grpc/conker_pb.grpc-client.js +0 -58
- package/grpc/conker_pb.js +0 -104
- package/grpc/filagree_pb.client.d.ts +0 -68
- package/grpc/filagree_pb.client.js +0 -48
- package/grpc/filagree_pb.d.ts +0 -404
- package/grpc/filagree_pb.grpc-client.d.ts +0 -69
- package/grpc/filagree_pb.grpc-client.js +0 -51
- package/grpc/filagree_pb.js +0 -329
- package/grpc/google/protobuf/descriptor_pb.d.ts +0 -1798
- package/grpc/google/protobuf/descriptor_pb.js +0 -2378
- package/grpc/google/protobuf/empty_pb.d.ts +0 -23
- package/grpc/google/protobuf/empty_pb.js +0 -47
- package/grpc/pigeon_pb.client.d.ts +0 -96
- package/grpc/pigeon_pb.client.js +0 -72
- package/grpc/pigeon_pb.d.ts +0 -207
- package/grpc/pigeon_pb.grpc-client.d.ts +0 -98
- package/grpc/pigeon_pb.grpc-client.js +0 -68
- package/grpc/pigeon_pb.js +0 -144
- package/grpc/rambo.uri.v1_pb.d.ts +0 -73
- package/grpc/rambo.uri.v1_pb.js +0 -48
- package/grpc/rambo.v1_pb.client.d.ts +0 -66
- package/grpc/rambo.v1_pb.client.js +0 -48
- package/grpc/rambo.v1_pb.d.ts +0 -392
- package/grpc/rambo.v1_pb.grpc-client.d.ts +0 -56
- package/grpc/rambo.v1_pb.grpc-client.js +0 -44
- package/grpc/rambo.v1_pb.js +0 -272
- package/grpc/serviette.uri.v1_pb.d.ts +0 -89
- package/grpc/serviette.uri.v1_pb.js +0 -62
- package/grpc/serviette.v1_pb.client.d.ts +0 -225
- package/grpc/serviette.v1_pb.client.js +0 -174
- package/grpc/serviette.v1_pb.d.ts +0 -827
- package/grpc/serviette.v1_pb.grpc-client.d.ts +0 -215
- package/grpc/serviette.v1_pb.grpc-client.js +0 -162
- package/grpc/serviette.v1_pb.js +0 -553
- package/grpc/slowlane_pb.client.d.ts +0 -61
- package/grpc/slowlane_pb.client.js +0 -41
- package/grpc/slowlane_pb.d.ts +0 -303
- package/grpc/slowlane_pb.grpc-client.d.ts +0 -64
- package/grpc/slowlane_pb.grpc-client.js +0 -44
- package/grpc/slowlane_pb.js +0 -185
- package/grpc/teletubby_pb.client.d.ts +0 -145
- package/grpc/teletubby_pb.client.js +0 -104
- package/grpc/teletubby_pb.d.ts +0 -634
- package/grpc/teletubby_pb.grpc-client.d.ts +0 -152
- package/grpc/teletubby_pb.grpc-client.js +0 -100
- package/grpc/teletubby_pb.js +0 -1264
- package/helpers/cleanObject.spec.d.ts +0 -1
- package/helpers/cleanObject.spec.js +0 -53
- package/helpers/flattenObject.spec.d.ts +0 -1
- package/helpers/flattenObject.spec.js +0 -29
- package/helpers/flattenOneOf.d.ts +0 -67
- package/helpers/flattenOneOf.js +0 -29
- package/helpers/flattenOneOf.spec.d.ts +0 -1
- package/helpers/flattenOneOf.spec.js +0 -157
- package/helpers/formatServiceUrl.spec.d.ts +0 -1
- package/helpers/formatServiceUrl.spec.js +0 -16
- package/helpers/standardDeviation.spec.d.ts +0 -1
- package/helpers/standardDeviation.spec.js +0 -11
- package/models/CallsignStatus.d.ts +0 -6
- package/models/CallsignStatus.js +0 -7
- package/models/IRobotSettings.d.ts +0 -28
- package/models/IRobotSettings.js +0 -1
- package/models/Token.spec.d.ts +0 -1
- package/models/Token.spec.js +0 -108
- package/models/caller/IRocosCallerMessageResponseReturn.d.ts +0 -8
- package/models/caller/IRocosCallerMessageResponseReturn.js +0 -1
- package/models/caller/RocosResponseLevel.d.ts +0 -6
- package/models/caller/RocosResponseLevel.js +0 -7
- package/models/caller/index.d.ts +0 -10
- package/models/caller/index.js +0 -10
- package/models/command/index.d.ts +0 -4
- package/models/command/index.js +0 -4
- package/models/message/index.d.ts +0 -17
- package/models/message/index.js +0 -17
- package/services/AuthService.spec.d.ts +0 -1
- package/services/AuthService.spec.js +0 -163
- package/services/BaseStreamService.d.ts +0 -18
- package/services/BaseStreamService.js +0 -47
- package/services/PlatformTimeService.spec.d.ts +0 -1
- package/services/PlatformTimeService.spec.js +0 -180
- package/services/TelemetryService.spec.d.ts +0 -1
- package/services/TelemetryService.spec.js +0 -37
|
@@ -1,17 +1,19 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.WebRTCSignallingService = void 0;
|
|
4
|
+
const identifier_1 = require("../constants/identifier");
|
|
5
|
+
const RocosLogger_1 = require("../logger/RocosLogger");
|
|
6
|
+
const RocosStore_1 = require("../store/RocosStore");
|
|
7
|
+
const StreamRegister_1 = require("../api/StreamRegister");
|
|
8
|
+
const rxjs_1 = require("rxjs");
|
|
9
|
+
const SubscriberStatusEnum_1 = require("../models/SubscriberStatusEnum");
|
|
10
|
+
const WebRTCSignallingStream_1 = require("../api/streams/webRTCSignalling/WebRTCSignallingStream");
|
|
11
|
+
class WebRTCSignallingService {
|
|
9
12
|
constructor(config) {
|
|
10
13
|
this.status = false;
|
|
11
|
-
this.status$ = new Subject();
|
|
14
|
+
this.status$ = new rxjs_1.Subject();
|
|
12
15
|
this.config = config;
|
|
13
|
-
this.logger = RocosLogger.getInstance(`WebRTCSignallingService(${this.config.url})`);
|
|
14
|
-
RocosStore.getSDKInstance(this.config).getAuthService().startTokenRefreshChecker();
|
|
16
|
+
this.logger = RocosLogger_1.RocosLogger.getInstance(`WebRTCSignallingService(${this.config.url})`);
|
|
15
17
|
}
|
|
16
18
|
getStatus() {
|
|
17
19
|
return this.status;
|
|
@@ -20,22 +22,22 @@ export class WebRTCSignallingService {
|
|
|
20
22
|
const stream = await this.createSignallingStream();
|
|
21
23
|
return stream.connectOperator(request);
|
|
22
24
|
}
|
|
23
|
-
async getDetails(request) {
|
|
25
|
+
async getDetails(request, callback) {
|
|
24
26
|
const stream = await this.createSignallingStream();
|
|
25
|
-
return stream.getDetails(request);
|
|
27
|
+
return stream.getDetails(request, callback);
|
|
26
28
|
}
|
|
27
|
-
async offerConnection(request) {
|
|
29
|
+
async offerConnection(request, callback) {
|
|
28
30
|
const stream = await this.createSignallingStream();
|
|
29
|
-
return stream.offerConnection(request);
|
|
31
|
+
return stream.offerConnection(request, callback);
|
|
30
32
|
}
|
|
31
|
-
async addIceCandidate(request) {
|
|
33
|
+
async addIceCandidate(request, callback) {
|
|
32
34
|
const stream = await this.createSignallingStream();
|
|
33
|
-
|
|
35
|
+
stream.addIceCandidate(request, callback);
|
|
34
36
|
}
|
|
35
37
|
async createSignallingStream() {
|
|
36
38
|
const scope = 'default';
|
|
37
|
-
const identifier = StreamRegister.getIdentifier(IDENTIFIER_NAME_COMMAND, scope);
|
|
38
|
-
const streamRegister = StreamRegister.getInstance();
|
|
39
|
+
const identifier = StreamRegister_1.StreamRegister.getIdentifier(identifier_1.IDENTIFIER_NAME_COMMAND, scope);
|
|
40
|
+
const streamRegister = StreamRegister_1.StreamRegister.getInstance();
|
|
39
41
|
let stream = streamRegister.getStream(identifier);
|
|
40
42
|
if (!stream) {
|
|
41
43
|
stream = this.getStream({
|
|
@@ -47,7 +49,7 @@ export class WebRTCSignallingService {
|
|
|
47
49
|
insecure: this.config.insecure,
|
|
48
50
|
});
|
|
49
51
|
stream.statusStream$.subscribe((msg) => {
|
|
50
|
-
this.status = msg === SubscriberStatusEnum.STOPPED || msg === SubscriberStatusEnum.ALIVE;
|
|
52
|
+
this.status = msg === SubscriberStatusEnum_1.SubscriberStatusEnum.STOPPED || msg === SubscriberStatusEnum_1.SubscriberStatusEnum.ALIVE;
|
|
51
53
|
this.status$.next(msg);
|
|
52
54
|
});
|
|
53
55
|
// don't wait for these promises, they can be init after startup
|
|
@@ -60,10 +62,10 @@ export class WebRTCSignallingService {
|
|
|
60
62
|
// an async callback to set the stream token in case one was not set at startup
|
|
61
63
|
if (!this.config.token) {
|
|
62
64
|
try {
|
|
63
|
-
const authService = RocosStore.getSDKInstance(this.config).getAuthService();
|
|
65
|
+
const authService = RocosStore_1.RocosStore.getSDKInstance(this.config).getAuthService();
|
|
64
66
|
const token = await authService.getToken();
|
|
65
|
-
if (token
|
|
66
|
-
this.config.token = token
|
|
67
|
+
if (token === null || token === void 0 ? void 0 : token.value) {
|
|
68
|
+
this.config.token = token === null || token === void 0 ? void 0 : token.value;
|
|
67
69
|
stream.setToken(this.config.token);
|
|
68
70
|
}
|
|
69
71
|
}
|
|
@@ -73,6 +75,7 @@ export class WebRTCSignallingService {
|
|
|
73
75
|
}
|
|
74
76
|
}
|
|
75
77
|
getStream(config) {
|
|
76
|
-
return new WebRTCSignallingStream(config);
|
|
78
|
+
return new WebRTCSignallingStream_1.WebRTCSignallingStream(config);
|
|
77
79
|
}
|
|
78
80
|
}
|
|
81
|
+
exports.WebRTCSignallingService = WebRTCSignallingService;
|
|
@@ -1,15 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.WorkflowService = void 0;
|
|
4
|
+
const api_1 = require("../constants/api");
|
|
5
|
+
const RocosError_1 = require("../models/RocosError");
|
|
6
|
+
const BaseServiceAbstract_1 = require("./BaseServiceAbstract");
|
|
7
|
+
const RocosLogger_1 = require("../logger/RocosLogger");
|
|
8
|
+
const formatServiceUrl_1 = require("../helpers/formatServiceUrl");
|
|
9
|
+
class WorkflowService extends BaseServiceAbstract_1.BaseServiceAbstract {
|
|
7
10
|
constructor(config) {
|
|
8
11
|
super(config);
|
|
9
|
-
this.logger = RocosLogger.getInstance(`WorkflowService(${this.config.url})`);
|
|
12
|
+
this.logger = RocosLogger_1.RocosLogger.getInstance(`WorkflowService(${this.config.url})`);
|
|
10
13
|
}
|
|
11
14
|
getError(e) {
|
|
12
|
-
return new RocosError(e, errorCodes.WORKFLOW_SERVICE_ERROR);
|
|
15
|
+
return new RocosError_1.RocosError(e, RocosError_1.errorCodes.WORKFLOW_SERVICE_ERROR);
|
|
13
16
|
}
|
|
14
17
|
getStatus() {
|
|
15
18
|
return true;
|
|
@@ -24,7 +27,7 @@ export class WorkflowService extends BaseServiceAbstract {
|
|
|
24
27
|
// TODO: map the response object
|
|
25
28
|
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
|
|
26
29
|
async createOne(projectId, model) {
|
|
27
|
-
return this.callPut(formatServiceUrl(API_PROJECT_WORKFLOW_URL, { url: this.config.url, projectId }, this.config.insecure), model, `Failed to create workflow for ${projectId}.`);
|
|
30
|
+
return this.callPut(formatServiceUrl_1.formatServiceUrl(api_1.API_PROJECT_WORKFLOW_URL, { url: this.config.url, projectId }, this.config.insecure), model, `Failed to create workflow for ${projectId}.`);
|
|
28
31
|
}
|
|
29
32
|
/**
|
|
30
33
|
* Get workflows for project
|
|
@@ -47,7 +50,7 @@ export class WorkflowService extends BaseServiceAbstract {
|
|
|
47
50
|
if (workflowIds) {
|
|
48
51
|
params.workflowIds = workflowIds.join(',');
|
|
49
52
|
}
|
|
50
|
-
return this.callGet(formatServiceUrl(API_PROJECT_WORKFLOW_URL, { url: this.config.url, projectId }, this.config.insecure), `Failed to get workflows for ${projectId}.`, params);
|
|
53
|
+
return this.callGet(formatServiceUrl_1.formatServiceUrl(api_1.API_PROJECT_WORKFLOW_URL, { url: this.config.url, projectId }, this.config.insecure), `Failed to get workflows for ${projectId}.`, params);
|
|
51
54
|
}
|
|
52
55
|
/**
|
|
53
56
|
* Get a workflow
|
|
@@ -58,7 +61,7 @@ export class WorkflowService extends BaseServiceAbstract {
|
|
|
58
61
|
*/
|
|
59
62
|
// TODO: map the response object
|
|
60
63
|
async getOne(projectId, workflowId, includeInstances = false) {
|
|
61
|
-
return this.callGet(formatServiceUrl(API_PROJECT_WORKFLOW_ID_URL, { url: this.config.url, projectId, workflowId }, this.config.insecure), `Failed to get workflow for ${projectId}, workflowId ${workflowId}.`, { includeInstances: includeInstances ? 1 : 0 });
|
|
64
|
+
return this.callGet(formatServiceUrl_1.formatServiceUrl(api_1.API_PROJECT_WORKFLOW_ID_URL, { url: this.config.url, projectId, workflowId }, this.config.insecure), `Failed to get workflow for ${projectId}, workflowId ${workflowId}.`, { includeInstances: includeInstances ? 1 : 0 });
|
|
62
65
|
}
|
|
63
66
|
/**
|
|
64
67
|
* Update a workflow
|
|
@@ -71,7 +74,7 @@ export class WorkflowService extends BaseServiceAbstract {
|
|
|
71
74
|
// TODO: map the response object
|
|
72
75
|
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
|
|
73
76
|
async updateOne(projectId, workflowId, model) {
|
|
74
|
-
return this.callPut(formatServiceUrl(API_PROJECT_WORKFLOW_ID_URL, { url: this.config.url, projectId, workflowId }, this.config.insecure), model, `Failed to update workflow for ${projectId}, workflowId ${workflowId}.`);
|
|
77
|
+
return this.callPut(formatServiceUrl_1.formatServiceUrl(api_1.API_PROJECT_WORKFLOW_ID_URL, { url: this.config.url, projectId, workflowId }, this.config.insecure), model, `Failed to update workflow for ${projectId}, workflowId ${workflowId}.`);
|
|
75
78
|
}
|
|
76
79
|
/**
|
|
77
80
|
* Delete a workflow
|
|
@@ -81,7 +84,7 @@ export class WorkflowService extends BaseServiceAbstract {
|
|
|
81
84
|
*/
|
|
82
85
|
// TODO: map the response object
|
|
83
86
|
async deleteOne(projectId, workflowId) {
|
|
84
|
-
return this.callDelete(formatServiceUrl(API_PROJECT_WORKFLOW_ID_URL, { url: this.config.url, projectId, workflowId }, this.config.insecure), `Failed to delete workflow for ${projectId}, workflowId ${workflowId}.`);
|
|
87
|
+
return this.callDelete(formatServiceUrl_1.formatServiceUrl(api_1.API_PROJECT_WORKFLOW_ID_URL, { url: this.config.url, projectId, workflowId }, this.config.insecure), `Failed to delete workflow for ${projectId}, workflowId ${workflowId}.`);
|
|
85
88
|
}
|
|
86
89
|
/**
|
|
87
90
|
* Get all workflows for a robot
|
|
@@ -91,7 +94,7 @@ export class WorkflowService extends BaseServiceAbstract {
|
|
|
91
94
|
*/
|
|
92
95
|
// TODO: map the response object
|
|
93
96
|
async getAllOfRobot(projectId, callsign) {
|
|
94
|
-
return this.callGet(formatServiceUrl(API_PROJECT_CALLSIGN_WORKFLOW_URL, { url: this.config.url, projectId, callsign }, this.config.insecure), `Failed to get workflows for ${projectId}, callsign ${callsign}.`);
|
|
97
|
+
return this.callGet(formatServiceUrl_1.formatServiceUrl(api_1.API_PROJECT_CALLSIGN_WORKFLOW_URL, { url: this.config.url, projectId, callsign }, this.config.insecure), `Failed to get workflows for ${projectId}, callsign ${callsign}.`);
|
|
95
98
|
}
|
|
96
99
|
/**
|
|
97
100
|
* Update workflows for a robot
|
|
@@ -104,7 +107,7 @@ export class WorkflowService extends BaseServiceAbstract {
|
|
|
104
107
|
// TODO: map the response object
|
|
105
108
|
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
|
|
106
109
|
async updateAllForRobot(projectId, callsign, model) {
|
|
107
|
-
return this.callPut(formatServiceUrl(API_PROJECT_CALLSIGN_WORKFLOW_URL, { url: this.config.url, projectId, callsign }, this.config.insecure), model, `Failed to update workflows for ${projectId}, callsign ${callsign}.`);
|
|
110
|
+
return this.callPut(formatServiceUrl_1.formatServiceUrl(api_1.API_PROJECT_CALLSIGN_WORKFLOW_URL, { url: this.config.url, projectId, callsign }, this.config.insecure), model, `Failed to update workflows for ${projectId}, callsign ${callsign}.`);
|
|
108
111
|
}
|
|
109
112
|
/**
|
|
110
113
|
* Get deployed workflows on robot
|
|
@@ -113,6 +116,7 @@ export class WorkflowService extends BaseServiceAbstract {
|
|
|
113
116
|
* @param callsign - Robot callsign
|
|
114
117
|
*/
|
|
115
118
|
async getDeployedOnRobot(projectId, callsign) {
|
|
116
|
-
return this.callGet(formatServiceUrl(API_PROJECT_ROBOT_DEPLOYED_WORKFLOW_URL, { url: this.config.url, projectId, callsign }, this.config.insecure), `Failed to update workflows for ${projectId}, callsign ${callsign}.`);
|
|
119
|
+
return this.callGet(formatServiceUrl_1.formatServiceUrl(api_1.API_PROJECT_ROBOT_DEPLOYED_WORKFLOW_URL, { url: this.config.url, projectId, callsign }, this.config.insecure), `Failed to update workflows for ${projectId}, callsign ${callsign}.`);
|
|
117
120
|
}
|
|
118
121
|
}
|
|
122
|
+
exports.WorkflowService = WorkflowService;
|
package/services/index.js
CHANGED
|
@@ -1,26 +1,38 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
10
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
11
|
+
};
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
__exportStar(require("./AssetStorageService"), exports);
|
|
14
|
+
__exportStar(require("./AuthService"), exports);
|
|
15
|
+
__exportStar(require("./CallerService"), exports);
|
|
16
|
+
__exportStar(require("./CommandService"), exports);
|
|
17
|
+
__exportStar(require("./ConfigGroupService"), exports);
|
|
18
|
+
__exportStar(require("./ControlService"), exports);
|
|
19
|
+
__exportStar(require("./DashboardService"), exports);
|
|
20
|
+
__exportStar(require("./EventService"), exports);
|
|
21
|
+
__exportStar(require("./FileAccessorService"), exports);
|
|
22
|
+
__exportStar(require("./FunctionService"), exports);
|
|
23
|
+
__exportStar(require("./IntegrationService"), exports);
|
|
24
|
+
__exportStar(require("./ProfileService"), exports);
|
|
25
|
+
__exportStar(require("./ProjectService"), exports);
|
|
26
|
+
__exportStar(require("./RobotService"), exports);
|
|
27
|
+
__exportStar(require("./SearchService"), exports);
|
|
28
|
+
__exportStar(require("./StreamService"), exports);
|
|
29
|
+
__exportStar(require("./TelemetryService"), exports);
|
|
30
|
+
__exportStar(require("./UserService"), exports);
|
|
31
|
+
__exportStar(require("./WebRTCSignallingService"), exports);
|
|
32
|
+
__exportStar(require("./WorkflowService"), exports);
|
|
33
|
+
__exportStar(require("./ScheduleService"), exports);
|
|
34
|
+
__exportStar(require("./TimeSyncerService"), exports);
|
|
35
|
+
__exportStar(require("./PlatformTimeService"), exports);
|
|
36
|
+
__exportStar(require("./SpotProvisioningService"), exports);
|
|
37
|
+
__exportStar(require("./SpotProvisioningServiceNode"), exports);
|
|
38
|
+
__exportStar(require("./MapService"), exports);
|
package/store/RocosStore.js
CHANGED
|
@@ -1,12 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RocosStore = void 0;
|
|
4
|
+
const rxjs_1 = require("rxjs");
|
|
5
|
+
const getUniqueConfigKey_1 = require("../helpers/getUniqueConfigKey");
|
|
6
|
+
class RocosStore {
|
|
4
7
|
/**
|
|
5
8
|
* A static method to get the change subject.
|
|
6
9
|
*/
|
|
7
10
|
static getChangeSubject() {
|
|
8
11
|
if (!RocosStore.changeSubject$) {
|
|
9
|
-
RocosStore.changeSubject$ = new Subject();
|
|
12
|
+
RocosStore.changeSubject$ = new rxjs_1.Subject();
|
|
10
13
|
}
|
|
11
14
|
return RocosStore.changeSubject$;
|
|
12
15
|
}
|
|
@@ -16,7 +19,7 @@ export class RocosStore {
|
|
|
16
19
|
* @param config - SDK config {@link IRocosSDKConfig}
|
|
17
20
|
*/
|
|
18
21
|
static getSDKInstance(config) {
|
|
19
|
-
const uniqueConfigKey = getUniqueConfigKey(config);
|
|
22
|
+
const uniqueConfigKey = getUniqueConfigKey_1.getUniqueConfigKey(config);
|
|
20
23
|
return RocosStore.instances[uniqueConfigKey];
|
|
21
24
|
}
|
|
22
25
|
/**
|
|
@@ -26,8 +29,9 @@ export class RocosStore {
|
|
|
26
29
|
* @param instance - SDK instance {@link IRocosSDK}
|
|
27
30
|
*/
|
|
28
31
|
static putSDKInstance(config, instance) {
|
|
29
|
-
|
|
30
|
-
|
|
32
|
+
var _a;
|
|
33
|
+
const uniqueConfigKey = getUniqueConfigKey_1.getUniqueConfigKey(config);
|
|
34
|
+
if (!((_a = RocosStore.instances) === null || _a === void 0 ? void 0 : _a[uniqueConfigKey])) {
|
|
31
35
|
RocosStore.instances[uniqueConfigKey] = instance;
|
|
32
36
|
}
|
|
33
37
|
}
|
|
@@ -37,11 +41,13 @@ export class RocosStore {
|
|
|
37
41
|
* @param config - SDK config {@link IRocosSDKConfig}
|
|
38
42
|
*/
|
|
39
43
|
static removeSDKInstance(config) {
|
|
40
|
-
|
|
41
|
-
|
|
44
|
+
var _a;
|
|
45
|
+
const uniqueConfigKey = getUniqueConfigKey_1.getUniqueConfigKey(config);
|
|
46
|
+
if ((_a = RocosStore.instances) === null || _a === void 0 ? void 0 : _a[uniqueConfigKey]) {
|
|
42
47
|
delete RocosStore.instances[uniqueConfigKey];
|
|
43
48
|
}
|
|
44
49
|
}
|
|
45
50
|
}
|
|
51
|
+
exports.RocosStore = RocosStore;
|
|
46
52
|
// TODO(matej): migrate to non static instance registry
|
|
47
53
|
RocosStore.instances = {};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { FrameID } from './misc';
|
|
2
|
+
import { LocalTransformTree } from './localtransformtree';
|
|
3
|
+
import { PositionVector } from './positionvector';
|
|
4
|
+
import { RotationMatrix } from './rotationmatrix';
|
|
5
|
+
import { EulerAngles } from './eulerangles';
|
|
6
|
+
import { Quaternion } from './quaternion';
|
|
7
|
+
export declare class AxisAngle {
|
|
8
|
+
axis: PositionVector;
|
|
9
|
+
angle: number;
|
|
10
|
+
constructor(axis: PositionVector, angle: number);
|
|
11
|
+
Axis(): PositionVector;
|
|
12
|
+
Angle(): number;
|
|
13
|
+
ToRotm(): RotationMatrix;
|
|
14
|
+
ToEul(): EulerAngles;
|
|
15
|
+
ToQuat(): Quaternion;
|
|
16
|
+
ToAxAng(): AxisAngle;
|
|
17
|
+
ToFrame(tree: LocalTransformTree, thisID: FrameID, thatID: FrameID): AxisAngle;
|
|
18
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AxisAngle = void 0;
|
|
4
|
+
const rotationmatrix_1 = require("./rotationmatrix");
|
|
5
|
+
const mathjs_1 = require("mathjs");
|
|
6
|
+
// AxisAngle contains an axis and angle of rotation about that axis
|
|
7
|
+
class AxisAngle {
|
|
8
|
+
constructor(axis, angle) {
|
|
9
|
+
this.axis = axis;
|
|
10
|
+
this.angle = angle; // radians
|
|
11
|
+
}
|
|
12
|
+
Axis() { return this.axis; }
|
|
13
|
+
Angle() { return this.angle; }
|
|
14
|
+
// ToRotm returns the RotationMatrix representation of the rotation
|
|
15
|
+
ToRotm() {
|
|
16
|
+
var u = this.axis.unitVector();
|
|
17
|
+
var x = u.X();
|
|
18
|
+
var y = u.Y();
|
|
19
|
+
var z = u.Z();
|
|
20
|
+
var t = this.Angle(); // theta angle
|
|
21
|
+
return new rotationmatrix_1.RotationMatrix([
|
|
22
|
+
[mathjs_1.cos(t) + x ** 2 * (1 - mathjs_1.cos(t)), x * y * (1 - mathjs_1.cos(t)) - z * mathjs_1.sin(t), x * z * (1 - mathjs_1.cos(t)) + y * mathjs_1.sin(t)],
|
|
23
|
+
[y * x * (1 - mathjs_1.cos(t)) + z * mathjs_1.sin(t), mathjs_1.cos(t) + y ** 2 * (1 - mathjs_1.cos(t)), y * z * (1 - mathjs_1.cos(t)) - x * mathjs_1.sin(t)],
|
|
24
|
+
[z * x * (1 - mathjs_1.cos(t)) - y * mathjs_1.sin(t), z * y * (1 - mathjs_1.cos(t)) + x * mathjs_1.sin(t), mathjs_1.cos(t) + z ** 2 * (1 - mathjs_1.cos(t))]
|
|
25
|
+
]);
|
|
26
|
+
}
|
|
27
|
+
// ToEul returns the EulerAngles representation of the rotation
|
|
28
|
+
ToEul() {
|
|
29
|
+
var rotm = this.ToRotm();
|
|
30
|
+
return rotm.ToEul();
|
|
31
|
+
}
|
|
32
|
+
// ToQuat returns the Quaternion representation of the rotation
|
|
33
|
+
ToQuat() {
|
|
34
|
+
var rotm = this.ToRotm();
|
|
35
|
+
return rotm.ToQuat();
|
|
36
|
+
}
|
|
37
|
+
// ToAxAng returns the AxisAngle representation of the rotation
|
|
38
|
+
ToAxAng() {
|
|
39
|
+
return this;
|
|
40
|
+
}
|
|
41
|
+
// ToFrame returns the rotation relative to the new specified frame
|
|
42
|
+
ToFrame(tree, thisID, thatID) {
|
|
43
|
+
var rotm = this.ToRotm();
|
|
44
|
+
var newRotm = rotm.ToFrame(tree, thisID, thatID);
|
|
45
|
+
return newRotm.ToAxAng();
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
exports.AxisAngle = AxisAngle;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { FrameID, Seq } from './misc';
|
|
2
|
+
import { LocalTransformTree } from './localtransformtree';
|
|
3
|
+
import { RotationMatrix } from './rotationmatrix';
|
|
4
|
+
import { Quaternion } from './quaternion';
|
|
5
|
+
import { AxisAngle } from './axisangle';
|
|
6
|
+
export declare class EulerAngles {
|
|
7
|
+
alpha: number;
|
|
8
|
+
beta: number;
|
|
9
|
+
gamma: number;
|
|
10
|
+
seq: Seq;
|
|
11
|
+
constructor(alpha: number, beta: number, gamma: number, seq: Seq);
|
|
12
|
+
Alpha(): number;
|
|
13
|
+
Beta(): number;
|
|
14
|
+
Gamma(): number;
|
|
15
|
+
Seq(): Seq;
|
|
16
|
+
ToRotm(): RotationMatrix;
|
|
17
|
+
ToEul(): EulerAngles;
|
|
18
|
+
ToQuat(): Quaternion;
|
|
19
|
+
ToAxAng(): AxisAngle;
|
|
20
|
+
ToFrame(tree: LocalTransformTree, thisID: FrameID, thatID: FrameID): EulerAngles;
|
|
21
|
+
ToZYX(): EulerAngles;
|
|
22
|
+
}
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EulerAngles = void 0;
|
|
4
|
+
const misc_1 = require("./misc");
|
|
5
|
+
const rotationmatrix_1 = require("./rotationmatrix");
|
|
6
|
+
const quaternion_1 = require("./quaternion");
|
|
7
|
+
const mathjs_1 = require("mathjs");
|
|
8
|
+
// EulerAngles contains the euler angles with specified convention
|
|
9
|
+
class EulerAngles {
|
|
10
|
+
constructor(alpha, beta, gamma, seq) {
|
|
11
|
+
this.alpha = alpha; // X
|
|
12
|
+
this.beta = beta; // Y
|
|
13
|
+
this.gamma = gamma; // Z
|
|
14
|
+
this.seq = seq;
|
|
15
|
+
}
|
|
16
|
+
Alpha() { return this.alpha; }
|
|
17
|
+
Beta() { return this.beta; }
|
|
18
|
+
Gamma() { return this.gamma; }
|
|
19
|
+
Seq() { return this.seq; }
|
|
20
|
+
// ToRotm returns the RotationMatrix representation of the rotation
|
|
21
|
+
ToRotm() {
|
|
22
|
+
var sinB = mathjs_1.sin(this.beta);
|
|
23
|
+
var cosB = mathjs_1.cos(this.beta);
|
|
24
|
+
var sinA = mathjs_1.sin(this.alpha);
|
|
25
|
+
var cosA = mathjs_1.cos(this.alpha);
|
|
26
|
+
var sinG = mathjs_1.sin(this.gamma);
|
|
27
|
+
var cosG = mathjs_1.cos(this.gamma);
|
|
28
|
+
switch (this.Seq()) {
|
|
29
|
+
// Proper Euler angles
|
|
30
|
+
case misc_1.Seq.XZX:
|
|
31
|
+
return new rotationmatrix_1.RotationMatrix([[cosB, -cosG * sinB, sinB * sinG],
|
|
32
|
+
[cosA * sinB, cosA * cosB * cosG - sinA * sinG, -cosG * sinA - cosA * cosB * sinG],
|
|
33
|
+
[sinA * sinB, cosA * sinG + cosB * cosG * sinA, cosA * cosG - cosB * sinA * sinG]]);
|
|
34
|
+
case misc_1.Seq.XYX:
|
|
35
|
+
return new rotationmatrix_1.RotationMatrix([[cosB, sinB * sinG, cosG * sinB],
|
|
36
|
+
[sinA * sinB, cosA * cosG - cosB * sinA * sinG, -cosA * sinG - cosB * cosG * sinA],
|
|
37
|
+
[-cosA * sinB, cosG * sinA + cosA * cosB * sinG, cosA * cosB * cosG - sinA * sinG]]);
|
|
38
|
+
case misc_1.Seq.YXY:
|
|
39
|
+
return new rotationmatrix_1.RotationMatrix([[cosA * cosG - cosB * sinA * sinG, sinA * sinB, cosA * sinG + cosB * cosG * sinA],
|
|
40
|
+
[sinB * sinG, cosB, -cosG * sinB],
|
|
41
|
+
[-cosG * sinA - cosA * cosB * sinG, cosA * sinB, cosA * cosB * cosG - sinA * sinG]]);
|
|
42
|
+
case misc_1.Seq.YZY:
|
|
43
|
+
return new rotationmatrix_1.RotationMatrix([[cosA * cosB * cosG - sinA * sinG, -cosA * sinB, cosG * sinA + cosA * cosB * sinG],
|
|
44
|
+
[cosG * sinB, cosB, sinB * sinG],
|
|
45
|
+
[-cosA * sinG - cosB * cosG * sinA, sinA * sinB, cosA * cosG - cosB * sinA * sinG]]);
|
|
46
|
+
case misc_1.Seq.ZYZ:
|
|
47
|
+
return new rotationmatrix_1.RotationMatrix([[cosA * cosB * cosG - sinA * sinG, -cosG * sinA - cosA * cosB * sinG, cosA * sinB],
|
|
48
|
+
[cosA * sinG + cosB * cosG * sinA, cosA * cosG - cosB * sinA * sinG, -cosA * sinB],
|
|
49
|
+
[-cosG * sinB, sinB * sinG, cosB]]);
|
|
50
|
+
case misc_1.Seq.ZXZ:
|
|
51
|
+
return new rotationmatrix_1.RotationMatrix([[cosA * cosG - cosB * sinA * sinG, -cosA * sinG - cosB * cosG * sinA, sinA * sinB],
|
|
52
|
+
[cosG * sinA + cosA * cosB * sinG, cosA * cosB * cosG - sinA * sinG, -cosA * sinB],
|
|
53
|
+
[sinB * sinG, cosG * sinB, cosB]]);
|
|
54
|
+
// Tait-Bryan angles
|
|
55
|
+
case misc_1.Seq.XZY:
|
|
56
|
+
return new rotationmatrix_1.RotationMatrix([[cosB * cosG, -sinB, cosB * sinG],
|
|
57
|
+
[sinA * sinG + cosA * cosG * sinB, cosA * cosB, cosA * sinB * sinG - cosG * sinA],
|
|
58
|
+
[cosG * sinA * sinB - cosA * sinG, cosB * sinA, cosA * cosG + sinA * sinB * sinG]]);
|
|
59
|
+
case misc_1.Seq.XYZ:
|
|
60
|
+
return new rotationmatrix_1.RotationMatrix([[cosB * cosG, -cosB * sinG, sinB],
|
|
61
|
+
[cosA * sinG + cosG * sinA * sinB, cosA * cosG - sinA * sinB * sinG, -cosB * sinA],
|
|
62
|
+
[sinA * sinG - cosA * cosG * sinB, cosG * sinA + cosA * sinB * sinG, cosA * cosB]]);
|
|
63
|
+
case misc_1.Seq.YXZ:
|
|
64
|
+
return new rotationmatrix_1.RotationMatrix([[cosA * cosG + sinA * sinB * sinG, cosG * sinA * sinB - cosA * sinG, cosB * sinA],
|
|
65
|
+
[cosB * sinG, cosB * cosG, -sinB],
|
|
66
|
+
[cosA * sinB * sinG - cosG * sinA, cosA * cosG * sinB + sinA * sinG, cosA * cosB]]);
|
|
67
|
+
case misc_1.Seq.YZX:
|
|
68
|
+
return new rotationmatrix_1.RotationMatrix([[cosA * cosB, sinA * sinG - cosA * cosG * sinB, cosG * sinA + cosA * sinB * sinG],
|
|
69
|
+
[sinB, cosB * cosG, -cosB * sinG],
|
|
70
|
+
[-cosB * sinA, cosA * sinG + cosG * sinA * sinB, cosA * cosG - sinA * sinB * sinG]]);
|
|
71
|
+
case misc_1.Seq.ZYX:
|
|
72
|
+
return new rotationmatrix_1.RotationMatrix([[cosA * cosB, cosA * sinB * sinG - cosG * sinA, sinA * sinG + cosA * cosG * sinB],
|
|
73
|
+
[cosB * sinA, cosA * cosG + sinA * sinB * sinG, cosG * sinA * sinB - cosA * sinG],
|
|
74
|
+
[-sinB, cosB * sinG, cosB * cosG]]);
|
|
75
|
+
case misc_1.Seq.ZXY:
|
|
76
|
+
return new rotationmatrix_1.RotationMatrix([[cosA * cosG - sinA * sinB * sinG, -cosB * sinA, cosA * sinG + cosG * sinA * sinB],
|
|
77
|
+
[cosG * sinA + cosA * sinB * sinG, cosA * cosB, sinA * sinG - cosA * cosG * sinB],
|
|
78
|
+
[-cosB * sinG, sinB, cosB * cosG]]);
|
|
79
|
+
default:
|
|
80
|
+
throw "Invalid sequence!";
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
// ToEul returns the EulerAngles representation of the rotation
|
|
84
|
+
ToEul() {
|
|
85
|
+
return this;
|
|
86
|
+
}
|
|
87
|
+
// ToQuat returns the Quaternion representation of the rotation
|
|
88
|
+
ToQuat() {
|
|
89
|
+
var yaw = this.alpha;
|
|
90
|
+
var pitch = this.beta;
|
|
91
|
+
var gamma = this.gamma;
|
|
92
|
+
// Abbreviations for the various angular functions
|
|
93
|
+
var cy = mathjs_1.cos(yaw * 0.5);
|
|
94
|
+
var sy = mathjs_1.sin(yaw * 0.5);
|
|
95
|
+
var cp = mathjs_1.cos(pitch * 0.5);
|
|
96
|
+
var sp = mathjs_1.sin(pitch * 0.5);
|
|
97
|
+
var cr = mathjs_1.cos(gamma * 0.5);
|
|
98
|
+
var sr = mathjs_1.sin(gamma * 0.5);
|
|
99
|
+
var q = new quaternion_1.Quaternion(0, 0, 0, 0);
|
|
100
|
+
q.w = cr * cp * cy + sr * sp * sy;
|
|
101
|
+
q.x = sr * cp * cy - cr * sp * sy;
|
|
102
|
+
q.y = cr * sp * cy + sr * cp * sy;
|
|
103
|
+
q.z = cr * cp * sy - sr * sp * cy;
|
|
104
|
+
return q;
|
|
105
|
+
}
|
|
106
|
+
// ToAxAng returns the AxisAngle representation of the rotation
|
|
107
|
+
ToAxAng() {
|
|
108
|
+
var rotm = this.ToRotm();
|
|
109
|
+
return rotm.ToAxAng();
|
|
110
|
+
}
|
|
111
|
+
// ToFrame returns the euler angles relative to the new specified frame
|
|
112
|
+
ToFrame(tree, thisID, thatID) {
|
|
113
|
+
var eul;
|
|
114
|
+
if (this.seq != misc_1.Seq.ZYX) {
|
|
115
|
+
eul = this.ToZYX();
|
|
116
|
+
}
|
|
117
|
+
else {
|
|
118
|
+
eul = this;
|
|
119
|
+
}
|
|
120
|
+
var rotm = eul.ToRotm();
|
|
121
|
+
var newRotm = rotm.ToFrame(tree, thisID, thatID);
|
|
122
|
+
return newRotm.ToEul();
|
|
123
|
+
}
|
|
124
|
+
// ToZYX converts euler angles of any sequence to ZYX euler angles
|
|
125
|
+
ToZYX() {
|
|
126
|
+
if (this.Seq() == misc_1.Seq.ZYX) {
|
|
127
|
+
return this;
|
|
128
|
+
}
|
|
129
|
+
var rotm = this.ToRotm();
|
|
130
|
+
return rotm.ToEul();
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
exports.EulerAngles = EulerAngles;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { FrameID } from './misc';
|
|
2
|
+
import { LocalTransformTree } from './localtransformtree';
|
|
3
|
+
import { TransformationMatrix } from './transformationmatrix';
|
|
4
|
+
export declare function frameToFrameTransformationMatrixSeq(tree: LocalTransformTree, seq: FrameID[], isInverse: Boolean): TransformationMatrix;
|
|
5
|
+
export declare function copysign(num1: number, num2: number): number;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.copysign = exports.frameToFrameTransformationMatrixSeq = void 0;
|
|
4
|
+
const transformationmatrix_1 = require("./transformationmatrix");
|
|
5
|
+
const mathjs_1 = require("mathjs");
|
|
6
|
+
// Calculate the total transformation matrix between the start and end of a branch sequence
|
|
7
|
+
function frameToFrameTransformationMatrixSeq(tree, seq, isInverse) {
|
|
8
|
+
// Set variables in preperation for iteration down tree
|
|
9
|
+
var currentFrame = tree.getFrame(seq[0]);
|
|
10
|
+
var currentTransformationMatrix = currentFrame.GetTransformationMatrix();
|
|
11
|
+
var totalTransformationMatrix = currentTransformationMatrix;
|
|
12
|
+
// Iterate through sequence and apply transformations
|
|
13
|
+
// This is under the assumption that the root node is an identity transformation matrix
|
|
14
|
+
for (var i = 1; i < seq.length - 1; i++) {
|
|
15
|
+
// Set transformation variables for multiplication
|
|
16
|
+
var currentFrame = tree.getFrame(seq[i]);
|
|
17
|
+
currentTransformationMatrix = currentFrame.GetTransformationMatrix();
|
|
18
|
+
// Multiply current transformation matrix with total transformation matrix
|
|
19
|
+
var temp = currentTransformationMatrix.Multiply(totalTransformationMatrix);
|
|
20
|
+
if (temp instanceof transformationmatrix_1.TransformationMatrix) {
|
|
21
|
+
totalTransformationMatrix = temp;
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
throw "Something is terribly wrong";
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
if (isInverse) {
|
|
28
|
+
// The inverse of a (totalTransformation) matrix that has been created by multiplying several (currentTransformation) matrices together
|
|
29
|
+
// is equivalent to multiplying the inverse of each matrix in the reverse order: inv(T1*T2) = inv(T2)*inv(T1)
|
|
30
|
+
// Therefore the sequence is always be DOWN the branch (no sequence reversal needed for UP tree transformations)
|
|
31
|
+
return new transformationmatrix_1.TransformationMatrix(mathjs_1.inv(totalTransformationMatrix.elements));
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
return totalTransformationMatrix;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
exports.frameToFrameTransformationMatrixSeq = frameToFrameTransformationMatrixSeq;
|
|
38
|
+
// copy the sign (+ or -) of num2 for num1
|
|
39
|
+
function copysign(num1, num2) {
|
|
40
|
+
if (mathjs_1.sign(num2) == -1) {
|
|
41
|
+
return mathjs_1.abs(num1) * -1;
|
|
42
|
+
}
|
|
43
|
+
else if (mathjs_1.sign(num2) == 0) {
|
|
44
|
+
return num1;
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
return mathjs_1.abs(num1);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
exports.copysign = copysign;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { FrameID } from './misc';
|
|
2
|
+
import { LocalTransformTree } from './localtransformtree';
|
|
3
|
+
import { PositionVector } from './positionvector';
|
|
4
|
+
import { RotationMatrix } from './rotationmatrix';
|
|
5
|
+
import { TransformationMatrix } from './transformationmatrix';
|
|
6
|
+
export declare class LocalTransform {
|
|
7
|
+
origin: PositionVector;
|
|
8
|
+
basis: RotationMatrix;
|
|
9
|
+
frameID: FrameID;
|
|
10
|
+
constructor(origin: PositionVector, basis: RotationMatrix, frameID: FrameID);
|
|
11
|
+
ID(): FrameID;
|
|
12
|
+
ParentID(tree: LocalTransformTree): FrameID;
|
|
13
|
+
GetRotation(): RotationMatrix;
|
|
14
|
+
GetPosition(): PositionVector;
|
|
15
|
+
GetTransformationMatrix(): TransformationMatrix;
|
|
16
|
+
ToFrame(tree: LocalTransformTree, resultFrameID: FrameID): TransformationMatrix;
|
|
17
|
+
}
|