@dronedeploy/rocos-js-sdk 0.0.1 → 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.d.ts +55 -0
- package/IRocosSDK.js +6 -0
- package/README.md +90 -0
- package/RocosSDK.d.ts +138 -0
- package/RocosSDK.js +294 -0
- package/api/StreamRegister.d.ts +13 -0
- package/api/StreamRegister.js +58 -0
- package/api/atoms/StreamHeartbeat.d.ts +27 -0
- package/api/atoms/StreamHeartbeat.js +115 -0
- package/api/streams/caller/CallerStream.d.ts +13 -0
- package/api/streams/caller/CallerStream.js +85 -0
- package/api/streams/caller/CallerStreamAbstract.d.ts +28 -0
- package/api/streams/caller/CallerStreamAbstract.js +99 -0
- package/api/streams/caller/CallerStreamNode.d.ts +13 -0
- package/api/streams/caller/CallerStreamNode.js +128 -0
- package/api/streams/command/CommandStream.d.ts +12 -0
- package/api/streams/command/CommandStream.js +68 -0
- package/api/streams/command/CommandStreamAbstract.d.ts +24 -0
- package/api/streams/command/CommandStreamAbstract.js +72 -0
- package/api/streams/command/CommandStreamNode.d.ts +12 -0
- package/api/streams/command/CommandStreamNode.js +93 -0
- package/api/streams/control/ControlStream.d.ts +14 -0
- package/api/streams/control/ControlStream.js +81 -0
- package/api/streams/control/ControlStreamAbstract.d.ts +28 -0
- package/api/streams/control/ControlStreamAbstract.js +108 -0
- package/api/streams/control/ControlStreamNode.d.ts +14 -0
- package/api/streams/control/ControlStreamNode.js +98 -0
- package/api/streams/fileAccessor/FileAccessorStream.d.ts +10 -0
- package/api/streams/fileAccessor/FileAccessorStream.js +74 -0
- package/api/streams/fileAccessor/FileAccessorStreamAbstract.d.ts +26 -0
- package/api/streams/fileAccessor/FileAccessorStreamAbstract.js +82 -0
- package/api/streams/fileAccessor/FileAccessorStreamNode.d.ts +10 -0
- package/api/streams/fileAccessor/FileAccessorStreamNode.js +96 -0
- package/api/streams/search/SearchStream.d.ts +16 -0
- package/api/streams/search/SearchStream.js +120 -0
- package/api/streams/search/SearchStreamAbstract.d.ts +30 -0
- package/api/streams/search/SearchStreamAbstract.js +74 -0
- package/api/streams/search/SearchStreamNode.d.ts +16 -0
- package/api/streams/search/SearchStreamNode.js +143 -0
- package/api/streams/telemetry/TelemetryStream.d.ts +17 -0
- package/api/streams/telemetry/TelemetryStream.js +126 -0
- package/api/streams/telemetry/TelemetryStreamAbstract.d.ts +62 -0
- package/api/streams/telemetry/TelemetryStreamAbstract.js +421 -0
- package/api/streams/telemetry/TelemetryStreamNode.d.ts +21 -0
- package/api/streams/telemetry/TelemetryStreamNode.js +195 -0
- package/api/streams/webRTCSignalling/WebRTCSignallingStream.d.ts +44 -0
- package/api/streams/webRTCSignalling/WebRTCSignallingStream.js +67 -0
- package/api/streams/webRTCSignalling/WebRTCSignallingStreamAbstract.d.ts +32 -0
- package/api/streams/webRTCSignalling/WebRTCSignallingStreamAbstract.js +65 -0
- package/constants/api.d.ts +121 -0
- package/constants/api.js +126 -0
- package/constants/grpc.d.ts +5 -0
- package/constants/grpc.js +8 -0
- package/constants/identifier.d.ts +6 -0
- package/constants/identifier.js +9 -0
- package/constants/timezones.d.ts +2 -0
- package/constants/timezones.js +430 -0
- 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.d.ts +1 -0
- package/helpers/arrayRemove.js +7 -0
- package/helpers/arrayUnique.d.ts +1 -0
- package/helpers/arrayUnique.js +7 -0
- package/helpers/average.d.ts +1 -0
- package/helpers/average.js +11 -0
- package/helpers/cleanObject.d.ts +1 -0
- package/helpers/cleanObject.js +20 -0
- package/helpers/enviroment.d.ts +8 -0
- package/helpers/enviroment.js +20 -0
- package/helpers/flattenCallsignsLookup.d.ts +2 -0
- package/helpers/flattenCallsignsLookup.js +10 -0
- package/helpers/flattenObject.d.ts +1 -0
- package/helpers/flattenObject.js +17 -0
- package/helpers/formatServiceUrl.d.ts +1 -0
- package/helpers/formatServiceUrl.js +11 -0
- package/helpers/generateUUID.d.ts +1 -0
- package/helpers/generateUUID.js +8 -0
- package/helpers/getSubscriptionsDifference.d.ts +10 -0
- package/helpers/getSubscriptionsDifference.js +39 -0
- package/helpers/getUniqueConfigKey.d.ts +7 -0
- package/helpers/getUniqueConfigKey.js +19 -0
- package/helpers/getUniqueId.d.ts +9 -0
- package/helpers/getUniqueId.js +15 -0
- package/helpers/getUnixTimeMs.d.ts +1 -0
- package/helpers/getUnixTimeMs.js +8 -0
- package/helpers/index.d.ts +3 -0
- package/helpers/index.js +15 -0
- package/helpers/nanosecondToMillisecond.d.ts +1 -0
- package/helpers/nanosecondToMillisecond.js +7 -0
- package/helpers/randomString.d.ts +1 -0
- package/helpers/randomString.js +7 -0
- package/helpers/standardDeviation.d.ts +1 -0
- package/helpers/standardDeviation.js +16 -0
- package/helpers/stringToUint8Array.d.ts +1 -0
- package/helpers/stringToUint8Array.js +14 -0
- package/helpers/uint8ArrayToString.d.ts +1 -0
- package/helpers/uint8ArrayToString.js +15 -0
- package/index.d.ts +7 -0
- package/index.js +19 -0
- package/logger/RocosLogger.d.ts +7 -0
- package/logger/RocosLogger.js +63 -0
- package/models/ExportDataQuery.d.ts +8 -0
- package/models/ExportDataQuery.js +17 -0
- package/models/ExternalProject.d.ts +6 -0
- package/models/ExternalProject.js +6 -0
- package/models/IBaseService.d.ts +3 -0
- package/models/IBaseService.js +2 -0
- package/models/IConfigGroup.d.ts +5 -0
- package/models/IConfigGroup.js +2 -0
- package/models/IDebugLevel.d.ts +2 -0
- package/models/IDebugLevel.js +2 -0
- package/models/IExportDataQuery.d.ts +9 -0
- package/models/IExportDataQuery.js +2 -0
- package/models/IFunctionConfig.d.ts +8 -0
- package/models/IFunctionConfig.js +2 -0
- package/models/IInvitation.d.ts +6 -0
- package/models/IInvitation.js +2 -0
- package/models/IInvitationExists.d.ts +4 -0
- package/models/IInvitationExists.js +2 -0
- package/models/IOperation.d.ts +6 -0
- package/models/IOperation.js +2 -0
- package/models/IPersonalAccessToken.d.ts +16 -0
- package/models/IPersonalAccessToken.js +2 -0
- package/models/IProject.d.ts +4 -0
- package/models/IProject.js +2 -0
- package/models/IProjectApplication.d.ts +6 -0
- package/models/IProjectApplication.js +2 -0
- package/models/IRobot.d.ts +17 -0
- package/models/IRobot.js +2 -0
- package/models/IRobotConfig.d.ts +8 -0
- package/models/IRobotConfig.js +2 -0
- package/models/IRobotPlugin.d.ts +3 -0
- package/models/IRobotPlugin.js +2 -0
- package/models/IRobotTemplate.d.ts +10 -0
- package/models/IRobotTemplate.js +2 -0
- package/models/IRocosSDKConfig.d.ts +25 -0
- package/models/IRocosSDKConfig.js +2 -0
- package/models/ISignupParams.d.ts +8 -0
- package/models/ISignupParams.js +2 -0
- package/models/ISource.d.ts +8 -0
- package/models/ISource.js +2 -0
- package/models/IStream.d.ts +9 -0
- package/models/IStream.js +2 -0
- package/models/IStreamConfig.d.ts +9 -0
- package/models/IStreamConfig.js +2 -0
- package/models/IStreamOptions.d.ts +7 -0
- package/models/IStreamOptions.js +2 -0
- package/models/IStreamSource.d.ts +8 -0
- package/models/IStreamSource.js +2 -0
- package/models/ISubscriberStatus.d.ts +5 -0
- package/models/ISubscriberStatus.js +2 -0
- package/models/ITelemetryStreamConfig.d.ts +7 -0
- package/models/ITelemetryStreamConfig.js +2 -0
- package/models/IToken.d.ts +5 -0
- package/models/IToken.js +2 -0
- package/models/IWidget.d.ts +25 -0
- package/models/IWidget.js +2 -0
- package/models/IWidgetLineGroup.d.ts +8 -0
- package/models/IWidgetLineGroup.js +2 -0
- package/models/ResponseLevelEnum.d.ts +6 -0
- package/models/ResponseLevelEnum.js +10 -0
- package/models/Robot.d.ts +19 -0
- package/models/Robot.js +12 -0
- package/models/RobotConfig.d.ts +10 -0
- package/models/RobotConfig.js +9 -0
- package/models/RobotPlugin.d.ts +5 -0
- package/models/RobotPlugin.js +9 -0
- package/models/RobotTemplate.d.ts +12 -0
- package/models/RobotTemplate.js +30 -0
- package/models/RocosError.d.ts +30 -0
- package/models/RocosError.js +43 -0
- package/models/ServiceEnum.d.ts +26 -0
- package/models/ServiceEnum.js +30 -0
- package/models/Stream.d.ts +10 -0
- package/models/Stream.js +15 -0
- package/models/StreamOptions.d.ts +9 -0
- package/models/StreamOptions.js +37 -0
- package/models/StreamSource.d.ts +10 -0
- package/models/StreamSource.js +15 -0
- package/models/SubscriberStatusEnum.d.ts +6 -0
- package/models/SubscriberStatusEnum.js +10 -0
- package/models/Token.d.ts +8 -0
- package/models/Token.js +15 -0
- package/models/Widget.d.ts +27 -0
- package/models/Widget.js +16 -0
- package/models/WidgetLineGroup.d.ts +10 -0
- package/models/WidgetLineGroup.js +9 -0
- package/models/asset-storage/AssetModelItem.d.ts +29 -0
- package/models/asset-storage/AssetModelItem.js +2 -0
- package/models/caller/IRocosCallerMessageChunk.d.ts +9 -0
- package/models/caller/IRocosCallerMessageChunk.js +2 -0
- package/models/caller/IRocosCallerMessageChunks.d.ts +5 -0
- package/models/caller/IRocosCallerMessageChunks.js +2 -0
- package/models/caller/IRocosCallerMessageHeartbeat.d.ts +2 -0
- package/models/caller/IRocosCallerMessageHeartbeat.js +2 -0
- package/models/caller/IRocosCallerMessageResponse.d.ts +9 -0
- package/models/caller/IRocosCallerMessageResponse.js +2 -0
- package/models/caller/IRocosCallerMessageResponseAck.d.ts +2 -0
- package/models/caller/IRocosCallerMessageResponseAck.js +2 -0
- package/models/caller/IRocosCallerMessageResponseResult.d.ts +2 -0
- package/models/caller/IRocosCallerMessageResponseResult.js +2 -0
- package/models/caller/IRocosCallerMessageResponseUid.d.ts +2 -0
- package/models/caller/IRocosCallerMessageResponseUid.js +2 -0
- package/models/caller/IRocosCallerMessageResponses.d.ts +5 -0
- package/models/caller/IRocosCallerMessageResponses.js +2 -0
- package/models/caller/RocosCallerResultStatus.d.ts +1 -0
- package/models/caller/RocosCallerResultStatus.js +5 -0
- package/models/callsigns/CallsignsEnums.d.ts +13 -0
- package/models/callsigns/CallsignsEnums.js +20 -0
- package/models/callsigns/CallsignsLookup.d.ts +8 -0
- package/models/callsigns/CallsignsLookup.js +33 -0
- package/models/callsigns/CallsignsQuery.d.ts +9 -0
- package/models/callsigns/CallsignsQuery.js +18 -0
- package/models/callsigns/CallsignsQueryPredicate.d.ts +9 -0
- package/models/callsigns/CallsignsQueryPredicate.js +19 -0
- package/models/command/IRocosCommandMessageHeartbeat.d.ts +2 -0
- package/models/command/IRocosCommandMessageHeartbeat.js +2 -0
- package/models/command/IRocosCommandMessageResponse.d.ts +2 -0
- package/models/command/IRocosCommandMessageResponse.js +2 -0
- package/models/command/RocosCommandResultStatus.d.ts +1 -0
- package/models/command/RocosCommandResultStatus.js +5 -0
- package/models/file/FileEnums.d.ts +30 -0
- package/models/file/FileEnums.js +36 -0
- package/models/index.d.ts +101 -0
- package/models/index.js +113 -0
- package/models/integrations/Overlay.d.ts +49 -0
- package/models/integrations/Overlay.js +2 -0
- package/models/integrations/Plan.d.ts +324 -0
- package/models/integrations/Plan.js +2 -0
- package/models/maps/Map.d.ts +12 -0
- package/models/maps/Map.js +2 -0
- package/models/message/IRocosCallerMessage.d.ts +8 -0
- package/models/message/IRocosCallerMessage.js +2 -0
- package/models/message/IRocosChangeMessage.d.ts +6 -0
- package/models/message/IRocosChangeMessage.js +2 -0
- package/models/message/IRocosCommandMessage.d.ts +6 -0
- package/models/message/IRocosCommandMessage.js +2 -0
- package/models/message/IRocosControlMessage.d.ts +7 -0
- package/models/message/IRocosControlMessage.js +2 -0
- package/models/message/IRocosOpResultMessage.d.ts +6 -0
- package/models/message/IRocosOpResultMessage.js +2 -0
- package/models/message/IRocosSearchMessage.d.ts +5 -0
- package/models/message/IRocosSearchMessage.js +2 -0
- package/models/message/IRocosSearchRowMessage.d.ts +9 -0
- package/models/message/IRocosSearchRowMessage.js +2 -0
- package/models/message/IRocosSearchStatusMessage.d.ts +4 -0
- package/models/message/IRocosSearchStatusMessage.js +2 -0
- package/models/message/IRocosTelemetryMessage.d.ts +18 -0
- package/models/message/IRocosTelemetryMessage.js +2 -0
- package/models/message/IStreamStatusMessage.d.ts +5 -0
- package/models/message/IStreamStatusMessage.js +2 -0
- package/models/message/RocosCallerMessage.d.ts +12 -0
- package/models/message/RocosCallerMessage.js +23 -0
- package/models/message/RocosCommandMessage.d.ts +10 -0
- package/models/message/RocosCommandMessage.js +16 -0
- package/models/message/RocosControlMessage.d.ts +11 -0
- package/models/message/RocosControlMessage.js +18 -0
- package/models/message/RocosOpResultMessage.d.ts +9 -0
- package/models/message/RocosOpResultMessage.js +22 -0
- package/models/message/RocosSearchMessage.d.ts +9 -0
- package/models/message/RocosSearchMessage.js +28 -0
- package/models/message/RocosSearchRowMessage.d.ts +13 -0
- package/models/message/RocosSearchRowMessage.js +20 -0
- package/models/message/RocosTelemetryMessage.d.ts +24 -0
- package/models/message/RocosTelemetryMessage.js +105 -0
- package/models/params/ICallerParams.d.ts +15 -0
- package/models/params/ICallerParams.js +2 -0
- package/models/params/ICommandParams.d.ts +9 -0
- package/models/params/ICommandParams.js +2 -0
- package/models/params/IControlParams.d.ts +8 -0
- package/models/params/IControlParams.js +2 -0
- package/models/params/IFileAccessorParams.d.ts +11 -0
- package/models/params/IFileAccessorParams.js +2 -0
- package/models/params/ISearchParams.d.ts +10 -0
- package/models/params/ISearchParams.js +2 -0
- package/models/params/ITelemetryParams.d.ts +18 -0
- package/models/params/ITelemetryParams.js +2 -0
- package/models/params/IWebRTCSignallingParams.d.ts +21 -0
- package/models/params/IWebRTCSignallingParams.js +2 -0
- package/models/projects/ProjectUser.d.ts +6 -0
- package/models/projects/ProjectUser.js +2 -0
- package/models/schedule/IScheduleAction.d.ts +13 -0
- package/models/schedule/IScheduleAction.js +9 -0
- package/models/schedule/IScheduleInfo.d.ts +11 -0
- package/models/schedule/IScheduleInfo.js +2 -0
- package/models/schedule/IScheduleJob.d.ts +12 -0
- package/models/schedule/IScheduleJob.js +2 -0
- package/models/search/SearchQueryFilter.d.ts +5 -0
- package/models/search/SearchQueryFilter.js +9 -0
- package/models/search/SearchStreamQuery.d.ts +15 -0
- package/models/search/SearchStreamQuery.js +10 -0
- package/models/stream/IBaseStream.d.ts +8 -0
- package/models/stream/IBaseStream.js +2 -0
- package/models/stream/ICallerStream.d.ts +8 -0
- package/models/stream/ICallerStream.js +2 -0
- package/models/stream/ICommandStream.d.ts +7 -0
- package/models/stream/ICommandStream.js +2 -0
- package/models/stream/IControlStream.d.ts +9 -0
- package/models/stream/IControlStream.js +2 -0
- package/models/stream/IFileAccessorStream.d.ts +10 -0
- package/models/stream/IFileAccessorStream.js +2 -0
- package/models/stream/ISearchStream.d.ts +11 -0
- package/models/stream/ISearchStream.js +2 -0
- package/models/stream/ITelemetryStream.d.ts +10 -0
- package/models/stream/ITelemetryStream.js +2 -0
- package/models/stream/IWebRTCSignallingStream.d.ts +41 -0
- package/models/stream/IWebRTCSignallingStream.js +7 -0
- package/models/types.d.ts +5 -0
- package/models/types.js +2 -0
- package/node/RocosSDKNode.d.ts +42 -0
- package/node/RocosSDKNode.js +148 -0
- package/node/index.d.ts +7 -0
- package/node/index.js +19 -0
- package/package.json +25 -6
- package/services/AssetStorageService.d.ts +92 -0
- package/services/AssetStorageService.js +153 -0
- package/services/AuthService.d.ts +61 -0
- package/services/AuthService.js +154 -0
- package/services/BaseServiceAbstract.d.ts +38 -0
- package/services/BaseServiceAbstract.js +103 -0
- package/services/CallerService.d.ts +22 -0
- package/services/CallerService.js +96 -0
- package/services/CallerServiceNode.d.ts +6 -0
- package/services/CallerServiceNode.js +11 -0
- package/services/CommandService.d.ts +21 -0
- package/services/CommandService.js +81 -0
- package/services/CommandServiceNode.d.ts +6 -0
- package/services/CommandServiceNode.js +11 -0
- package/services/ConfigGroupService.d.ts +89 -0
- package/services/ConfigGroupService.js +157 -0
- package/services/ControlService.d.ts +23 -0
- package/services/ControlService.js +100 -0
- package/services/ControlServiceNode.d.ts +6 -0
- package/services/ControlServiceNode.js +11 -0
- package/services/DashboardService.d.ts +97 -0
- package/services/DashboardService.js +146 -0
- package/services/EventService.d.ts +53 -0
- package/services/EventService.js +89 -0
- package/services/FileAccessorService.d.ts +25 -0
- package/services/FileAccessorService.js +85 -0
- package/services/FileAccessorServiceNode.d.ts +6 -0
- package/services/FileAccessorServiceNode.js +11 -0
- package/services/FunctionService.d.ts +68 -0
- package/services/FunctionService.js +103 -0
- package/services/IntegrationService.d.ts +48 -0
- package/services/IntegrationService.js +77 -0
- package/services/MapService.d.ts +96 -0
- package/services/MapService.js +119 -0
- package/services/PlatformTimeService.d.ts +35 -0
- package/services/PlatformTimeService.js +160 -0
- package/services/ProfileService.d.ts +244 -0
- package/services/ProfileService.js +366 -0
- package/services/ProjectService.d.ts +110 -0
- package/services/ProjectService.js +164 -0
- package/services/RobotService.d.ts +282 -0
- package/services/RobotService.js +467 -0
- package/services/ScheduleService.d.ts +22 -0
- package/services/ScheduleService.js +40 -0
- package/services/SearchService.d.ts +25 -0
- package/services/SearchService.js +93 -0
- package/services/SearchServiceNode.d.ts +6 -0
- package/services/SearchServiceNode.js +11 -0
- package/services/SpotProvisioningService.d.ts +14 -0
- package/services/SpotProvisioningService.js +43 -0
- package/services/SpotProvisioningServiceNode.d.ts +15 -0
- package/services/SpotProvisioningServiceNode.js +43 -0
- package/services/StreamService.d.ts +98 -0
- package/services/StreamService.js +146 -0
- package/services/TelemetryService.d.ts +43 -0
- package/services/TelemetryService.js +144 -0
- package/services/TelemetryServiceNode.d.ts +6 -0
- package/services/TelemetryServiceNode.js +11 -0
- package/services/TimeSyncerService.d.ts +13 -0
- package/services/TimeSyncerService.js +27 -0
- package/services/UserService.d.ts +200 -0
- package/services/UserService.js +319 -0
- package/services/WebRTCSignallingService.d.ts +22 -0
- package/services/WebRTCSignallingService.js +81 -0
- package/services/WorkflowService.d.ts +71 -0
- package/services/WorkflowService.js +122 -0
- package/services/index.d.ts +26 -0
- package/services/index.js +38 -0
- package/store/RocosStore.d.ts +31 -0
- package/store/RocosStore.js +53 -0
- 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
|
@@ -0,0 +1,122 @@
|
|
|
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 {
|
|
10
|
+
constructor(config) {
|
|
11
|
+
super(config);
|
|
12
|
+
this.logger = RocosLogger_1.RocosLogger.getInstance(`WorkflowService(${this.config.url})`);
|
|
13
|
+
}
|
|
14
|
+
getError(e) {
|
|
15
|
+
return new RocosError_1.RocosError(e, RocosError_1.errorCodes.WORKFLOW_SERVICE_ERROR);
|
|
16
|
+
}
|
|
17
|
+
getStatus() {
|
|
18
|
+
return true;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Create workflow
|
|
22
|
+
*
|
|
23
|
+
* @param projectId - Project Id
|
|
24
|
+
* @param model - Payload
|
|
25
|
+
*/
|
|
26
|
+
// TODO: map the request model
|
|
27
|
+
// TODO: map the response object
|
|
28
|
+
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
|
|
29
|
+
async createOne(projectId, model) {
|
|
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}.`);
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Get workflows for project
|
|
34
|
+
*
|
|
35
|
+
* @param projectId - Project Id
|
|
36
|
+
* @param includeRocosGraph - Include Rocos graph
|
|
37
|
+
* @param includeStats - Include stats
|
|
38
|
+
* @param opsId - Ops Id
|
|
39
|
+
* @param workflowIds - Workflow Id's
|
|
40
|
+
*/
|
|
41
|
+
// TODO: map the response object
|
|
42
|
+
async getAll(projectId, includeRocosGraph = false, includeStats = false, opsId, workflowIds) {
|
|
43
|
+
const params = {
|
|
44
|
+
includeRocosGraph: includeRocosGraph ? 1 : 0,
|
|
45
|
+
includeStats: includeStats ? 1 : 0,
|
|
46
|
+
};
|
|
47
|
+
if (opsId) {
|
|
48
|
+
params.opsId = opsId;
|
|
49
|
+
}
|
|
50
|
+
if (workflowIds) {
|
|
51
|
+
params.workflowIds = workflowIds.join(',');
|
|
52
|
+
}
|
|
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);
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Get a workflow
|
|
57
|
+
*
|
|
58
|
+
* @param projectId - Project Id
|
|
59
|
+
* @param workflowId - Workflow Id
|
|
60
|
+
* @param includeInstances - Include instances
|
|
61
|
+
*/
|
|
62
|
+
// TODO: map the response object
|
|
63
|
+
async getOne(projectId, workflowId, includeInstances = false) {
|
|
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 });
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Update a workflow
|
|
68
|
+
*
|
|
69
|
+
* @param projectId - Project Id
|
|
70
|
+
* @param workflowId - Workflow Id
|
|
71
|
+
* @param model - Payload
|
|
72
|
+
*/
|
|
73
|
+
// TODO: map the request model
|
|
74
|
+
// TODO: map the response object
|
|
75
|
+
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
|
|
76
|
+
async updateOne(projectId, workflowId, model) {
|
|
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}.`);
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Delete a workflow
|
|
81
|
+
*
|
|
82
|
+
* @param projectId - Project Id
|
|
83
|
+
* @param workflowId - Workflow Id
|
|
84
|
+
*/
|
|
85
|
+
// TODO: map the response object
|
|
86
|
+
async deleteOne(projectId, 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}.`);
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Get all workflows for a robot
|
|
91
|
+
*
|
|
92
|
+
* @param projectId - Project Id
|
|
93
|
+
* @param callsign - Robot callsign
|
|
94
|
+
*/
|
|
95
|
+
// TODO: map the response object
|
|
96
|
+
async getAllOfRobot(projectId, 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}.`);
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Update workflows for a robot
|
|
101
|
+
*
|
|
102
|
+
* @param projectId - Project Id
|
|
103
|
+
* @param callsign - Robot callsign
|
|
104
|
+
* @param model - Payload
|
|
105
|
+
*/
|
|
106
|
+
// TODO: map the request model
|
|
107
|
+
// TODO: map the response object
|
|
108
|
+
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
|
|
109
|
+
async updateAllForRobot(projectId, callsign, model) {
|
|
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}.`);
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Get deployed workflows on robot
|
|
114
|
+
*
|
|
115
|
+
* @param projectId - Project Id
|
|
116
|
+
* @param callsign - Robot callsign
|
|
117
|
+
*/
|
|
118
|
+
async getDeployedOnRobot(projectId, 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}.`);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
exports.WorkflowService = WorkflowService;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export * from './AssetStorageService';
|
|
2
|
+
export * from './AuthService';
|
|
3
|
+
export * from './CallerService';
|
|
4
|
+
export * from './CommandService';
|
|
5
|
+
export * from './ConfigGroupService';
|
|
6
|
+
export * from './ControlService';
|
|
7
|
+
export * from './DashboardService';
|
|
8
|
+
export * from './EventService';
|
|
9
|
+
export * from './FileAccessorService';
|
|
10
|
+
export * from './FunctionService';
|
|
11
|
+
export * from './IntegrationService';
|
|
12
|
+
export * from './ProfileService';
|
|
13
|
+
export * from './ProjectService';
|
|
14
|
+
export * from './RobotService';
|
|
15
|
+
export * from './SearchService';
|
|
16
|
+
export * from './StreamService';
|
|
17
|
+
export * from './TelemetryService';
|
|
18
|
+
export * from './UserService';
|
|
19
|
+
export * from './WebRTCSignallingService';
|
|
20
|
+
export * from './WorkflowService';
|
|
21
|
+
export * from './ScheduleService';
|
|
22
|
+
export * from './TimeSyncerService';
|
|
23
|
+
export * from './PlatformTimeService';
|
|
24
|
+
export * from './SpotProvisioningService';
|
|
25
|
+
export * from './SpotProvisioningServiceNode';
|
|
26
|
+
export * from './MapService';
|
|
@@ -0,0 +1,38 @@
|
|
|
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);
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { IRocosChangeMessage } from '../models/message/IRocosChangeMessage';
|
|
2
|
+
import { IRocosSDK } from '../IRocosSDK';
|
|
3
|
+
import { IRocosSDKConfig } from '../models/IRocosSDKConfig';
|
|
4
|
+
import { Subject } from 'rxjs';
|
|
5
|
+
export declare class RocosStore {
|
|
6
|
+
private static changeSubject$?;
|
|
7
|
+
protected static instances: Record<string, IRocosSDK>;
|
|
8
|
+
/**
|
|
9
|
+
* A static method to get the change subject.
|
|
10
|
+
*/
|
|
11
|
+
static getChangeSubject(): Subject<IRocosChangeMessage>;
|
|
12
|
+
/**
|
|
13
|
+
* A static method to get the SDK instance from instance register.
|
|
14
|
+
*
|
|
15
|
+
* @param config - SDK config {@link IRocosSDKConfig}
|
|
16
|
+
*/
|
|
17
|
+
static getSDKInstance(config: IRocosSDKConfig): IRocosSDK;
|
|
18
|
+
/**
|
|
19
|
+
* A static method to put the SDK instance from instance register.
|
|
20
|
+
*
|
|
21
|
+
* @param config - SDK config {@link IRocosSDKConfig}
|
|
22
|
+
* @param instance - SDK instance {@link IRocosSDK}
|
|
23
|
+
*/
|
|
24
|
+
static putSDKInstance(config: IRocosSDKConfig, instance: IRocosSDK): void;
|
|
25
|
+
/**
|
|
26
|
+
* A static method to remove the SDK instance from instance register.
|
|
27
|
+
*
|
|
28
|
+
* @param config - SDK config {@link IRocosSDKConfig}
|
|
29
|
+
*/
|
|
30
|
+
static removeSDKInstance(config: IRocosSDKConfig): void;
|
|
31
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
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 {
|
|
7
|
+
/**
|
|
8
|
+
* A static method to get the change subject.
|
|
9
|
+
*/
|
|
10
|
+
static getChangeSubject() {
|
|
11
|
+
if (!RocosStore.changeSubject$) {
|
|
12
|
+
RocosStore.changeSubject$ = new rxjs_1.Subject();
|
|
13
|
+
}
|
|
14
|
+
return RocosStore.changeSubject$;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* A static method to get the SDK instance from instance register.
|
|
18
|
+
*
|
|
19
|
+
* @param config - SDK config {@link IRocosSDKConfig}
|
|
20
|
+
*/
|
|
21
|
+
static getSDKInstance(config) {
|
|
22
|
+
const uniqueConfigKey = getUniqueConfigKey_1.getUniqueConfigKey(config);
|
|
23
|
+
return RocosStore.instances[uniqueConfigKey];
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* A static method to put the SDK instance from instance register.
|
|
27
|
+
*
|
|
28
|
+
* @param config - SDK config {@link IRocosSDKConfig}
|
|
29
|
+
* @param instance - SDK instance {@link IRocosSDK}
|
|
30
|
+
*/
|
|
31
|
+
static putSDKInstance(config, instance) {
|
|
32
|
+
var _a;
|
|
33
|
+
const uniqueConfigKey = getUniqueConfigKey_1.getUniqueConfigKey(config);
|
|
34
|
+
if (!((_a = RocosStore.instances) === null || _a === void 0 ? void 0 : _a[uniqueConfigKey])) {
|
|
35
|
+
RocosStore.instances[uniqueConfigKey] = instance;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* A static method to remove the SDK instance from instance register.
|
|
40
|
+
*
|
|
41
|
+
* @param config - SDK config {@link IRocosSDKConfig}
|
|
42
|
+
*/
|
|
43
|
+
static removeSDKInstance(config) {
|
|
44
|
+
var _a;
|
|
45
|
+
const uniqueConfigKey = getUniqueConfigKey_1.getUniqueConfigKey(config);
|
|
46
|
+
if ((_a = RocosStore.instances) === null || _a === void 0 ? void 0 : _a[uniqueConfigKey]) {
|
|
47
|
+
delete RocosStore.instances[uniqueConfigKey];
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
exports.RocosStore = RocosStore;
|
|
52
|
+
// TODO(matej): migrate to non static instance registry
|
|
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
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LocalTransform = void 0;
|
|
4
|
+
const transformationmatrix_1 = require("./transformationmatrix");
|
|
5
|
+
const helperfunctions_1 = require("./helperfunctions");
|
|
6
|
+
// LocalTransform is the implementation of Transform locally within the script
|
|
7
|
+
class LocalTransform {
|
|
8
|
+
constructor(origin, basis, frameID) {
|
|
9
|
+
this.origin = origin;
|
|
10
|
+
this.basis = basis;
|
|
11
|
+
this.frameID = frameID;
|
|
12
|
+
}
|
|
13
|
+
ID() { return this.frameID; }
|
|
14
|
+
ParentID(tree) { return tree.getParent(this.ID()); }
|
|
15
|
+
GetRotation() { return this.basis; }
|
|
16
|
+
GetPosition() { return this.origin; }
|
|
17
|
+
GetTransformationMatrix() {
|
|
18
|
+
return new transformationmatrix_1.TransformationMatrix([[this.basis.elements[0][0], this.basis.elements[0][1], this.basis.elements[0][2], this.origin.elements[0][0]],
|
|
19
|
+
[this.basis.elements[1][0], this.basis.elements[1][1], this.basis.elements[1][2], this.origin.elements[1][0]],
|
|
20
|
+
[this.basis.elements[2][0], this.basis.elements[2][1], this.basis.elements[2][2], this.origin.elements[2][0]],
|
|
21
|
+
[0, 0, 0, 1]]);
|
|
22
|
+
}
|
|
23
|
+
// ToFrame returns the transformation matrix relative to the new specified frame
|
|
24
|
+
ToFrame(tree, resultFrameID) {
|
|
25
|
+
var originalFrameID = this.ID();
|
|
26
|
+
if (originalFrameID == resultFrameID) {
|
|
27
|
+
return this.GetTransformationMatrix();
|
|
28
|
+
}
|
|
29
|
+
else if (tree.isDescendant(originalFrameID, resultFrameID)) {
|
|
30
|
+
return helperfunctions_1.frameToFrameTransformationMatrixSeq(tree, tree.getSeqDown(originalFrameID, resultFrameID), false);
|
|
31
|
+
}
|
|
32
|
+
else if (tree.isAncestor(originalFrameID, resultFrameID)) {
|
|
33
|
+
return helperfunctions_1.frameToFrameTransformationMatrixSeq(tree, tree.getSeqDown(resultFrameID, originalFrameID), true);
|
|
34
|
+
}
|
|
35
|
+
else { // Frames are on different branches
|
|
36
|
+
var commonNode = tree.getCommonFrameID(originalFrameID, resultFrameID);
|
|
37
|
+
// Calculate the transformation matrix of each frame relative to the common node
|
|
38
|
+
var totalTM1 = helperfunctions_1.frameToFrameTransformationMatrixSeq(tree, tree.getSeqDown(originalFrameID, commonNode), false); // calculate down tree matrix
|
|
39
|
+
var totalTM2 = helperfunctions_1.frameToFrameTransformationMatrixSeq(tree, tree.getSeqDown(resultFrameID, commonNode), true); // calculate up the tree (inverses)
|
|
40
|
+
var totalTM = totalTM2.Multiply(totalTM1);
|
|
41
|
+
if (totalTM instanceof transformationmatrix_1.TransformationMatrix) {
|
|
42
|
+
return new transformationmatrix_1.TransformationMatrix(totalTM.elements);
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
throw "Erorr occurred";
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
exports.LocalTransform = LocalTransform;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { FrameID } from './misc';
|
|
2
|
+
import { LocalTransform } from './localtransform';
|
|
3
|
+
export declare class LocalTransformTree {
|
|
4
|
+
frames: Map<FrameID, LocalTransform>;
|
|
5
|
+
parents: Map<FrameID, FrameID>;
|
|
6
|
+
children: Map<FrameID, FrameID[]>;
|
|
7
|
+
constructor(frames: Map<FrameID, LocalTransform>, parents: Map<FrameID, FrameID>, children: Map<FrameID, FrameID[]>);
|
|
8
|
+
getFrame(searchID: FrameID): LocalTransform;
|
|
9
|
+
getSeqDown(start: FrameID, end: FrameID): FrameID[];
|
|
10
|
+
getCommonFrameID(frame1ID: FrameID, frame2ID: FrameID): FrameID;
|
|
11
|
+
getParent(searchID: FrameID): FrameID;
|
|
12
|
+
getChildren(searchID: FrameID): FrameID[];
|
|
13
|
+
isChild(originalFrameID: FrameID, resultFrameID: FrameID): boolean;
|
|
14
|
+
isParent(originalFrameID: FrameID, resultFrameID: FrameID): boolean;
|
|
15
|
+
isAncestor(originalFrameID: FrameID, resultFrameID: FrameID): boolean;
|
|
16
|
+
isDescendant(originalFrameID: FrameID, resultFrameID: FrameID): boolean;
|
|
17
|
+
}
|