diff --git a/README.md b/README.md index bbea1cd..344fef9 100644 --- a/README.md +++ b/README.md @@ -23,6 +23,12 @@ To generate a single `dis6.min.js` and `dis7.min.js` from the source files, run `$ npm install` +## Types + +To generate the types of DIS 6 for Typescript, run the following command: + +`$ npm run types` + # Release Releases are published to http://npmjs.com/package/open-dis diff --git a/package-lock.json b/package-lock.json index adfadb7..f1f89bf 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,6 +14,8 @@ }, "devDependencies": { "eslint": "^6.7.1", + "rimraf": "^6.0.1", + "tsd-jsdoc": "^2.5.0", "uglify-js": "^3.7.0" } }, @@ -29,11 +31,23 @@ "node": ">=6.9.0" } }, + "node_modules/@babel/helper-string-parser": { + "version": "7.25.9", + "resolved": "http://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", + "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.15.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz", - "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==", + "version": "7.25.9", + "resolved": "http://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", + "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } @@ -52,6 +66,138 @@ "node": ">=6.9.0" } }, + "node_modules/@babel/parser": { + "version": "7.26.7", + "resolved": "http://registry.npmjs.org/@babel/parser/-/parser-7.26.7.tgz", + "integrity": "sha512-kEvgGGgEjRUutvdVvZhbn/BxVt+5VSpwXz1j3WYXQbXDo8KzFOPNG2GQbdAiNq8g6wn1yKk7C/qrke03a84V+w==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/types": "^7.26.7" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/types": { + "version": "7.26.7", + "resolved": "http://registry.npmjs.org/@babel/types/-/types-7.26.7.tgz", + "integrity": "sha512-t8kDRGrKXyp6+tjUh7hw2RLyclsW4TRoRvRHtSyAX9Bb5ldlFh+90YAYY6awRXrlB4G5G2izNeGySpATlFzmOg==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/helper-string-parser": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "http://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "http://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "http://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", + "resolved": "http://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/@types/linkify-it": { + "version": "5.0.0", + "resolved": "http://registry.npmjs.org/@types/linkify-it/-/linkify-it-5.0.0.tgz", + "integrity": "sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/@types/markdown-it": { + "version": "12.2.3", + "resolved": "http://registry.npmjs.org/@types/markdown-it/-/markdown-it-12.2.3.tgz", + "integrity": "sha512-GKMHFfv3458yYy+v/N8gjufHO6MSZKCOXpZc5GXIWWy8uldwfmPn98vp81gZ5f9SVw8YYBctgfJ22a2d7AOMeQ==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@types/linkify-it": "*", + "@types/mdurl": "*" + } + }, + "node_modules/@types/mdurl": { + "version": "2.0.0", + "resolved": "http://registry.npmjs.org/@types/mdurl/-/mdurl-2.0.0.tgz", + "integrity": "sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==", + "dev": true, + "license": "MIT", + "peer": true + }, "node_modules/acorn": { "version": "7.4.1", "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", @@ -161,6 +307,14 @@ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true }, + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "http://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true, + "license": "MIT", + "peer": true + }, "node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -180,6 +334,20 @@ "node": ">=6" } }, + "node_modules/catharsis": { + "version": "0.9.0", + "resolved": "http://registry.npmjs.org/catharsis/-/catharsis-0.9.0.tgz", + "integrity": "sha512-prMTQVpcns/tzFgFVkVp6ak6RykZyWb3gu8ckUpd6YkTlacOd3DXGJjIpD4Q6zJirizvaiAjSSHlOsA+6sNh2A==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "lodash": "^4.17.15" + }, + "engines": { + "node": ">= 10" + } + }, "node_modules/chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", @@ -302,12 +470,30 @@ "node": ">=6.0.0" } }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "http://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true, + "license": "MIT" + }, "node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true }, + "node_modules/entities": { + "version": "2.1.0", + "resolved": "http://registry.npmjs.org/entities/-/entities-2.1.0.tgz", + "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==", + "dev": true, + "license": "BSD-2-Clause", + "peer": true, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, "node_modules/escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", @@ -565,17 +751,148 @@ "node": ">=4" } }, + "node_modules/flat-cache/node_modules/glob": { + "version": "7.2.3", + "resolved": "http://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/flat-cache/node_modules/rimraf": { + "version": "2.6.3", + "resolved": "http://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "dev": true, + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, "node_modules/flatted": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", "dev": true }, + "node_modules/foreground-child": { + "version": "3.3.0", + "resolved": "http://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", + "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", + "dev": true, + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/foreground-child/node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "http://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/foreground-child/node_modules/path-key": { + "version": "3.1.1", + "resolved": "http://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/foreground-child/node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "http://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/foreground-child/node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "http://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/foreground-child/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "http://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/foreground-child/node_modules/which": { + "version": "2.0.2", + "resolved": "http://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, "node_modules/fs.realpath": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true + "resolved": "http://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true, + "license": "ISC" }, "node_modules/functional-red-black-tree": { "version": "1.0.1", @@ -584,20 +901,24 @@ "dev": true }, "node_modules/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "version": "11.0.1", + "resolved": "http://registry.npmjs.org/glob/-/glob-11.0.1.tgz", + "integrity": "sha512-zrQDm8XPnYEKawJScsnM0QzobJxlT/kHOOlRTio8IH/GrmxRE5fjllkzdaHclIuNjUQTJYH2xHNIGfdpJkDJUw==", "dev": true, + "license": "ISC", "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "foreground-child": "^3.1.0", + "jackspeak": "^4.0.1", + "minimatch": "^10.0.0", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^2.0.0" + }, + "bin": { + "glob": "dist/esm/bin.mjs" }, "engines": { - "node": "*" + "node": "20 || >=22" }, "funding": { "url": "https://github.com/sponsors/isaacs" @@ -615,6 +936,32 @@ "node": ">= 6" } }, + "node_modules/glob/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "http://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "10.0.1", + "resolved": "http://registry.npmjs.org/minimatch/-/minimatch-10.0.1.tgz", + "integrity": "sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/globals": { "version": "12.4.0", "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", @@ -630,6 +977,14 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "http://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true, + "license": "ISC", + "peer": true + }, "node_modules/has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", @@ -687,9 +1042,11 @@ }, "node_modules/inflight": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "resolved": "http://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", "dev": true, + "license": "ISC", "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -697,9 +1054,10 @@ }, "node_modules/inherits": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "resolved": "http://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/inquirer": { "version": "7.3.3", @@ -843,6 +1201,22 @@ "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", "dev": true }, + "node_modules/jackspeak": { + "version": "4.0.2", + "resolved": "http://registry.npmjs.org/jackspeak/-/jackspeak-4.0.2.tgz", + "integrity": "sha512-bZsjR/iRjl1Nk1UkjGpAzLNfQtzuijhn2g+pbZb98HQ1Gk8vM9hfbxeMBP+M2/UUdwj0RqGG3mlvk2MsAqwvEw==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -862,6 +1236,73 @@ "js-yaml": "bin/js-yaml.js" } }, + "node_modules/js2xmlparser": { + "version": "4.0.2", + "resolved": "http://registry.npmjs.org/js2xmlparser/-/js2xmlparser-4.0.2.tgz", + "integrity": "sha512-6n4D8gLlLf1n5mNLQPRfViYzu9RATblzPEtm1SthMX1Pjao0r9YI9nw7ZIfRxQMERS87mcswrg+r/OYrPRX6jA==", + "dev": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "xmlcreate": "^2.0.4" + } + }, + "node_modules/jsdoc": { + "version": "3.6.11", + "resolved": "http://registry.npmjs.org/jsdoc/-/jsdoc-3.6.11.tgz", + "integrity": "sha512-8UCU0TYeIYD9KeLzEcAu2q8N/mx9O3phAGl32nmHlE0LpaJL71mMkP4d+QE5zWfNt50qheHtOZ0qoxVrsX5TUg==", + "dev": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@babel/parser": "^7.9.4", + "@types/markdown-it": "^12.2.3", + "bluebird": "^3.7.2", + "catharsis": "^0.9.0", + "escape-string-regexp": "^2.0.0", + "js2xmlparser": "^4.0.2", + "klaw": "^3.0.0", + "markdown-it": "^12.3.2", + "markdown-it-anchor": "^8.4.1", + "marked": "^4.0.10", + "mkdirp": "^1.0.4", + "requizzle": "^0.2.3", + "strip-json-comments": "^3.1.0", + "taffydb": "2.6.2", + "underscore": "~1.13.2" + }, + "bin": { + "jsdoc": "jsdoc.js" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/jsdoc/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "http://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jsdoc/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "license": "MIT", + "peer": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -874,6 +1315,17 @@ "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", "dev": true }, + "node_modules/klaw": { + "version": "3.0.0", + "resolved": "http://registry.npmjs.org/klaw/-/klaw-3.0.0.tgz", + "integrity": "sha512-0Fo5oir+O9jnXu5EefYbVK+mHMBeEVEy2cmctR1O1NECcCkPRreJKrS6Qt/j3KC2C148Dfo9i3pCmCMsdqGr0g==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "graceful-fs": "^4.1.9" + } + }, "node_modules/levn": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", @@ -887,6 +1339,17 @@ "node": ">= 0.8.0" } }, + "node_modules/linkify-it": { + "version": "3.0.3", + "resolved": "http://registry.npmjs.org/linkify-it/-/linkify-it-3.0.3.tgz", + "integrity": "sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "uc.micro": "^1.0.1" + } + }, "node_modules/lodash": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", @@ -901,6 +1364,76 @@ "node": ">=0.6" } }, + "node_modules/lru-cache": { + "version": "11.0.2", + "resolved": "http://registry.npmjs.org/lru-cache/-/lru-cache-11.0.2.tgz", + "integrity": "sha512-123qHRfJBmo2jXDbo/a5YOQrJoHF/GNQTLzQ5+IdK5pWpceK17yRc6ozlWd25FxvGKQbIUs91fDFkXmDHTKcyA==", + "dev": true, + "license": "ISC", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/markdown-it": { + "version": "12.3.2", + "resolved": "http://registry.npmjs.org/markdown-it/-/markdown-it-12.3.2.tgz", + "integrity": "sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "argparse": "^2.0.1", + "entities": "~2.1.0", + "linkify-it": "^3.0.1", + "mdurl": "^1.0.1", + "uc.micro": "^1.0.5" + }, + "bin": { + "markdown-it": "bin/markdown-it.js" + } + }, + "node_modules/markdown-it-anchor": { + "version": "8.6.7", + "resolved": "http://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-8.6.7.tgz", + "integrity": "sha512-FlCHFwNnutLgVTflOYHPW2pPcl2AACqVzExlkGQNsi4CJgqOHN7YTgDd4LuhgN1BFO3TS0vLAruV1Td6dwWPJA==", + "dev": true, + "license": "Unlicense", + "peer": true, + "peerDependencies": { + "@types/markdown-it": "*", + "markdown-it": "*" + } + }, + "node_modules/markdown-it/node_modules/argparse": { + "version": "2.0.1", + "resolved": "http://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, + "license": "Python-2.0", + "peer": true + }, + "node_modules/marked": { + "version": "4.3.0", + "resolved": "http://registry.npmjs.org/marked/-/marked-4.3.0.tgz", + "integrity": "sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==", + "dev": true, + "license": "MIT", + "peer": true, + "bin": { + "marked": "bin/marked.js" + }, + "engines": { + "node": ">= 12" + } + }, + "node_modules/mdurl": { + "version": "1.0.1", + "resolved": "http://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", + "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==", + "dev": true, + "license": "MIT", + "peer": true + }, "node_modules/mimic-fn": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", @@ -928,6 +1461,16 @@ "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", "dev": true }, + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "http://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, "node_modules/mkdirp": { "version": "0.5.5", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", @@ -966,9 +1509,10 @@ }, "node_modules/once": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "resolved": "http://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "dev": true, + "license": "ISC", "dependencies": { "wrappy": "1" } @@ -1014,6 +1558,13 @@ "node": ">=0.10.0" } }, + "node_modules/package-json-from-dist": { + "version": "1.0.1", + "resolved": "http://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", + "dev": true, + "license": "BlueOak-1.0.0" + }, "node_modules/parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -1028,9 +1579,10 @@ }, "node_modules/path-is-absolute": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "resolved": "http://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -1044,6 +1596,23 @@ "node": ">=4" } }, + "node_modules/path-scurry": { + "version": "2.0.0", + "resolved": "http://registry.npmjs.org/path-scurry/-/path-scurry-2.0.0.tgz", + "integrity": "sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^11.0.0", + "minipass": "^7.1.2" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/prelude-ls": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", @@ -1080,6 +1649,17 @@ "node": ">=6.5.0" } }, + "node_modules/requizzle": { + "version": "0.2.4", + "resolved": "http://registry.npmjs.org/requizzle/-/requizzle-0.2.4.tgz", + "integrity": "sha512-JRrFk1D4OQ4SqovXOgdav+K8EAhSB/LJZqCz8tbX0KObcdeM15Ss59ozWMBWmmINMagCwmqn4ZNryUGpBsl6Jw==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "lodash": "^4.17.21" + } + }, "node_modules/resolve-from": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", @@ -1103,15 +1683,23 @@ } }, "node_modules/rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "version": "6.0.1", + "resolved": "http://registry.npmjs.org/rimraf/-/rimraf-6.0.1.tgz", + "integrity": "sha512-9dkvaxAsk/xNXSJzMgFqqMCuFgt2+KsOFek3TMLfo8NCPfWpBmqwyNn5Y+NX56QUYfCtsyhF3ayiboEoUmJk/A==", "dev": true, + "license": "ISC", "dependencies": { - "glob": "^7.1.3" + "glob": "^11.0.0", + "package-json-from-dist": "^1.0.0" }, "bin": { - "rimraf": "bin.js" + "rimraf": "dist/esm/bin.mjs" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/run-async": { @@ -1220,6 +1808,35 @@ "node": ">=8" } }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "http://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/string-width/node_modules/strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", @@ -1244,6 +1861,20 @@ "node": ">=6" } }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/strip-ansi/node_modules/ansi-regex": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", @@ -1321,6 +1952,13 @@ "node": ">=6" } }, + "node_modules/taffydb": { + "version": "2.6.2", + "resolved": "http://registry.npmjs.org/taffydb/-/taffydb-2.6.2.tgz", + "integrity": "sha512-y3JaeRSplks6NYQuCOj3ZFMO3j60rTwbuKCvZxsAraGYH2epusatvZ0baZYA01WsGqJBq/Dl6vOrMUJqyMj8kA==", + "dev": true, + "peer": true + }, "node_modules/text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", @@ -1345,6 +1983,19 @@ "node": ">=0.6.0" } }, + "node_modules/tsd-jsdoc": { + "version": "2.5.0", + "resolved": "http://registry.npmjs.org/tsd-jsdoc/-/tsd-jsdoc-2.5.0.tgz", + "integrity": "sha512-80fcJLAiUeerg4xPftp+iEEKWUjJjHk9AvcHwJqA8Zw0R4oASdu3kT/plE/Zj19QUTz8KupyOX25zStlNJjS9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "typescript": "^3.2.1" + }, + "peerDependencies": { + "jsdoc": "^3.6.3" + } + }, "node_modules/tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", @@ -1372,6 +2023,28 @@ "node": ">=8" } }, + "node_modules/typescript": { + "version": "3.9.10", + "resolved": "http://registry.npmjs.org/typescript/-/typescript-3.9.10.tgz", + "integrity": "sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/uc.micro": { + "version": "1.0.6", + "resolved": "http://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", + "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==", + "dev": true, + "license": "MIT", + "peer": true + }, "node_modules/uglify-js": { "version": "3.14.3", "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.14.3.tgz", @@ -1390,6 +2063,14 @@ "integrity": "sha512-iR5+eXZCsoqmlzqYYENJm+rtX/KpC+jhhCtgORtBeVxRET+mfFHlyArl3DgYEqRTVDOxenv0OojFg02tf6LluA==", "deprecated": "uglifyjs is deprecated - use uglify-js instead." }, + "node_modules/underscore": { + "version": "1.13.7", + "resolved": "http://registry.npmjs.org/underscore/-/underscore-1.13.7.tgz", + "integrity": "sha512-GMXzWtsc57XAtguZgaQViUOzs0KTkk8ojr3/xAxXLITqf/3EMwxC0inyETfDFjH/Krbhuep0HNbbjI9i/q3F3g==", + "dev": true, + "license": "MIT", + "peer": true + }, "node_modules/uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", @@ -1426,11 +2107,165 @@ "node": ">=0.10.0" } }, + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "http://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "http://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "http://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "http://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/color-name": { + "version": "1.1.4", + "resolved": "http://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "http://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "http://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "http://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true, + "license": "MIT" + }, + "node_modules/wrap-ansi/node_modules/string-width": { + "version": "5.1.2", + "resolved": "http://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, "node_modules/wrappy": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true + "resolved": "http://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true, + "license": "ISC" }, "node_modules/write": { "version": "1.0.3", @@ -1443,6 +2278,14 @@ "engines": { "node": ">=4" } + }, + "node_modules/xmlcreate": { + "version": "2.0.4", + "resolved": "http://registry.npmjs.org/xmlcreate/-/xmlcreate-2.0.4.tgz", + "integrity": "sha512-nquOebG4sngPmGPICTS5EnxqhKbCmz5Ox5hsszI2T6U5qdrJizBc+0ilYSEjTSzU0yZcmvppztXe/5Al5fUwdg==", + "dev": true, + "license": "Apache-2.0", + "peer": true } } } diff --git a/package.json b/package.json index 23e71ef..a435e4e 100644 --- a/package.json +++ b/package.json @@ -3,10 +3,12 @@ "version": "1.3.6", "description": "Javascript Node module for IEEE 1278.1, Distributed Interactive Simulation", "main": "./dist/dis6.min.js", + "types": "./types/types.d.ts", "scripts": { "lint": "eslint \"src/**/*.js\"", "test": "echo \"Error: no test specified\" && exit 1", - "prepare": "rimraf dist && mkdir dist && uglifyjs src/dis/*.js src/disSupporting/*.js -o dist/dis6.min.js && uglifyjs src/dis7/*.js src/disSupporting/*.js -o dist/dis7.min.js" + "prepare": "rimraf dist && mkdir dist && uglifyjs src/dis/*.js src/disSupporting/*.js -o dist/dis6.min.js && uglifyjs src/dis7/*.js src/disSupporting/*.js -o dist/dis7.min.js", + "types": "jsdoc -t ./node_modules/tsd-jsdoc/dist/ -r ./src/dis/ ./src/disSupporting -d types && node types-module.js" }, "repository": { "type": "git", @@ -38,10 +40,12 @@ "devDependencies": { "eslint": "^6.7.1", "rimraf": "^6.0.1", + "tsd-jsdoc": "^2.5.0", "uglify-js": "^3.7.0" }, "files": [ "dist", - "src" + "src", + "types" ] } diff --git a/src/dis/AcknowledgePdu.js b/src/dis/AcknowledgePdu.js index 474d635..51e2ffb 100644 --- a/src/dis/AcknowledgePdu.js +++ b/src/dis/AcknowledgePdu.js @@ -16,45 +16,99 @@ if (typeof dis === "undefined") if (typeof exports === "undefined") exports = {}; - +/** + * @constructor + * @memberof dis + */ dis.AcknowledgePdu = function() { - /** The version of the protocol. 5=DIS-1995, 6=DIS-1998. */ + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + * @type {number} + * @instance + */ this.protocolVersion = 6; - /** Exercise ID */ + /** + * Exercise ID + * @type {number} + * @instance + */ this.exerciseID = 0; - /** Type of pdu, unique for each PDU class */ + /** + * Type of pdu, unique for each PDU class + * @type {number} + * @instance + */ this.pduType = 15; - /** value that refers to the protocol family, eg SimulationManagement, et */ + /** + * value that refers to the protocol family, eg SimulationManagement, et + * @type {number} + * @instance + */ this.protocolFamily = 5; - /** Timestamp value */ + /** + * Timestamp value + * @type {number} + * @instance + */ this.timestamp = 0; - /** Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word */ + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + * @type {number} + * @instance + */ this.pduLength = 0; - /** zero-filled array of padding */ + /** + * zero-filled array of padding + * @type {number} + * @instance + */ this.padding = 0; - /** Entity that is sending message */ + /** + * Entity that is sending message + * @type {number} + * @instance + */ this.originatingEntityID = new dis.EntityID(); - /** Entity that is intended to receive message */ + /** + * Entity that is intended to receive message + * @type {number} + * @instance + */ this.receivingEntityID = new dis.EntityID(); - /** type of message being acknowledged */ + /** + * type of message being acknowledged + * @type {number} + * @instance + */ this.acknowledgeFlag = 0; - /** Whether or not the receiving entity was able to comply with the request */ + /** + * Whether or not the receiving entity was able to comply with the request + * @type {number} + * @instance + */ this.responseFlag = 0; - /** Request ID that is unique */ + /** + * Request ID that is unique + * @type {number} + * @instance + */ this.requestID = 0; + /** + * @param {InputStream} inputStream + */ dis.AcknowledgePdu.prototype.initFromBinary = function(inputStream) { this.protocolVersion = inputStream.readUByte(); @@ -71,6 +125,9 @@ dis.AcknowledgePdu = function() this.requestID = inputStream.readUInt(); }; + /** + * @param {OutputStream} outputStream + */ dis.AcknowledgePdu.prototype.encodeToBinary = function(outputStream) { outputStream.writeUByte(this.protocolVersion); diff --git a/src/dis/AcknowledgeReliablePdu.js b/src/dis/AcknowledgeReliablePdu.js index 6cf4c95..661a738 100644 --- a/src/dis/AcknowledgeReliablePdu.js +++ b/src/dis/AcknowledgeReliablePdu.js @@ -16,45 +16,99 @@ if (typeof dis === "undefined") if (typeof exports === "undefined") exports = {}; - +/** + * @constructor + * @memberof dis + */ dis.AcknowledgeReliablePdu = function() { - /** The version of the protocol. 5=DIS-1995, 6=DIS-1998. */ + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + * @type {number} + * @instance + */ this.protocolVersion = 6; - /** Exercise ID */ + /** + * Exercise ID + * @type {number} + * @instance + */ this.exerciseID = 0; - /** Type of pdu, unique for each PDU class */ + /** + * Type of pdu, unique for each PDU class + * @type {number} + * @instance + */ this.pduType = 55; - /** value that refers to the protocol family, eg SimulationManagement, et */ + /** + * value that refers to the protocol family, eg SimulationManagement, et + * @type {number} + * @instance + */ this.protocolFamily = 10; - /** Timestamp value */ + /** + * Timestamp value + * @type {number} + * @instance + */ this.timestamp = 0; - /** Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word */ + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + * @type {number} + * @instance + */ this.pduLength = 0; - /** zero-filled array of padding */ + /** + * zero-filled array of padding + * @type {number} + * @instance + */ this.padding = 0; - /** Object originatig the request */ + /** + * Object originatig the request + * @type {EntityID} + * @instance + */ this.originatingEntityID = new dis.EntityID(); - /** Object with which this point object is associated */ + /** + * Object with which this point object is associated + * @type {EntityID} + * @instance + */ this.receivingEntityID = new dis.EntityID(); - /** ack flags */ + /** + * ack flags + * @type {number} + * @instance + */ this.acknowledgeFlag = 0; - /** response flags */ + /** + * response flags + * @type {number} + * @instance + */ this.responseFlag = 0; - /** Request ID */ + /** + * Request ID + * @type {number} + * @instance + */ this.requestID = 0; + /** + * @param {InputStream} inputStream + */ dis.AcknowledgeReliablePdu.prototype.initFromBinary = function(inputStream) { this.protocolVersion = inputStream.readUByte(); @@ -71,6 +125,9 @@ dis.AcknowledgeReliablePdu = function() this.requestID = inputStream.readUInt(); }; + /** + * @param {OutputStream} outputStream + */ dis.AcknowledgeReliablePdu.prototype.encodeToBinary = function(outputStream) { outputStream.writeUByte(this.protocolVersion); @@ -88,7 +145,7 @@ dis.AcknowledgeReliablePdu = function() }; }; // end of class - // node.js module support +// node.js module support exports.AcknowledgeReliablePdu = dis.AcknowledgeReliablePdu; // End of AcknowledgeReliablePdu class diff --git a/src/dis/AcousticBeamData.js b/src/dis/AcousticBeamData.js index f7ab200..d433ed0 100644 --- a/src/dis/AcousticBeamData.js +++ b/src/dis/AcousticBeamData.js @@ -17,20 +17,43 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.AcousticBeamData = function() { - /** beam data length */ + /** + * beam data length + * @type {number} + * @instance + */ this.beamDataLength = 0; - /** beamIDNumber */ + /** + * beamIDNumber + * @type {number} + * @instance + */ this.beamIDNumber = 0; - /** padding */ + /** + * padding + * @type {number} + * @instance + */ this.pad2 = 0; - /** fundamental data parameters */ + /** + * fundamental data parameters + * @type {AcousticBeamFundamentalParameter} + * @instance + */ this.fundamentalDataParameters = new dis.AcousticBeamFundamentalParameter(); + /** + * @param {InputStream} inputStream + */ dis.AcousticBeamData.prototype.initFromBinary = function(inputStream) { this.beamDataLength = inputStream.readUShort(); @@ -39,6 +62,9 @@ dis.AcousticBeamData = function() this.fundamentalDataParameters.initFromBinary(inputStream); }; + /** + * @param {OutputStream} outputStream + */ dis.AcousticBeamData.prototype.encodeToBinary = function(outputStream) { outputStream.writeUShort(this.beamDataLength); diff --git a/src/dis/AcousticBeamFundamentalParameter.js b/src/dis/AcousticBeamFundamentalParameter.js index 5a19542..38f377a 100644 --- a/src/dis/AcousticBeamFundamentalParameter.js +++ b/src/dis/AcousticBeamFundamentalParameter.js @@ -17,26 +17,57 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.AcousticBeamFundamentalParameter = function() { - /** parameter index */ + /** + * parameter index + * @type {number} + * @instance + */ this.activeEmissionParameterIndex = 0; - /** scan pattern */ + /** + * scan pattern + * @type {number} + * @instance + */ this.scanPattern = 0; - /** beam center azimuth */ + /** + * beam center azimuth + * @type {number} + * @instance + */ this.beamCenterAzimuth = 0; - /** azimuthal beamwidth */ + /** + * azimuthal beamwidth + * @type {number} + * @instance + */ this.azimuthalBeamwidth = 0; - /** beam center */ + /** + * beam center + * @type {number} + * @instance + */ this.beamCenterDE = 0; - /** DE beamwidth (vertical beamwidth) */ + /** + * DE beamwidth (vertical beamwidth) + * @type {number} + * @instance + */ this.deBeamwidth = 0; + /** + * @param {InputStream} inputStream + */ dis.AcousticBeamFundamentalParameter.prototype.initFromBinary = function(inputStream) { this.activeEmissionParameterIndex = inputStream.readUShort(); @@ -47,6 +78,9 @@ dis.AcousticBeamFundamentalParameter = function() this.deBeamwidth = inputStream.readFloat32(); }; + /** + * @param {OutputStream} outputStream + */ dis.AcousticBeamFundamentalParameter.prototype.encodeToBinary = function(outputStream) { outputStream.writeUShort(this.activeEmissionParameterIndex); diff --git a/src/dis/AcousticEmitter.js b/src/dis/AcousticEmitter.js index f486cb3..7b7d4b0 100644 --- a/src/dis/AcousticEmitter.js +++ b/src/dis/AcousticEmitter.js @@ -17,17 +17,36 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.AcousticEmitter = function() { - /** the system for a particular UA emitter, and an enumeration */ + /** + * the system for a particular UA emitter, and an enumeration + * @type {number} + * @instance + */ this.acousticName = 0; - /** The function of the acoustic system */ + /** + * The function of the acoustic system + * @type {number} + * @instance + */ this.function = 0; - /** The UA emitter identification number relative to a specific system */ + /** + * The UA emitter identification number relative to a specific system + * @type {number} + * @instance + */ this.acousticIdNumber = 0; + /** + * @param {InputStream} inputStream + */ dis.AcousticEmitter.prototype.initFromBinary = function(inputStream) { this.acousticName = inputStream.readUShort(); @@ -35,6 +54,9 @@ dis.AcousticEmitter = function() this.acousticIdNumber = inputStream.readUByte(); }; + /** + * @param {OutputStream} outputStream + */ dis.AcousticEmitter.prototype.encodeToBinary = function(outputStream) { outputStream.writeUShort(this.acousticName); diff --git a/src/dis/AcousticEmitterSystem.js b/src/dis/AcousticEmitterSystem.js index 2fb46ea..fa6255c 100644 --- a/src/dis/AcousticEmitterSystem.js +++ b/src/dis/AcousticEmitterSystem.js @@ -17,17 +17,36 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.AcousticEmitterSystem = function() { - /** This field shall specify the system for a particular UA emitter. */ + /** + * This field shall specify the system for a particular UA emitter. + * @type {number} + * @instance + */ this.acousticName = 0; - /** This field shall describe the function of the acoustic system. */ + /** + * This field shall describe the function of the acoustic system. + * @type {number} + * @instance + */ this.acousticFunction = 0; - /** This field shall specify the UA emitter identification number relative to a specific system. This field shall be represented by an 8-bit unsigned integer. This field allows the differentiation of multiple systems on an entity, even if in some instances two or more of the systems may be identical UA emitter types. Numbering of systems shall begin with the value 1. */ + /** + * This field shall specify the UA emitter identification number relative to a specific system. This field shall be represented by an 8-bit unsigned integer. This field allows the differentiation of multiple systems on an entity, even if in some instances two or more of the systems may be identical UA emitter types. Numbering of systems shall begin with the value 1. + * @type {number} + * @instance + */ this.acousticID = 0; + /** + * @param {InputStream} inputStream + */ dis.AcousticEmitterSystem.prototype.initFromBinary = function(inputStream) { this.acousticName = inputStream.readUShort(); @@ -35,6 +54,9 @@ dis.AcousticEmitterSystem = function() this.acousticID = inputStream.readUByte(); }; + /** + * @param {OutputStream} outputStream + */ dis.AcousticEmitterSystem.prototype.encodeToBinary = function(outputStream) { outputStream.writeUShort(this.acousticName); diff --git a/src/dis/AcousticEmitterSystemData.js b/src/dis/AcousticEmitterSystemData.js index b02eb27..04b2318 100644 --- a/src/dis/AcousticEmitterSystemData.js +++ b/src/dis/AcousticEmitterSystemData.js @@ -17,26 +17,57 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.AcousticEmitterSystemData = function() { - /** Length of emitter system data */ + /** + * Length of emitter system data + * @type {number} + * @instance + */ this.emitterSystemDataLength = 0; - /** Number of beams */ + /** + * Number of beams + * @type {number} + * @instance + */ this.numberOfBeams = 0; - /** padding */ + /** + * padding + * @type {number} + * @instance + */ this.pad2 = 0; - /** This field shall specify the system for a particular UA emitter. */ + /** + * This field shall specify the system for a particular UA emitter. + * @type {AcousticEmitterSystem} + * @instance + */ this.acousticEmitterSystem = new dis.AcousticEmitterSystem(); - /** Represents the location wrt the entity */ + /** + * Represents the location wrt the entity + * @type {Vector3Float} + * @instance + */ this.emitterLocation = new dis.Vector3Float(); - /** For each beam in numberOfBeams, an emitter system. This is not right--the beam records need to be at the end of the PDU, rather than attached to each system. */ + /** + * For each beam in numberOfBeams, an emitter system. This is not right--the beam records need to be at the end of the PDU, rather than attached to each system. + * @type {Array} + * @instance + */ this.beamRecords = new Array(); + /** + * @param {InputStream} inputStream + */ dis.AcousticEmitterSystemData.prototype.initFromBinary = function(inputStream) { this.emitterSystemDataLength = inputStream.readUByte(); @@ -53,6 +84,9 @@ dis.AcousticEmitterSystemData = function() }; + /** + * @param {OutputStream} outputStream + */ dis.AcousticEmitterSystemData.prototype.encodeToBinary = function(outputStream) { outputStream.writeUByte(this.emitterSystemDataLength); diff --git a/src/dis/ActionRequestPdu.js b/src/dis/ActionRequestPdu.js index f52f1d3..643643a 100644 --- a/src/dis/ActionRequestPdu.js +++ b/src/dis/ActionRequestPdu.js @@ -17,53 +17,120 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.ActionRequestPdu = function() { - /** The version of the protocol. 5=DIS-1995, 6=DIS-1998. */ + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + * @type {number} + * @instance + */ this.protocolVersion = 6; - /** Exercise ID */ + /** + * Exercise ID + * @type {number} + * @instance + */ this.exerciseID = 0; - /** Type of pdu, unique for each PDU class */ + /** + * Type of pdu, unique for each PDU class + * @type {number} + * @instance + */ this.pduType = 16; - /** value that refers to the protocol family, eg SimulationManagement, et */ + /** + * value that refers to the protocol family, eg SimulationManagement, et + * @type {number} + * @instance + */ this.protocolFamily = 5; - /** Timestamp value */ + /** + * Timestamp value + * @type {number} + * @instance + */ this.timestamp = 0; - /** Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word */ + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + * @type {number} + * @instance + */ this.pduLength = 0; - /** zero-filled array of padding */ + /** + * zero-filled array of padding + * @type {number} + * @instance + */ this.padding = 0; - /** Entity that is sending message */ + /** + * Entity that is sending message + * @type {EntityID} + * @instance + */ this.originatingEntityID = new dis.EntityID(); - /** Entity that is intended to receive message */ + /** + * Entity that is intended to receive message + * @type {EntityID} + * @instance + */ this.receivingEntityID = new dis.EntityID(); - /** Request ID that is unique */ + /** + * Request ID that is unique + * @type {EntityID} + * @instance + */ this.requestID = 0; - /** identifies the action being requested */ + /** + * identifies the action being requested + * @type {number} + * @instance + */ this.actionID = 0; - /** Number of fixed datum records */ + /** + * Number of fixed datum records + * @type {number} + * @instance + */ this.numberOfFixedDatumRecords = 0; - /** Number of variable datum records */ + /** + * Number of variable datum records + * @type {number} + * @instance + */ this.numberOfVariableDatumRecords = 0; - /** variable length list of fixed datums */ + /** + * variable length list of fixed datums + * @type {Array} + * @instance + */ this.fixedDatums = new Array(); - /** variable length list of variable length datums */ + /** + * variable length list of variable length datums + * @type {Array} + * @instance + */ this.variableDatums = new Array(); + /** + * @param {InputStream} inputStream + */ dis.ActionRequestPdu.prototype.initFromBinary = function(inputStream) { this.protocolVersion = inputStream.readUByte(); @@ -95,6 +162,9 @@ dis.ActionRequestPdu = function() }; + /** + * @param {OutputStream} outputStream + */ dis.ActionRequestPdu.prototype.encodeToBinary = function(outputStream) { outputStream.writeUByte(this.protocolVersion); diff --git a/src/dis/ActionRequestReliablePdu.js b/src/dis/ActionRequestReliablePdu.js index b7b6efa..1722e50 100644 --- a/src/dis/ActionRequestReliablePdu.js +++ b/src/dis/ActionRequestReliablePdu.js @@ -17,62 +17,141 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.ActionRequestReliablePdu = function() { - /** The version of the protocol. 5=DIS-1995, 6=DIS-1998. */ + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + * @type {number} + * @instance + */ this.protocolVersion = 6; - /** Exercise ID */ + /** + * Exercise ID + * @type {number} + * @instance + */ this.exerciseID = 0; - /** Type of pdu, unique for each PDU class */ + /** + * Type of pdu, unique for each PDU class + * @type {number} + * @instance + */ this.pduType = 56; - /** value that refers to the protocol family, eg SimulationManagement, et */ + /** + * value that refers to the protocol family, eg SimulationManagement, et + * @type {number} + * @instance + */ this.protocolFamily = 10; - /** Timestamp value */ + /** + * Timestamp value + * @type {number} + * @instance + */ this.timestamp = 0; - /** Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word */ + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + * @type {number} + * @instance + */ this.pduLength = 0; - /** zero-filled array of padding */ + /** + * zero-filled array of padding + * @type {number} + * @instance + */ this.padding = 0; - /** Object originatig the request */ + /** + * Object originatig the request + * @type {EntityID} + * @instance + */ this.originatingEntityID = new dis.EntityID(); - /** Object with which this point object is associated */ + /** + * Object with which this point object is associated + * @type {EntityID} + * @instance + */ this.receivingEntityID = new dis.EntityID(); - /** level of reliability service used for this transaction */ + /** + * level of reliability service used for this transaction + * @type {number} + * @instance + */ this.requiredReliabilityService = 0; - /** padding */ + /** + * padding + * @type {number} + * @instance + */ this.pad1 = 0; - /** padding */ + /** + * padding + * @type {number} + * @instance + */ this.pad2 = 0; - /** request ID */ + /** + * request ID + * @type {number} + * @instance + */ this.requestID = 0; - /** request ID */ + /** + * request ID + * @type {number} + * @instance + */ this.actionID = 0; - /** Fixed datum record count */ + /** + * Fixed datum record count + * @type {number} + * @instance + */ this.numberOfFixedDatumRecords = 0; - /** variable datum record count */ + /** + * variable datum record count + * @type {number} + * @instance + */ this.numberOfVariableDatumRecords = 0; - /** Fixed datum records */ + /** + * Fixed datum records + * @type {Array} + * @instance + */ this.fixedDatumRecords = new Array(); - /** Variable datum records */ + /** + * Variable datum records + * @type {Array} + * @instance + */ this.variableDatumRecords = new Array(); + /** + * @param {InputStream} inputStream + */ dis.ActionRequestReliablePdu.prototype.initFromBinary = function(inputStream) { this.protocolVersion = inputStream.readUByte(); @@ -107,6 +186,9 @@ dis.ActionRequestReliablePdu = function() }; + /** + * @param {OutputStream} outputStream + */ dis.ActionRequestReliablePdu.prototype.encodeToBinary = function(outputStream) { outputStream.writeUByte(this.protocolVersion); diff --git a/src/dis/ActionResponsePdu.js b/src/dis/ActionResponsePdu.js index e1b8c87..38fe53f 100644 --- a/src/dis/ActionResponsePdu.js +++ b/src/dis/ActionResponsePdu.js @@ -17,53 +17,120 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.ActionResponsePdu = function() { - /** The version of the protocol. 5=DIS-1995, 6=DIS-1998. */ + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + * @type {number} + * @instance + */ this.protocolVersion = 6; - /** Exercise ID */ + /** + * Exercise ID + * @type {number} + * @instance + */ this.exerciseID = 0; - /** Type of pdu, unique for each PDU class */ + /** + * Type of pdu, unique for each PDU class + * @type {number} + * @instance + */ this.pduType = 17; - /** value that refers to the protocol family, eg SimulationManagement, et */ + /** + * value that refers to the protocol family, eg SimulationManagement, et + * @type {number} + * @instance + */ this.protocolFamily = 5; - /** Timestamp value */ + /** + * Timestamp value + * @type {number} + * @instance + */ this.timestamp = 0; - /** Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word */ + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + * @type {number} + * @instance + */ this.pduLength = 0; - /** zero-filled array of padding */ + /** + * zero-filled array of padding + * @type {number} + * @instance + */ this.padding = 0; - /** Entity that is sending message */ + /** + * Entity that is sending message + * @type {EntityID} + * @instance + */ this.originatingEntityID = new dis.EntityID(); - /** Entity that is intended to receive message */ + /** + * Entity that is intended to receive message + * @type {EntityID} + * @instance + */ this.receivingEntityID = new dis.EntityID(); - /** Request ID that is unique */ + /** + * Request ID that is unique + * @type {EntityID} + * @instance + */ this.requestID = 0; - /** Status of response */ + /** + * Status of response + * @type {number} + * @instance + */ this.requestStatus = 0; - /** Number of fixed datum records */ + /** + * Number of fixed datum records + * @type {number} + * @instance + */ this.numberOfFixedDatumRecords = 0; - /** Number of variable datum records */ + /** + * Number of variable datum records + * @type {number} + * @instance + */ this.numberOfVariableDatumRecords = 0; - /** variable length list of fixed datums */ + /** + * variable length list of fixed datums + * @type {Array} + * @instance + */ this.fixedDatums = new Array(); - /** variable length list of variable length datums */ + /** + * variable length list of variable length datums + * @type {Array} + * @instance + */ this.variableDatums = new Array(); + /** + * @param {InputStream} inputStream + */ dis.ActionResponsePdu.prototype.initFromBinary = function(inputStream) { this.protocolVersion = inputStream.readUByte(); @@ -95,6 +162,9 @@ dis.ActionResponsePdu = function() }; + /** + * @param {OutputStream} outputStream + */ dis.ActionResponsePdu.prototype.encodeToBinary = function(outputStream) { outputStream.writeUByte(this.protocolVersion); diff --git a/src/dis/ActionResponseReliablePdu.js b/src/dis/ActionResponseReliablePdu.js index 41b7dfa..e46e3d3 100644 --- a/src/dis/ActionResponseReliablePdu.js +++ b/src/dis/ActionResponseReliablePdu.js @@ -17,53 +17,120 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.ActionResponseReliablePdu = function() { - /** The version of the protocol. 5=DIS-1995, 6=DIS-1998. */ + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + * @type {number} + * @instance + */ this.protocolVersion = 6; - /** Exercise ID */ + /** + * Exercise ID + * @type {number} + * @instance + */ this.exerciseID = 0; - /** Type of pdu, unique for each PDU class */ + /** + * Type of pdu, unique for each PDU class + * @type {number} + * @instance + */ this.pduType = 57; - /** value that refers to the protocol family, eg SimulationManagement, et */ + /** + * value that refers to the protocol family, eg SimulationManagement, et + * @type {number} + * @instance + */ this.protocolFamily = 10; - /** Timestamp value */ + /** + * Timestamp value + * @type {number} + * @instance + */ this.timestamp = 0; - /** Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word */ + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + * @type {number} + * @instance + */ this.pduLength = 0; - /** zero-filled array of padding */ + /** + * zero-filled array of padding + * @type {number} + * @instance + */ this.padding = 0; - /** Object originatig the request */ + /** + * Object originatig the request + * @type {EntityID} + * @instance + */ this.originatingEntityID = new dis.EntityID(); - /** Object with which this point object is associated */ + /** + * Object with which this point object is associated + * @type {EntityID} + * @instance + */ this.receivingEntityID = new dis.EntityID(); - /** request ID */ + /** + * request ID + * @type {number} + * @instance + */ this.requestID = 0; - /** status of response */ + /** + * status of response + * @type {number} + * @instance + */ this.responseStatus = 0; - /** Fixed datum record count */ + /** + * Fixed datum record count + * @type {number} + * @instance + */ this.numberOfFixedDatumRecords = 0; - /** variable datum record count */ + /** + * variable datum record count + * @type {number} + * @instance + */ this.numberOfVariableDatumRecords = 0; - /** Fixed datum records */ + /** + * Fixed datum records + * @type {Array} + * @instance + */ this.fixedDatumRecords = new Array(); - /** Variable datum records */ + /** + * Variable datum records + * @type {Array} + * @instance + */ this.variableDatumRecords = new Array(); + /** + * @param {InputStream} inputStream + */ dis.ActionResponseReliablePdu.prototype.initFromBinary = function(inputStream) { this.protocolVersion = inputStream.readUByte(); @@ -95,6 +162,9 @@ dis.ActionResponseReliablePdu = function() }; + /** + * @param {OutputStream} outputStream + */ dis.ActionResponseReliablePdu.prototype.encodeToBinary = function(outputStream) { outputStream.writeUByte(this.protocolVersion); diff --git a/src/dis/AggregateID.js b/src/dis/AggregateID.js index 4695224..3720ddb 100644 --- a/src/dis/AggregateID.js +++ b/src/dis/AggregateID.js @@ -17,17 +17,36 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.AggregateID = function() { - /** The site ID */ + /** + * The site ID + * @type {number} + * @instance + */ this.site = 0; - /** The application ID */ + /** + * The application ID + * @type {number} + * @instance + */ this.application = 0; - /** the aggregate ID */ + /** + * the aggregate ID + * @type {number} + * @instance + */ this.aggregateID = 0; + /** + * @param {InputStream} inputStream + */ dis.AggregateID.prototype.initFromBinary = function(inputStream) { this.site = inputStream.readUShort(); @@ -35,6 +54,9 @@ dis.AggregateID = function() this.aggregateID = inputStream.readUShort(); }; + /** + * @param {OutputStream} outputStream + */ dis.AggregateID.prototype.encodeToBinary = function(outputStream) { outputStream.writeUShort(this.site); diff --git a/src/dis/AggregateMarking.js b/src/dis/AggregateMarking.js index d5a8343..23513c7 100644 --- a/src/dis/AggregateMarking.js +++ b/src/dis/AggregateMarking.js @@ -17,14 +17,29 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.AggregateMarking = function() { - /** The character set */ + /** + * The character set + * @type {number} + * @instance + */ this.characterSet = 0; - /** The characters */ + /** + * The characters + * @type {Array} + * @instance + */ this.characters = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); + /** + * @param {InputStream} inputStream + */ dis.AggregateMarking.prototype.initFromBinary = function(inputStream) { this.characterSet = inputStream.readUByte(); @@ -34,6 +49,9 @@ dis.AggregateMarking = function() } }; + /** + * @param {OutputStream} outputStream + */ dis.AggregateMarking.prototype.encodeToBinary = function(outputStream) { outputStream.writeUByte(this.characterSet); diff --git a/src/dis/AggregateStatePdu.js b/src/dis/AggregateStatePdu.js index 6673df4..50bb67b 100644 --- a/src/dis/AggregateStatePdu.js +++ b/src/dis/AggregateStatePdu.js @@ -17,92 +17,211 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.AggregateStatePdu = function() { - /** The version of the protocol. 5=DIS-1995, 6=DIS-1998. */ + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + * @type {number} + * @instance + */ this.protocolVersion = 6; - /** Exercise ID */ + /** + * Exercise ID + * @type {number} + * @instance + */ this.exerciseID = 0; - /** Type of pdu, unique for each PDU class */ + /** + * Type of pdu, unique for each PDU class + * @type {number} + * @instance + */ this.pduType = 33; - /** value that refers to the protocol family, eg SimulationManagement, et */ + /** + * value that refers to the protocol family, eg SimulationManagement, et + * @type {number} + * @instance + */ this.protocolFamily = 7; - /** Timestamp value */ + /** + * Timestamp value + * @type {number} + * @instance + */ this.timestamp = 0; - /** Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word */ + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + * @type {number} + * @instance + */ this.pduLength = 0; - /** zero-filled array of padding */ + /** + * zero-filled array of padding + * @type {number} + * @instance + */ this.padding = 0; - /** ID of aggregated entities */ + /** + * ID of aggregated entities + * @type {EntityID} + * @instance + */ this.aggregateID = new dis.EntityID(); - /** force ID */ + /** + * force ID + * @type {number} + * @instance + */ this.forceID = 0; - /** state of aggregate */ + /** + * state of aggregate + * @type {number} + * @instance + */ this.aggregateState = 0; - /** entity type of the aggregated entities */ + /** + * entity type of the aggregated entities + * @type {EntityType} + * @instance + */ this.aggregateType = new dis.EntityType(); - /** formation of aggregated entities */ + /** + * formation of aggregated entities + * @type {number} + * @instance + */ this.formation = 0; - /** marking for aggregate; first char is charset type, rest is char data */ + /** + * marking for aggregate; first char is charset type, rest is char data + * @type {AggregateMarking} + * @instance + */ this.aggregateMarking = new dis.AggregateMarking(); - /** dimensions of bounding box for the aggregated entities, origin at the center of mass */ + /** + * dimensions of bounding box for the aggregated entities, origin at the center of mass + * @type {Vector3Float} + * @instance + */ this.dimensions = new dis.Vector3Float(); - /** orientation of the bounding box */ + /** + * orientation of the bounding box + * @type {Orientation} + * @instance + */ this.orientation = new dis.Orientation(); - /** center of mass of the aggregation */ + /** + * center of mass of the aggregation + * @type {Vector3Double} + * @instance + */ this.centerOfMass = new dis.Vector3Double(); - /** velocity of aggregation */ + /** + * velocity of aggregation + * @type {Vector3Float} + * @instance + */ this.velocity = new dis.Vector3Float(); - /** number of aggregates */ + /** + * number of aggregates + * @type {number} + * @instance + */ this.numberOfDisAggregates = 0; - /** number of entities */ + /** + * number of entities + * @type {number} + * @instance + */ this.numberOfDisEntities = 0; - /** number of silent aggregate types */ + /** + * number of silent aggregate types + * @type {number} + * @instance + */ this.numberOfSilentAggregateTypes = 0; - /** number of silent entity types */ + /** + * number of silent entity types + * @type {number} + * @instance + */ this.numberOfSilentEntityTypes = 0; - /** aggregates list */ + /** + * aggregates list + * @type {Array} + * @instance + */ this.aggregateIDList = new Array(); - /** entity ID list */ + /** + * entity ID list + * @type {Array} + * @instance + */ this.entityIDList = new Array(); - /** ^^^padding to put the start of the next list on a 32 bit boundary. This needs to be fixed */ + /** + * ^^^padding to put the start of the next list on a 32 bit boundary. This needs to be fixed + * @type {number} + * @instance + */ this.pad2 = 0; - /** silent entity types */ + /** + * silent entity types + * @type {Array} + * @instance + */ this.silentAggregateSystemList = new Array(); - /** silent entity types */ + /** + * silent entity types + * @type {Array} + * @instance + */ this.silentEntitySystemList = new Array(); - /** number of variable datum records */ + /** + * number of variable datum records + * @type {number} + * @instance + */ this.numberOfVariableDatumRecords = 0; - /** variableDatums */ + /** + * variableDatums + * @type {Array} + * @instance + */ this.variableDatumList = new Array(); + /** + * @param {InputStream} inputStream + */ dis.AggregateStatePdu.prototype.initFromBinary = function(inputStream) { this.protocolVersion = inputStream.readUByte(); @@ -165,6 +284,9 @@ dis.AggregateStatePdu = function() }; + /** + * @param {OutputStream} outputStream + */ dis.AggregateStatePdu.prototype.encodeToBinary = function(outputStream) { outputStream.writeUByte(this.protocolVersion); diff --git a/src/dis/AggregateType.js b/src/dis/AggregateType.js index cdb8c53..40f56f3 100644 --- a/src/dis/AggregateType.js +++ b/src/dis/AggregateType.js @@ -17,28 +17,63 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.AggregateType = function() { - /** Kind of entity */ + /** + * Kind of entity + * @type {number} + * @instance + */ this.aggregateKind = 0; - /** Domain of entity (air, surface, subsurface, space, etc) */ + /** + * Domain of entity (air, surface, subsurface, space, etc) + * @type {number} + * @instance + */ this.domain = 0; - /** country to which the design of the entity is attributed */ + /** + * country to which the design of the entity is attributed + * @type {number} + * @instance + */ this.country = 0; - /** category of entity */ + /** + * category of entity + * @type {number} + * @instance + */ this.category = 0; - /** subcategory of entity */ + /** + * subcategory of entity + * @type {number} + * @instance + */ this.subcategory = 0; - /** specific info based on subcategory field, sql has a reserved word for specific */ + /** + * specific info based on subcategory field, sql has a reserved word for specific + * @type {number} + * @instance + */ this.specificInfo = 0; + /** + * @type {number} + * @instance + */ this.extra = 0; + /** + * @param {InputStream} inputStream + */ dis.AggregateType.prototype.initFromBinary = function(inputStream) { this.aggregateKind = inputStream.readUByte(); @@ -50,6 +85,9 @@ dis.AggregateType = function() this.extra = inputStream.readUByte(); }; + /** + * @param {OutputStream} outputStream + */ dis.AggregateType.prototype.encodeToBinary = function(outputStream) { outputStream.writeUByte(this.aggregateKind); diff --git a/src/dis/AngularVelocityVector.js b/src/dis/AngularVelocityVector.js index f21691f..dc37ec3 100644 --- a/src/dis/AngularVelocityVector.js +++ b/src/dis/AngularVelocityVector.js @@ -17,17 +17,36 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.AngularVelocityVector = function() { - /** velocity about the x axis */ + /** + * velocity about the x axis + * @type {number} + * @instance + */ this.x = 0; - /** velocity about the y axis */ + /** + * velocity about the y axis + * @type {number} + * @instance + */ this.y = 0; - /** velocity about the zaxis */ + /** + * velocity about the z axis + * @type {number} + * @instance + */ this.z = 0; + /** + * @param {InputStream} inputStream + */ dis.AngularVelocityVector.prototype.initFromBinary = function(inputStream) { this.x = inputStream.readFloat32(); @@ -35,6 +54,9 @@ dis.AngularVelocityVector = function() this.z = inputStream.readFloat32(); }; + /** + * @param {OutputStream} outputStream + */ dis.AngularVelocityVector.prototype.encodeToBinary = function(outputStream) { outputStream.writeFloat32(this.x); diff --git a/src/dis/AntennaLocation.js b/src/dis/AntennaLocation.js index e799118..2b7e5d3 100644 --- a/src/dis/AntennaLocation.js +++ b/src/dis/AntennaLocation.js @@ -17,20 +17,38 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.AntennaLocation = function() { - /** Location of the radiating portion of the antenna in world coordinates */ + /** + * Location of the radiating portion of the antenna in world coordinates + * @type {Vector3Double} + * @instance + */ this.antennaLocation = new dis.Vector3Double(); - /** Location of the radiating portion of the antenna in entity coordinates */ + /** + * Location of the radiating portion of the antenna in entity coordinates + * @type {Vector3Double} + * @instance + */ this.relativeAntennaLocation = new dis.Vector3Float(); + /** + * @param {InputStream} inputStream + */ dis.AntennaLocation.prototype.initFromBinary = function(inputStream) { this.antennaLocation.initFromBinary(inputStream); this.relativeAntennaLocation.initFromBinary(inputStream); }; + /** + * @param {OutputStream} outputStream + */ dis.AntennaLocation.prototype.encodeToBinary = function(outputStream) { this.antennaLocation.encodeToBinary(outputStream); diff --git a/src/dis/ApaData.js b/src/dis/ApaData.js index ed2c93d..a47e6f8 100644 --- a/src/dis/ApaData.js +++ b/src/dis/ApaData.js @@ -17,20 +17,38 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.ApaData = function() { - /** Index of APA parameter */ + /** + * Index of APA parameter + * @type {number} + * @instance + */ this.parameterIndex = 0; - /** Index of APA parameter */ + /** + * Index of APA parameter + * @type {number} + * @instance + */ this.parameterValue = 0; + /** + * @param {InputStream} inputStream + */ dis.ApaData.prototype.initFromBinary = function(inputStream) { this.parameterIndex = inputStream.readUShort(); this.parameterValue = inputStream.readShort(); }; + /** + * @param {OutputStream} outputStream + */ dis.ApaData.prototype.encodeToBinary = function(outputStream) { outputStream.writeUShort(this.parameterIndex); diff --git a/src/dis/ArealObjectStatePdu.js b/src/dis/ArealObjectStatePdu.js index a1fbb91..3418526 100644 --- a/src/dis/ArealObjectStatePdu.js +++ b/src/dis/ArealObjectStatePdu.js @@ -17,62 +17,141 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.ArealObjectStatePdu = function() { - /** The version of the protocol. 5=DIS-1995, 6=DIS-1998. */ + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + * @type {number} + * @instance + */ this.protocolVersion = 6; - /** Exercise ID */ + /** + * Exercise ID + * @type {number} + * @instance + */ this.exerciseID = 0; - /** Type of pdu, unique for each PDU class */ + /** + * Type of pdu, unique for each PDU class + * @type {number} + * @instance + */ this.pduType = 45; - /** value that refers to the protocol family, eg SimulationManagement, et */ + /** + * value that refers to the protocol family, eg SimulationManagement, et + * @type {number} + * @instance + */ this.protocolFamily = 9; - /** Timestamp value */ + /** + * Timestamp value + * @type {number} + * @instance + */ this.timestamp = 0; - /** Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word */ + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + * @type {number} + * @instance + */ this.pduLength = 0; - /** zero-filled array of padding */ + /** + * zero-filled array of padding + * @type {number} + * @instance + */ this.padding = 0; - /** Object in synthetic environment */ + /** + * Object in synthetic environment + * @type {EntityID} + * @instance + */ this.objectID = new dis.EntityID(); - /** Object with which this point object is associated */ + /** + * Object with which this point object is associated + * @type {EntityID} + * @instance + */ this.referencedObjectID = new dis.EntityID(); - /** unique update number of each state transition of an object */ + /** + * unique update number of each state transition of an object + * @type {number} + * @instance + */ this.updateNumber = 0; - /** force ID */ + /** + * force ID + * @type {number} + * @instance + */ this.forceID = 0; - /** modifications enumeration */ + /** + * modifications enumeration + * @type {number} + * @instance + */ this.modifications = 0; - /** Object type */ + /** + * Object type + * @type {EntityType} + * @instance + */ this.objectType = new dis.EntityType(); - /** Object appearance */ + /** + * Object appearance + * @type {Chunk} + * @instance + */ this.objectAppearance = new dis.Chunk(6); - /** Number of points */ + /** + * Number of points + * @type {number} + * @instance + */ this.numberOfPoints = 0; - /** requesterID */ + /** + * requesterID + * @type {SimulationAddress} + * @instance + */ this.requesterID = new dis.SimulationAddress(); - /** receiver ID */ + /** + * receiver ID + * @type {SimulationAddress} + * @instance + */ this.receivingID = new dis.SimulationAddress(); - /** location of object */ + /** + * location of object + * @type {Array} + * @instance + */ this.objectLocation = new Array(); + /** + * @param {InputStream} inputStream + */ dis.ArealObjectStatePdu.prototype.initFromBinary = function(inputStream) { this.protocolVersion = inputStream.readUByte(); @@ -101,6 +180,9 @@ dis.ArealObjectStatePdu = function() }; + /** + * @param {OutputStream} outputStream + */ dis.ArealObjectStatePdu.prototype.encodeToBinary = function(outputStream) { outputStream.writeUByte(this.protocolVersion); diff --git a/src/dis/ArticulationParameter.js b/src/dis/ArticulationParameter.js index 61b96fa..ee98442 100644 --- a/src/dis/ArticulationParameter.js +++ b/src/dis/ArticulationParameter.js @@ -17,18 +17,45 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.ArticulationParameter = function() { + /** + * @type {number} + * @instance + */ this.parameterTypeDesignator = 0; + /** + * @type {number} + * @instance + */ this.changeIndicator = 0; + /** + * @type {number} + * @instance + */ this.partAttachedTo = 0; + /** + * @type {number} + * @instance + */ this.parameterType = 0; + /** + * @type {number} + * @instance + */ this.parameterValue = 0; + /** + * @param {InputStream} inputStream + */ dis.ArticulationParameter.prototype.initFromBinary = function(inputStream) { this.parameterTypeDesignator = inputStream.readUByte(); @@ -38,6 +65,9 @@ dis.ArticulationParameter = function() this.parameterValue = inputStream.readFloat64(); }; + /** + * @param {OutputStream} outputStream + */ dis.ArticulationParameter.prototype.encodeToBinary = function(outputStream) { outputStream.writeUByte(this.parameterTypeDesignator); diff --git a/src/dis/BeamAntennaPattern.js b/src/dis/BeamAntennaPattern.js index 601a2ca..17bbc91 100644 --- a/src/dis/BeamAntennaPattern.js +++ b/src/dis/BeamAntennaPattern.js @@ -17,30 +17,73 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.BeamAntennaPattern = function() { - /** The rotation that transformst he reference coordinate sytem into the beam coordinate system. Either world coordinates or entity coordinates may be used as the reference coordinate system, as specified by teh reference system field of the antenna pattern record. */ + /** + * The rotation that transformst he reference coordinate sytem into the beam coordinate system. Either world coordinates or entity coordinates may be used as the reference coordinate system, as specified by teh reference system field of the antenna pattern record. + * @type {Orientation} + * @instance + */ this.beamDirection = new dis.Orientation(); + /** + * @type {number} + * @instance + */ this.azimuthBeamwidth = 0; + /** + * @type {number} + * @instance + */ this.elevationBeamwidth = 0; + /** + * @type {number} + * @instance + */ this.referenceSystem = 0; + /** + * @type {number} + * @instance + */ this.padding1 = 0; + /** + * @type {number} + * @instance + */ this.padding2 = 0; - /** Magnigute of the z-component in beam coordinates at some arbitrary single point in the mainbeam and in the far field of the antenna. */ + /** + * Magnigute of the z-component in beam coordinates at some arbitrary single point in the mainbeam and in the far field of the antenna. + * @type {number} + * @instance + */ this.ez = 0; - /** Magnigute of the x-component in beam coordinates at some arbitrary single point in the mainbeam and in the far field of the antenna. */ + /** + * Magnigute of the x-component in beam coordinates at some arbitrary single point in the mainbeam and in the far field of the antenna. + * @type {number} + * @instance + */ this.ex = 0; - /** THe phase angle between Ez and Ex in radians. */ + /** + * THe phase angle between Ez and Ex in radians. + * @type {number} + * @instance + */ this.phase = 0; + /** + * @param {InputStream} inputStream + */ dis.BeamAntennaPattern.prototype.initFromBinary = function(inputStream) { this.beamDirection.initFromBinary(inputStream); @@ -54,6 +97,9 @@ dis.BeamAntennaPattern = function() this.phase = inputStream.readFloat32(); }; + /** + * @param {OutputStream} outputStream + */ dis.BeamAntennaPattern.prototype.encodeToBinary = function(outputStream) { this.beamDirection.encodeToBinary(outputStream); diff --git a/src/dis/BeamData.js b/src/dis/BeamData.js index 794f257..1490947 100644 --- a/src/dis/BeamData.js +++ b/src/dis/BeamData.js @@ -17,23 +17,50 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.BeamData = function() { - /** Specifies the beam azimuth an elevation centers and corresponding half-angles to describe the scan volume */ + /** + * Specifies the beam azimuth an elevation centers and corresponding half-angles to describe the scan volume + * @type {number} + * @instance + */ this.beamAzimuthCenter = 0; - /** Specifies the beam azimuth sweep to determine scan volume */ + /** + * Specifies the beam azimuth sweep to determine scan volume + * @type {number} + * @instance + */ this.beamAzimuthSweep = 0; - /** Specifies the beam elevation center to determine scan volume */ + /** + * Specifies the beam elevation center to determine scan volume + * @type {number} + * @instance + */ this.beamElevationCenter = 0; - /** Specifies the beam elevation sweep to determine scan volume */ + /** + * Specifies the beam elevation sweep to determine scan volume + * @type {number} + * @instance + */ this.beamElevationSweep = 0; - /** allows receiver to synchronize its regenerated scan pattern to that of the emmitter. Specifies the percentage of time a scan is through its pattern from its origion. */ + /** + * allows receiver to synchronize its regenerated scan pattern to that of the emmitter. Specifies the percentage of time a scan is through its pattern from its origion. + * @type {number} + * @instance + */ this.beamSweepSync = 0; + /** + * @param {InputStream} inputStream + */ dis.BeamData.prototype.initFromBinary = function(inputStream) { this.beamAzimuthCenter = inputStream.readFloat32(); @@ -43,6 +70,9 @@ dis.BeamData = function() this.beamSweepSync = inputStream.readFloat32(); }; + /** + * @param {OutputStream} outputStream + */ dis.BeamData.prototype.encodeToBinary = function(outputStream) { outputStream.writeFloat32(this.beamAzimuthCenter); diff --git a/src/dis/BurstDescriptor.js b/src/dis/BurstDescriptor.js index 7f061eb..f691423 100644 --- a/src/dis/BurstDescriptor.js +++ b/src/dis/BurstDescriptor.js @@ -17,23 +17,50 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.BurstDescriptor = function() { - /** What munition was used in the burst */ + /** + * What munition was used in the burst + * @type {EntityType} + * @instance + */ this.munition = new dis.EntityType(); - /** type of warhead */ + /** + * type of warhead + * @type {number} + * @instance + */ this.warhead = 0; - /** type of fuse used */ + /** + * type of fuse used + * @type {number} + * @instance + */ this.fuse = 0; - /** how many of the munition were fired */ + /** + * how many of the munition were fired + * @type {number} + * @instance + */ this.quantity = 0; - /** rate at which the munition was fired */ + /** + * rate at which the munition was fired + * @type {number} + * @instance + */ this.rate = 0; + /** + * @param {InputStream} inputStream + */ dis.BurstDescriptor.prototype.initFromBinary = function(inputStream) { this.munition.initFromBinary(inputStream); @@ -43,6 +70,9 @@ dis.BurstDescriptor = function() this.rate = inputStream.readUShort(); }; + /** + * @param {OutputStream} outputStream + */ dis.BurstDescriptor.prototype.encodeToBinary = function(outputStream) { this.munition.encodeToBinary(outputStream); diff --git a/src/dis/ClockTime.js b/src/dis/ClockTime.js index 25f3870..e89a46e 100644 --- a/src/dis/ClockTime.js +++ b/src/dis/ClockTime.js @@ -17,20 +17,38 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.ClockTime = function() { - /** Hours in UTC */ + /** + * Hours in UTC + * @type {number} + * @instance + */ this.hour = 0; - /** Time past the hour */ + /** + * Time past the hour + * @type {number} + * @instance + */ this.timePastHour = 0; + /** + * @param {InputStream} inputStream + */ dis.ClockTime.prototype.initFromBinary = function(inputStream) { this.hour = inputStream.readInt(); this.timePastHour = inputStream.readUInt(); }; + /** + * @param {OutputStream} outputStream + */ dis.ClockTime.prototype.encodeToBinary = function(outputStream) { outputStream.writeInt(this.hour); diff --git a/src/dis/CollisionElasticPdu.js b/src/dis/CollisionElasticPdu.js index 0b18ef1..ee13892 100644 --- a/src/dis/CollisionElasticPdu.js +++ b/src/dis/CollisionElasticPdu.js @@ -17,74 +17,169 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.CollisionElasticPdu = function() { - /** The version of the protocol. 5=DIS-1995, 6=DIS-1998. */ + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + * @type {number} + * @instance + */ this.protocolVersion = 6; - /** Exercise ID */ + /** + * Exercise ID + * @type {number} + * @instance + */ this.exerciseID = 0; - /** Type of pdu, unique for each PDU class */ + /** + * Type of pdu, unique for each PDU class + * @type {number} + * @instance + */ this.pduType = 66; - /** value that refers to the protocol family, eg SimulationManagement, et */ + /** + * value that refers to the protocol family, eg SimulationManagement, et + * @type {number} + * @instance + */ this.protocolFamily = 1; - /** Timestamp value */ + /** + * Timestamp value + * @type {number} + * @instance + */ this.timestamp = 0; - /** Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word */ + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + * @type {number} + * @instance + */ this.pduLength = 0; - /** zero-filled array of padding */ + /** + * zero-filled array of padding + * @type {number} + * @instance + */ this.padding = 0; - /** ID of the entity that issued the collision PDU */ + /** + * ID of the entity that issued the collision PDU + * @type {EntityID} + * @instance + */ this.issuingEntityID = new dis.EntityID(); - /** ID of entity that has collided with the issuing entity ID */ + /** + * ID of entity that has collided with the issuing entity ID + * @type {EntityID} + * @instance + */ this.collidingEntityID = new dis.EntityID(); - /** ID of event */ + /** + * ID of event + * @type {EventID} + * @instance + */ this.collisionEventID = new dis.EventID(); - /** some padding */ + /** + * some padding + * @type {number} + * @instance + */ this.pad = 0; - /** velocity at collision */ + /** + * velocity at collision + * @type {Vector3Float} + * @instance + */ this.contactVelocity = new dis.Vector3Float(); - /** mass of issuing entity */ + /** + * mass of issuing entity + * @type {number} + * @instance + */ this.mass = 0; - /** Location with respect to entity the issuing entity collided with */ + /** + * Location with respect to entity the issuing entity collided with + * @type {Vector3Float} + * @instance + */ this.location = new dis.Vector3Float(); - /** tensor values */ + /** + * tensor values + * @type {number} + * @instance + */ this.collisionResultXX = 0; - /** tensor values */ + /** + * tensor values + * @type {number} + * @instance + */ this.collisionResultXY = 0; - /** tensor values */ + /** + * tensor values + * @type {number} + * @instance + */ this.collisionResultXZ = 0; - /** tensor values */ + /** + * tensor values + * @type {number} + * @instance + */ this.collisionResultYY = 0; - /** tensor values */ + /** + * tensor values + * @type {number} + * @instance + */ this.collisionResultYZ = 0; - /** tensor values */ + /** + * tensor values + * @type {number} + * @instance + */ this.collisionResultZZ = 0; - /** This record shall represent the normal vector to the surface at the point of collision detection. The surface normal shall be represented in world coordinates. */ + /** + * This record shall represent the normal vector to the surface at the point of collision detection. The surface normal shall be represented in world coordinates. + * @type {Vector3Float} + * @instance + */ this.unitSurfaceNormal = new dis.Vector3Float(); - /** This field shall represent the degree to which energy is conserved in a collision */ + /** + * This field shall represent the degree to which energy is conserved in a collision + * @type {number} + * @instance + */ this.coefficientOfRestitution = 0; + /** + * @param {InputStream} inputStream + */ dis.CollisionElasticPdu.prototype.initFromBinary = function(inputStream) { this.protocolVersion = inputStream.readUByte(); @@ -111,6 +206,9 @@ dis.CollisionElasticPdu = function() this.coefficientOfRestitution = inputStream.readFloat32(); }; + /** + * @param {OutputStream} outputStream + */ dis.CollisionElasticPdu.prototype.encodeToBinary = function(outputStream) { outputStream.writeUByte(this.protocolVersion); diff --git a/src/dis/CollisionPdu.js b/src/dis/CollisionPdu.js index 712b896..106cba0 100644 --- a/src/dis/CollisionPdu.js +++ b/src/dis/CollisionPdu.js @@ -17,53 +17,120 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.CollisionPdu = function() { - /** The version of the protocol. 5=DIS-1995, 6=DIS-1998. */ + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + * @type {number} + * @instance + */ this.protocolVersion = 6; - /** Exercise ID */ + /** + * Exercise ID + * @type {number} + * @instance + */ this.exerciseID = 0; - /** Type of pdu, unique for each PDU class */ + /** + * Type of pdu, unique for each PDU class + * @type {number} + * @instance + */ this.pduType = 4; - /** value that refers to the protocol family, eg SimulationManagement, et */ + /** + * value that refers to the protocol family, eg SimulationManagement, et + * @type {number} + * @instance + */ this.protocolFamily = 1; - /** Timestamp value */ + /** + * Timestamp value + * @type {number} + * @instance + */ this.timestamp = 0; - /** Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word */ + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + * @type {number} + * @instance + */ this.pduLength = 0; - /** zero-filled array of padding */ + /** + * zero-filled array of padding + * @type {number} + * @instance + */ this.padding = 0; - /** ID of the entity that issued the collision PDU */ + /** + * ID of the entity that issued the collision PDU + * @type {EntityID} + * @instance + */ this.issuingEntityID = new dis.EntityID(); - /** ID of entity that has collided with the issuing entity ID */ + /** + * ID of entity that has collided with the issuing entity ID + * @type {EntityID} + * @instance + */ this.collidingEntityID = new dis.EntityID(); - /** ID of event */ + /** + * ID of event + * @type {EventID} + * @instance + */ this.eventID = new dis.EventID(); - /** ID of event */ + /** + * ID of event + * @type {EventID} + * @instance + */ this.collisionType = 0; - /** some padding */ + /** + * some padding + * @type {number} + * @instance + */ this.pad = 0; - /** velocity at collision */ + /** + * velocity at collision + * @type {Vector3Float} + * @instance + */ this.velocity = new dis.Vector3Float(); - /** mass of issuing entity */ + /** + * mass of issuing entity + * @type {number} + * @instance + */ this.mass = 0; - /** Location with respect to entity the issuing entity collided with */ + /** + * Location with respect to entity the issuing entity collided with + * @type {Vector3Float} + * @instance + */ this.location = new dis.Vector3Float(); + /** + * @param {InputStream} inputStream + */ dis.CollisionPdu.prototype.initFromBinary = function(inputStream) { this.protocolVersion = inputStream.readUByte(); @@ -83,6 +150,9 @@ dis.CollisionPdu = function() this.location.initFromBinary(inputStream); }; + /** + * @param {OutputStream} outputStream + */ dis.CollisionPdu.prototype.encodeToBinary = function(outputStream) { outputStream.writeUByte(this.protocolVersion); diff --git a/src/dis/CommentPdu.js b/src/dis/CommentPdu.js index 9bf03c7..3a1189e 100644 --- a/src/dis/CommentPdu.js +++ b/src/dis/CommentPdu.js @@ -17,47 +17,106 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.CommentPdu = function() { - /** The version of the protocol. 5=DIS-1995, 6=DIS-1998. */ + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + * @type {number} + * @instance + */ this.protocolVersion = 6; - /** Exercise ID */ + /** + * Exercise ID + * @type {number} + * @instance + */ this.exerciseID = 0; - /** Type of pdu, unique for each PDU class */ + /** + * Type of pdu, unique for each PDU class + * @type {number} + * @instance + */ this.pduType = 22; - /** value that refers to the protocol family, eg SimulationManagement, et */ + /** + * value that refers to the protocol family, eg SimulationManagement, et + * @type {number} + * @instance + */ this.protocolFamily = 5; - /** Timestamp value */ + /** + * Timestamp value + * @type {number} + * @instance + */ this.timestamp = 0; - /** Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word */ + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + * @type {number} + * @instance + */ this.pduLength = 0; - /** zero-filled array of padding */ + /** + * zero-filled array of padding + * @type {number} + * @instance + */ this.padding = 0; - /** Entity that is sending message */ + /** + * Entity that is sending message + * @type {EntityID} + * @instance + */ this.originatingEntityID = new dis.EntityID(); - /** Entity that is intended to receive message */ + /** + * Entity that is intended to receive message + * @type {EntityID} + * @instance + */ this.receivingEntityID = new dis.EntityID(); - /** Number of fixed datum records */ + /** + * Number of fixed datum records + * @type {number} + * @instance + */ this.numberOfFixedDatumRecords = 0; - /** Number of variable datum records */ + /** + * Number of variable datum records + * @type {number} + * @instance + */ this.numberOfVariableDatumRecords = 0; - /** variable length list of fixed datums */ + /** + * variable length list of fixed datums + * @type {Array} + * @instance + */ this.fixedDatums = new Array(); - /** variable length list of variable length datums */ + /** + * variable length list of variable length datums + * @type {Array} + * @instance + */ this.variableDatums = new Array(); + /** + * @param {InputStream} inputStream + */ dis.CommentPdu.prototype.initFromBinary = function(inputStream) { this.protocolVersion = inputStream.readUByte(); @@ -87,6 +146,9 @@ dis.CommentPdu = function() }; + /** + * @param {OutputStream} outputStream + */ dis.CommentPdu.prototype.encodeToBinary = function(outputStream) { outputStream.writeUByte(this.protocolVersion); diff --git a/src/dis/CommentReliablePdu.js b/src/dis/CommentReliablePdu.js index e88264e..68770f4 100644 --- a/src/dis/CommentReliablePdu.js +++ b/src/dis/CommentReliablePdu.js @@ -17,47 +17,106 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.CommentReliablePdu = function() { - /** The version of the protocol. 5=DIS-1995, 6=DIS-1998. */ + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + * @type {number} + * @instance + */ this.protocolVersion = 6; - /** Exercise ID */ + /** + * Exercise ID + * @type {number} + * @instance + */ this.exerciseID = 0; - /** Type of pdu, unique for each PDU class */ + /** + * Type of pdu, unique for each PDU class + * @type {number} + * @instance + */ this.pduType = 62; - /** value that refers to the protocol family, eg SimulationManagement, et */ + /** + * value that refers to the protocol family, eg SimulationManagement, et + * @type {number} + * @instance + */ this.protocolFamily = 10; - /** Timestamp value */ + /** + * Timestamp value + * @type {number} + * @instance + */ this.timestamp = 0; - /** Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word */ + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + * @type {number} + * @instance + */ this.pduLength = 0; - /** zero-filled array of padding */ + /** + * zero-filled array of padding + * @type {number} + * @instance + */ this.padding = 0; - /** Object originatig the request */ + /** + * Object originatig the request + * @type {EntityID} + * @instance + */ this.originatingEntityID = new dis.EntityID(); - /** Object with which this point object is associated */ + /** + * Object with which this point object is associated + * @type {EntityID} + * @instance + */ this.receivingEntityID = new dis.EntityID(); - /** Fixed datum record count */ + /** + * Fixed datum record count + * @type {number} + * @instance + */ this.numberOfFixedDatumRecords = 0; - /** variable datum record count */ + /** + * variable datum record count + * @type {number} + * @instance + */ this.numberOfVariableDatumRecords = 0; - /** Fixed datum records */ + /** + * Fixed datum records + * @type {Array} + * @instance + */ this.fixedDatumRecords = new Array(); - /** Variable datum records */ + /** + * Variable datum records + * @type {Array} + * @instance + */ this.variableDatumRecords = new Array(); + /** + * @param {InputStream} inputStream + */ dis.CommentReliablePdu.prototype.initFromBinary = function(inputStream) { this.protocolVersion = inputStream.readUByte(); @@ -87,6 +146,9 @@ dis.CommentReliablePdu = function() }; + /** + * @param {OutputStream} outputStream + */ dis.CommentReliablePdu.prototype.encodeToBinary = function(outputStream) { outputStream.writeUByte(this.protocolVersion); diff --git a/src/dis/CreateEntityPdu.js b/src/dis/CreateEntityPdu.js index 1b017e1..8d0271d 100644 --- a/src/dis/CreateEntityPdu.js +++ b/src/dis/CreateEntityPdu.js @@ -17,38 +17,85 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.CreateEntityPdu = function() { - /** The version of the protocol. 5=DIS-1995, 6=DIS-1998. */ + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + * @type {number} + * @instance + */ this.protocolVersion = 6; - /** Exercise ID */ + /** + * Exercise ID + * @type {number} + * @instance + */ this.exerciseID = 0; - /** Type of pdu, unique for each PDU class */ + /** + * Type of pdu, unique for each PDU class + * @type {number} + * @instance + */ this.pduType = 11; - /** value that refers to the protocol family, eg SimulationManagement, et */ + /** + * value that refers to the protocol family, eg SimulationManagement, et + * @type {number} + * @instance + */ this.protocolFamily = 5; - /** Timestamp value */ + /** + * Timestamp value + * @type {number} + * @instance + */ this.timestamp = 0; - /** Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word */ + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + * @type {number} + * @instance + */ this.pduLength = 0; - /** zero-filled array of padding */ + /** + * zero-filled array of padding + * @type {number} + * @instance + */ this.padding = 0; - /** Entity that is sending message */ + /** + * Entity that is sending message + * @type {EntityID} + * @instance + */ this.originatingEntityID = new dis.EntityID(); - /** Entity that is intended to receive message */ + /** + * Entity that is intended to receive message + * @type {EntityID} + * @instance + */ this.receivingEntityID = new dis.EntityID(); - /** Identifier for the request */ + /** + * Identifier for the request + * @type {number} + * @instance + */ this.requestID = 0; + /** + * @param {InputStream} inputStream + */ dis.CreateEntityPdu.prototype.initFromBinary = function(inputStream) { this.protocolVersion = inputStream.readUByte(); @@ -63,6 +110,9 @@ dis.CreateEntityPdu = function() this.requestID = inputStream.readUInt(); }; + /** + * @param {OutputStream} outputStream + */ dis.CreateEntityPdu.prototype.encodeToBinary = function(outputStream) { outputStream.writeUByte(this.protocolVersion); diff --git a/src/dis/CreateEntityReliablePdu.js b/src/dis/CreateEntityReliablePdu.js index 815c67e..1edad71 100644 --- a/src/dis/CreateEntityReliablePdu.js +++ b/src/dis/CreateEntityReliablePdu.js @@ -17,47 +17,106 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.CreateEntityReliablePdu = function() { - /** The version of the protocol. 5=DIS-1995, 6=DIS-1998. */ + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + * @type {number} + * @instance + */ this.protocolVersion = 6; - /** Exercise ID */ + /** + * Exercise ID + * @type {number} + * @instance + */ this.exerciseID = 0; - /** Type of pdu, unique for each PDU class */ + /** + * Type of pdu, unique for each PDU class + * @type {number} + * @instance + */ this.pduType = 51; - /** value that refers to the protocol family, eg SimulationManagement, et */ + /** + * value that refers to the protocol family, eg SimulationManagement, et + * @type {number} + * @instance + */ this.protocolFamily = 10; - /** Timestamp value */ + /** + * Timestamp value + * @type {number} + * @instance + */ this.timestamp = 0; - /** Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word */ + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + * @type {number} + * @instance + */ this.pduLength = 0; - /** zero-filled array of padding */ + /** + * zero-filled array of padding + * @type {number} + * @instance + */ this.padding = 0; - /** Object originatig the request */ + /** + * Object originatig the request + * @type {EntityID} + * @instance + */ this.originatingEntityID = new dis.EntityID(); - /** Object with which this point object is associated */ + /** + * Object with which this point object is associated + * @type {EntityID} + * @instance + */ this.receivingEntityID = new dis.EntityID(); - /** level of reliability service used for this transaction */ + /** + * level of reliability service used for this transaction + * @type {number} + * @instance + */ this.requiredReliabilityService = 0; - /** padding */ + /** + * padding + * @type {number} + * @instance + */ this.pad1 = 0; - /** padding */ + /** + * padding + * @type {number} + * @instance + */ this.pad2 = 0; - /** Request ID */ + /** + * Request ID + * @type {number} + * @instance + */ this.requestID = 0; + /** + * @param {InputStream} inputStream + */ dis.CreateEntityReliablePdu.prototype.initFromBinary = function(inputStream) { this.protocolVersion = inputStream.readUByte(); @@ -75,6 +134,9 @@ dis.CreateEntityReliablePdu = function() this.requestID = inputStream.readUInt(); }; + /** + * @param {OutputStream} outputStream + */ dis.CreateEntityReliablePdu.prototype.encodeToBinary = function(outputStream) { outputStream.writeUByte(this.protocolVersion); diff --git a/src/dis/DataPdu.js b/src/dis/DataPdu.js index cefb156..7698f82 100644 --- a/src/dis/DataPdu.js +++ b/src/dis/DataPdu.js @@ -17,53 +17,120 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.DataPdu = function() { - /** The version of the protocol. 5=DIS-1995, 6=DIS-1998. */ + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + * @type {number} + * @instance + */ this.protocolVersion = 6; - /** Exercise ID */ + /** + * Exercise ID + * @type {number} + * @instance + */ this.exerciseID = 0; - /** Type of pdu, unique for each PDU class */ + /** + * Type of pdu, unique for each PDU class + * @type {number} + * @instance + */ this.pduType = 20; - /** value that refers to the protocol family, eg SimulationManagement, et */ + /** + * value that refers to the protocol family, eg SimulationManagement, et + * @type {number} + * @instance + */ this.protocolFamily = 5; - /** Timestamp value */ + /** + * Timestamp value + * @type {number} + * @instance + */ this.timestamp = 0; - /** Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word */ + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + * @type {number} + * @instance + */ this.pduLength = 0; - /** zero-filled array of padding */ + /** + * zero-filled array of padding + * @type {number} + * @instance + */ this.padding = 0; - /** Entity that is sending message */ + /** + * Entity that is sending message + * @type {EntityID} + * @instance + */ this.originatingEntityID = new dis.EntityID(); - /** Entity that is intended to receive message */ + /** + * Entity that is intended to receive message + * @type {EntityID} + * @instance + */ this.receivingEntityID = new dis.EntityID(); - /** ID of request */ + /** + * ID of request + * @type {number} + * @instance + */ this.requestID = 0; - /** padding */ + /** + * padding + * @type {number} + * @instance + */ this.padding1 = 0; - /** Number of fixed datum records */ + /** + * Number of fixed datum records + * @type {number} + * @instance + */ this.numberOfFixedDatumRecords = 0; - /** Number of variable datum records */ + /** + * Number of variable datum records + * @type {number} + * @instance + */ this.numberOfVariableDatumRecords = 0; - /** variable length list of fixed datums */ + /** + * variable length list of fixed datums + * @type {Array} + * @instance + */ this.fixedDatums = new Array(); - /** variable length list of variable length datums */ + /** + * variable length list of variable length datums + * @type {Array} + * @instance + */ this.variableDatums = new Array(); + /** + * @param {InputStream} inputStream + */ dis.DataPdu.prototype.initFromBinary = function(inputStream) { this.protocolVersion = inputStream.readUByte(); @@ -95,6 +162,9 @@ dis.DataPdu = function() }; + /** + * @param {OutputStream} outputStream + */ dis.DataPdu.prototype.encodeToBinary = function(outputStream) { outputStream.writeUByte(this.protocolVersion); diff --git a/src/dis/DataQueryPdu.js b/src/dis/DataQueryPdu.js index ed9af52..7922ef7 100644 --- a/src/dis/DataQueryPdu.js +++ b/src/dis/DataQueryPdu.js @@ -17,53 +17,120 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.DataQueryPdu = function() { - /** The version of the protocol. 5=DIS-1995, 6=DIS-1998. */ + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + * @type {number} + * @instance + */ this.protocolVersion = 6; - /** Exercise ID */ + /** + * Exercise ID + * @type {number} + * @instance + */ this.exerciseID = 0; - /** Type of pdu, unique for each PDU class */ + /** + * Type of pdu, unique for each PDU class + * @type {number} + * @instance + */ this.pduType = 18; - /** value that refers to the protocol family, eg SimulationManagement, et */ + /** + * value that refers to the protocol family, eg SimulationManagement, et + * @type {number} + * @instance + */ this.protocolFamily = 5; - /** Timestamp value */ + /** + * Timestamp value + * @type {number} + * @instance + */ this.timestamp = 0; - /** Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word */ + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + * @type {number} + * @instance + */ this.pduLength = 0; - /** zero-filled array of padding */ + /** + * zero-filled array of padding + * @type {number} + * @instance + */ this.padding = 0; - /** Entity that is sending message */ + /** + * Entity that is sending message + * @type {EntityID} + * @instance + */ this.originatingEntityID = new dis.EntityID(); - /** Entity that is intended to receive message */ + /** + * Entity that is intended to receive message + * @type {EntityID} + * @instance + */ this.receivingEntityID = new dis.EntityID(); - /** ID of request */ + /** + * ID of request + * @type {number} + * @instance + */ this.requestID = 0; - /** time issues between issues of Data PDUs. Zero means send once only. */ + /** + * time issues between issues of Data PDUs. Zero means send once only. + * @type {number} + * @instance + */ this.timeInterval = 0; - /** Number of fixed datum records */ + /** + * Number of fixed datum records + * @type {number} + * @instance + */ this.numberOfFixedDatumRecords = 0; - /** Number of variable datum records */ + /** + * Number of variable datum records + * @type {number} + * @instance + */ this.numberOfVariableDatumRecords = 0; - /** variable length list of fixed datums */ + /** + * variable length list of fixed datums + * @type {Array} + * @instance + */ this.fixedDatums = new Array(); - /** variable length list of variable length datums */ + /** + * variable length list of variable length datums + * @type {Array} + * @instance + */ this.variableDatums = new Array(); + /** + * @param {InputStream} inputStream + */ dis.DataQueryPdu.prototype.initFromBinary = function(inputStream) { this.protocolVersion = inputStream.readUByte(); @@ -95,6 +162,9 @@ dis.DataQueryPdu = function() }; + /** + * @param {OutputStream} outputStream + */ dis.DataQueryPdu.prototype.encodeToBinary = function(outputStream) { outputStream.writeUByte(this.protocolVersion); diff --git a/src/dis/DataQueryReliablePdu.js b/src/dis/DataQueryReliablePdu.js index 38a9bd8..dede92a 100644 --- a/src/dis/DataQueryReliablePdu.js +++ b/src/dis/DataQueryReliablePdu.js @@ -17,62 +17,141 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.DataQueryReliablePdu = function() { - /** The version of the protocol. 5=DIS-1995, 6=DIS-1998. */ + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + * @type {number} + * @instance + */ this.protocolVersion = 6; - /** Exercise ID */ + /** + * Exercise ID + * @type {number} + * @instance + */ this.exerciseID = 0; - /** Type of pdu, unique for each PDU class */ + /** + * Type of pdu, unique for each PDU class + * @type {number} + * @instance + */ this.pduType = 58; - /** value that refers to the protocol family, eg SimulationManagement, et */ + /** + * value that refers to the protocol family, eg SimulationManagement, et + * @type {number} + * @instance + */ this.protocolFamily = 10; - /** Timestamp value */ + /** + * Timestamp value + * @type {number} + * @instance + */ this.timestamp = 0; - /** Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word */ + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + * @type {number} + * @instance + */ this.pduLength = 0; - /** zero-filled array of padding */ + /** + * zero-filled array of padding + * @type {number} + * @instance + */ this.padding = 0; - /** Object originatig the request */ + /** + * Object originatig the request + * @type {EntityID} + * @instance + */ this.originatingEntityID = new dis.EntityID(); - /** Object with which this point object is associated */ + /** + * Object with which this point object is associated + * @type {EntityID} + * @instance + */ this.receivingEntityID = new dis.EntityID(); - /** level of reliability service used for this transaction */ + /** + * level of reliability service used for this transaction + * @type {number} + * @instance + */ this.requiredReliabilityService = 0; - /** padding */ + /** + * padding + * @type {number} + * @instance + */ this.pad1 = 0; - /** padding */ + /** + * padding + * @type {number} + * @instance + */ this.pad2 = 0; - /** request ID */ + /** + * request ID + * @type {number} + * @instance + */ this.requestID = 0; - /** time interval between issuing data query PDUs */ + /** + * time interval between issuing data query PDUs + * @type {number} + * @instance + */ this.timeInterval = 0; - /** Fixed datum record count */ + /** + * Fixed datum record count + * @type {number} + * @instance + */ this.numberOfFixedDatumRecords = 0; - /** variable datum record count */ + /** + * variable datum record count + * @type {number} + * @instance + */ this.numberOfVariableDatumRecords = 0; - /** Fixed datum records */ + /** + * Fixed datum records + * @type {Array} + * @instance + */ this.fixedDatumRecords = new Array(); - /** Variable datum records */ + /** + * Variable datum records + * @type {Array} + * @instance + */ this.variableDatumRecords = new Array(); + /** + * @param {InputStream} inputStream + */ dis.DataQueryReliablePdu.prototype.initFromBinary = function(inputStream) { this.protocolVersion = inputStream.readUByte(); @@ -107,6 +186,9 @@ dis.DataQueryReliablePdu = function() }; + /** + * @param {OutputStream} outputStream + */ dis.DataQueryReliablePdu.prototype.encodeToBinary = function(outputStream) { outputStream.writeUByte(this.protocolVersion); diff --git a/src/dis/DataReliablePdu.js b/src/dis/DataReliablePdu.js index aea8262..57456b0 100644 --- a/src/dis/DataReliablePdu.js +++ b/src/dis/DataReliablePdu.js @@ -17,59 +17,134 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.DataReliablePdu = function() { - /** The version of the protocol. 5=DIS-1995, 6=DIS-1998. */ + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + * @type {number} + * @instance + */ this.protocolVersion = 6; - /** Exercise ID */ + /** + * Exercise ID + * @type {number} + * @instance + */ this.exerciseID = 0; - /** Type of pdu, unique for each PDU class */ + /** + * Type of pdu, unique for each PDU class + * @type {number} + * @instance + */ this.pduType = 60; - /** value that refers to the protocol family, eg SimulationManagement, et */ + /** + * value that refers to the protocol family, eg SimulationManagement, et + * @type {number} + * @instance + */ this.protocolFamily = 10; - /** Timestamp value */ + /** + * Timestamp value + * @type {number} + * @instance + */ this.timestamp = 0; - /** Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word */ + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + * @type {number} + * @instance + */ this.pduLength = 0; - /** zero-filled array of padding */ + /** + * zero-filled array of padding + * @type {number} + * @instance + */ this.padding = 0; - /** Object originatig the request */ + /** + * Object originatig the request + * @type {EntityID} + * @instance + */ this.originatingEntityID = new dis.EntityID(); - /** Object with which this point object is associated */ + /** + * Object with which this point object is associated + * @type {EntityID} + * @instance + */ this.receivingEntityID = new dis.EntityID(); - /** Request ID */ + /** + * Request ID + * @type {number} + * @instance + */ this.requestID = 0; - /** level of reliability service used for this transaction */ + /** + * level of reliability service used for this transaction + * @type {number} + * @instance + */ this.requiredReliabilityService = 0; - /** padding */ + /** + * padding + * @type {number} + * @instance + */ this.pad1 = 0; - /** padding */ + /** + * padding + * @type {number} + * @instance + */ this.pad2 = 0; - /** Fixed datum record count */ + /** + * Fixed datum record count + * @type {number} + * @instance + */ this.numberOfFixedDatumRecords = 0; - /** variable datum record count */ + /** + * variable datum record count + * @type {number} + * @instance + */ this.numberOfVariableDatumRecords = 0; - /** Fixed datum records */ + /** + * Fixed datum records + * @type {Array} + * @instance + */ this.fixedDatumRecords = new Array(); - /** Variable datum records */ + /** + * Variable datum records + * @type {Array} + * @instance + */ this.variableDatumRecords = new Array(); + /** + * @param {InputStream} inputStream + */ dis.DataReliablePdu.prototype.initFromBinary = function(inputStream) { this.protocolVersion = inputStream.readUByte(); @@ -103,6 +178,9 @@ dis.DataReliablePdu = function() }; + /** + * @param {OutputStream} outputStream + */ dis.DataReliablePdu.prototype.encodeToBinary = function(outputStream) { outputStream.writeUByte(this.protocolVersion); diff --git a/src/dis/DeadReckoningParameter.js b/src/dis/DeadReckoningParameter.js index 36b543d..9ac25e7 100644 --- a/src/dis/DeadReckoningParameter.js +++ b/src/dis/DeadReckoningParameter.js @@ -17,20 +17,43 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.DeadReckoningParameter = function() { - /** enumeration of what dead reckoning algorighm to use */ + /** + * enumeration of what dead reckoning algorighm to use + * @type {number} + * @instance + */ this.deadReckoningAlgorithm = 0; - /** other parameters to use in the dead reckoning algorithm */ + /** + * other parameters to use in the dead reckoning algorithm + * @type {Array} + * @instance + */ this.otherParameters = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); - /** Linear acceleration of the entity */ + /** + * Linear acceleration of the entity + * @type {Vector3Float} + * @instance + */ this.entityLinearAcceleration = new dis.Vector3Float(); - /** angular velocity of the entity */ + /** + * angular velocity of the entity + * @type {Vector3Float} + * @instance + */ this.entityAngularVelocity = new dis.Vector3Float(); + /** + * @param {InputStream} inputStream + */ dis.DeadReckoningParameter.prototype.initFromBinary = function(inputStream) { this.deadReckoningAlgorithm = inputStream.readUByte(); @@ -42,6 +65,9 @@ dis.DeadReckoningParameter = function() this.entityAngularVelocity.initFromBinary(inputStream); }; + /** + * @param {OutputStream} outputStream + */ dis.DeadReckoningParameter.prototype.encodeToBinary = function(outputStream) { outputStream.writeUByte(this.deadReckoningAlgorithm); diff --git a/src/dis/DesignatorPdu.js b/src/dis/DesignatorPdu.js index 6108e08..558ea1d 100644 --- a/src/dis/DesignatorPdu.js +++ b/src/dis/DesignatorPdu.js @@ -17,65 +17,148 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.DesignatorPdu = function() { - /** The version of the protocol. 5=DIS-1995, 6=DIS-1998. */ + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + * @type {number} + * @instance + */ this.protocolVersion = 6; - /** Exercise ID */ + /** + * Exercise ID + * @type {number} + * @instance + */ this.exerciseID = 0; - /** Type of pdu, unique for each PDU class */ + /** + * Type of pdu, unique for each PDU class + * @type {number} + * @instance + */ this.pduType = 24; - /** value that refers to the protocol family, eg SimulationManagement, et */ + /** + * value that refers to the protocol family, eg SimulationManagement, et + * @type {number} + * @instance + */ this.protocolFamily = 6; - /** Timestamp value */ + /** + * Timestamp value + * @type {number} + * @instance + */ this.timestamp = 0; - /** Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word */ + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + * @type {number} + * @instance + */ this.pduLength = 0; - /** zero-filled array of padding */ + /** + * zero-filled array of padding + * @type {number} + * @instance + */ this.padding = 0; - /** ID of the entity designating */ + /** + * ID of the entity designating + * @type {EntityID} + * @instance + */ this.designatingEntityID = new dis.EntityID(); - /** This field shall specify a unique emitter database number assigned to differentiate between otherwise similar or identical emitter beams within an emitter system. */ + /** + * This field shall specify a unique emitter database number assigned to differentiate between otherwise similar or identical emitter beams within an emitter system. + * @type {number} + * @instance + */ this.codeName = 0; - /** ID of the entity being designated */ + /** + * ID of the entity being designated + * @type {EntityID} + * @instance + */ this.designatedEntityID = new dis.EntityID(); - /** This field shall identify the designator code being used by the designating entity */ + /** + * This field shall identify the designator code being used by the designating entity + * @type {number} + * @instance + */ this.designatorCode = 0; - /** This field shall identify the designator output power in watts */ + /** + * This field shall identify the designator output power in watts + * @type {number} + * @instance + */ this.designatorPower = 0; - /** This field shall identify the designator wavelength in units of microns */ + /** + * This field shall identify the designator wavelength in units of microns + * @type {number} + * @instance + */ this.designatorWavelength = 0; - /** designtor spot wrt the designated entity */ + /** + * designtor spot wrt the designated entity + * @type {Vector3Float} + * @instance + */ this.designatorSpotWrtDesignated = new dis.Vector3Float(); - /** designtor spot wrt the designated entity */ + /** + * designtor spot wrt the designated entity + * @type {Vector3Float} + * @instance + */ this.designatorSpotLocation = new dis.Vector3Double(); - /** Dead reckoning algorithm */ + /** + * Dead reckoning algorithm + * @type {number} + * @instance + */ this.deadReckoningAlgorithm = 0; - /** padding */ + /** + * padding + * @type {number} + * @instance + */ this.padding1 = 0; - /** padding */ + /** + * padding + * @type {number} + * @instance + */ this.padding2 = 0; - /** linear accelleration of entity */ + /** + * linear accelleration of entity + * @type {Vector3Float} + * @instance + */ this.entityLinearAcceleration = new dis.Vector3Float(); + /** + * @param {InputStream} inputStream + */ dis.DesignatorPdu.prototype.initFromBinary = function(inputStream) { this.protocolVersion = inputStream.readUByte(); @@ -99,6 +182,9 @@ dis.DesignatorPdu = function() this.entityLinearAcceleration.initFromBinary(inputStream); }; + /** + * @param {OutputStream} outputStream + */ dis.DesignatorPdu.prototype.encodeToBinary = function(outputStream) { outputStream.writeUByte(this.protocolVersion); diff --git a/src/dis/DetonationPdu.js b/src/dis/DetonationPdu.js index beb1dbb..e28c7cc 100644 --- a/src/dis/DetonationPdu.js +++ b/src/dis/DetonationPdu.js @@ -17,64 +17,147 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.DetonationPdu = function() { - /** The version of the protocol. 5=DIS-1995, 6=DIS-1998. */ + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + * @type {number} + * @instance + */ this.protocolVersion = 6; - /** Exercise ID */ + /** + * Exercise ID + * @type {number} + * @instance + */ this.exerciseID = 0; - /** Type of pdu, unique for each PDU class */ + /** + * Type of pdu, unique for each PDU class + * @type {number} + * @instance + */ this.pduType = 3; - /** value that refers to the protocol family, eg SimulationManagement, et */ + /** + * value that refers to the protocol family, eg SimulationManagement, et + * @type {number} + * @instance + */ this.protocolFamily = 2; - /** Timestamp value */ + /** + * Timestamp value + * @type {number} + * @instance + */ this.timestamp = 0; - /** Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word */ + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + * @type {number} + * @instance + */ this.pduLength = 0; - /** zero-filled array of padding */ + /** + * zero-filled array of padding + * @type {number} + * @instance + */ this.padding = 0; - /** ID of the entity that shot */ + /** + * ID of the entity that shot + * @type {EntityID} + * @instance + */ this.firingEntityID = new dis.EntityID(); - /** ID of the entity that is being shot at */ + /** + * ID of the entity that is being shot at + * @type {EntityID} + * @instance + */ this.targetEntityID = new dis.EntityID(); - /** ID of muntion that was fired */ + /** + * ID of muntion that was fired + * @type {EntityID} + * @instance + */ this.munitionID = new dis.EntityID(); - /** ID firing event */ + /** + * ID firing event + * @type {EventID} + * @instance + */ this.eventID = new dis.EventID(); - /** ID firing event */ + /** + * ID firing event + * @type {Vector3Float} + * @instance + */ this.velocity = new dis.Vector3Float(); - /** where the detonation is, in world coordinates */ + /** + * where the detonation is, in world coordinates + * @type {Vector3Double} + * @instance + */ this.locationInWorldCoordinates = new dis.Vector3Double(); - /** Describes munition used */ + /** + * Describes munition used + * @type {BurstDescriptor} + * @instance + */ this.burstDescriptor = new dis.BurstDescriptor(); - /** location of the detonation or impact in the target entity's coordinate system. This information should be used for damage assessment. */ + /** + * location of the detonation or impact in the target entity's coordinate system. This information should be used for damage assessment. + * @type {Vector3Float} + * @instance + */ this.locationInEntityCoordinates = new dis.Vector3Float(); - /** result of the explosion */ + /** + * result of the explosion + * @type {number} + * @instance + */ this.detonationResult = 0; - /** How many articulation parameters we have */ + /** + * How many articulation parameters we have + * @type {number} + * @instance + */ this.numberOfArticulationParameters = 0; - /** padding */ + /** + * padding + * @type {number} + * @instance + */ this.pad = 0; - this.articulationParameters = new Array(); + /** + * @type {Array} + * @instance + */ + this.articulationParameters = new Array(); + /** + * @param {InputStream} inputStream + */ dis.DetonationPdu.prototype.initFromBinary = function(inputStream) { this.protocolVersion = inputStream.readUByte(); @@ -104,6 +187,9 @@ dis.DetonationPdu = function() }; + /** + * @param {OutputStream} outputStream + */ dis.DetonationPdu.prototype.encodeToBinary = function(outputStream) { outputStream.writeUByte(this.protocolVersion); diff --git a/src/dis/DistributedEmissionsFamilyPdu.js b/src/dis/DistributedEmissionsFamilyPdu.js index 9ea61df..fa56209 100644 --- a/src/dis/DistributedEmissionsFamilyPdu.js +++ b/src/dis/DistributedEmissionsFamilyPdu.js @@ -17,29 +17,64 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.DistributedEmissionsFamilyPdu = function() { - /** The version of the protocol. 5=DIS-1995, 6=DIS-1998. */ + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + * @type {number} + * @instance + */ this.protocolVersion = 6; - /** Exercise ID */ + /** + * Exercise ID + * @type {number} + * @instance + */ this.exerciseID = 0; - /** Type of pdu, unique for each PDU class */ + /** + * Type of pdu, unique for each PDU class + * @type {number} + * @instance + */ this.pduType = 0; - /** value that refers to the protocol family, eg SimulationManagement, et */ + /** + * value that refers to the protocol family, eg SimulationManagement, et + * @type {number} + * @instance + */ this.protocolFamily = 6; - /** Timestamp value */ + /** + * Timestamp value + * @type {number} + * @instance + */ this.timestamp = 0; - /** Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word */ + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + * @type {number} + * @instance + */ this.pduLength = 0; - /** zero-filled array of padding */ + /** + * zero-filled array of padding + * @type {number} + * @instance + */ this.padding = 0; + /** + * @param {InputStream} inputStream + */ dis.DistributedEmissionsFamilyPdu.prototype.initFromBinary = function(inputStream) { this.protocolVersion = inputStream.readUByte(); @@ -51,6 +86,9 @@ dis.DistributedEmissionsFamilyPdu = function() this.padding = inputStream.readShort(); }; + /** + * @param {OutputStream} outputStream + */ dis.DistributedEmissionsFamilyPdu.prototype.encodeToBinary = function(outputStream) { outputStream.writeUByte(this.protocolVersion); diff --git a/src/dis/ElectronicEmissionBeamData.js b/src/dis/ElectronicEmissionBeamData.js index 3a7b6fe..407dcfe 100644 --- a/src/dis/ElectronicEmissionBeamData.js +++ b/src/dis/ElectronicEmissionBeamData.js @@ -17,38 +17,85 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.ElectronicEmissionBeamData = function() { - /** This field shall specify the length of this beams data in 32 bit words */ + /** + * This field shall specify the length of this beams data in 32 bit words + * @type {number} + * @instance + */ this.beamDataLength = 0; - /** This field shall specify a unique emitter database number assigned to differentiate between otherwise similar or identical emitter beams within an emitter system. */ + /** + * This field shall specify a unique emitter database number assigned to differentiate between otherwise similar or identical emitter beams within an emitter system. + * @type {number} + * @instance + */ this.beamIDNumber = 0; - /** This field shall specify a Beam Parameter Index number that shall be used by receiving entities in conjunction with the Emitter Name field to provide a pointer to the stored database parameters required to regenerate the beam. */ + /** + * This field shall specify a Beam Parameter Index number that shall be used by receiving entities in conjunction with the Emitter Name field to provide a pointer to the stored database parameters required to regenerate the beam. + * @type {number} + * @instance + */ this.beamParameterIndex = 0; - /** Fundamental parameter data such as frequency range, beam sweep, etc. */ + /** + * Fundamental parameter data such as frequency range, beam sweep, etc. + * @type {FundamentalParameterData} + * @instance + */ this.fundamentalParameterData = new dis.FundamentalParameterData(); - /** beam function of a particular beam */ + /** + * beam function of a particular beam + * @type {number} + * @instance + */ this.beamFunction = 0; - /** Number of track/jam targets */ + /** + * Number of track/jam targets + * @type {number} + * @instance + */ this.numberOfTrackJamTargets = 0; - /** wheher or not the receiving simulation apps can assume all the targets in the scan pattern are being tracked/jammed */ + /** + * wheher or not the receiving simulation apps can assume all the targets in the scan pattern are being tracked/jammed + * @type {number} + * @instance + */ this.highDensityTrackJam = 0; - /** padding */ + /** + * padding + * @type {number} + * @instance + */ this.pad4 = 0; - /** identify jamming techniques used */ + /** + * identify jamming techniques used + * @type {number} + * @instance + */ this.jammingModeSequence = 0; - /** variable length variablelist of track/jam targets */ + /** + * variable length variablelist of track/jam targets + * @type {Array} + * @instance + */ this.trackJamTargets = new Array(); + /** + * @param {InputStream} inputStream + */ dis.ElectronicEmissionBeamData.prototype.initFromBinary = function(inputStream) { this.beamDataLength = inputStream.readUByte(); @@ -69,6 +116,9 @@ dis.ElectronicEmissionBeamData = function() }; + /** + * @param {OutputStream} outputStream + */ dis.ElectronicEmissionBeamData.prototype.encodeToBinary = function(outputStream) { outputStream.writeUByte(this.beamDataLength); diff --git a/src/dis/ElectronicEmissionSystemData.js b/src/dis/ElectronicEmissionSystemData.js index 05a7983..1aa31f3 100644 --- a/src/dis/ElectronicEmissionSystemData.js +++ b/src/dis/ElectronicEmissionSystemData.js @@ -17,26 +17,57 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.ElectronicEmissionSystemData = function() { - /** This field shall specify the length of this emitter system�s data (including beam data and its track/jam information) in 32-bit words. The length shall include the System Data Length field. */ + /** + * This field shall specify the length of this emitter system�s data (including beam data and its track/jam information) in 32-bit words. The length shall include the System Data Length field. + * @type {number} + * @instance + */ this.systemDataLength = 0; - /** This field shall specify the number of beams being described in the current PDU for the system being described. */ + /** + * This field shall specify the number of beams being described in the current PDU for the system being described. + * @type {number} + * @instance + */ this.numberOfBeams = 0; - /** padding. */ + /** + * padding. + * @type {number} + * @instance + */ this.emissionsPadding2 = 0; - /** This field shall specify information about a particular emitter system */ + /** + * This field shall specify information about a particular emitter system + * @type {EmitterSystem} + * @instance + */ this.emitterSystem = new dis.EmitterSystem(); - /** Location with respect to the entity */ + /** + * Location with respect to the entity + * @type {Vector3Float} + * @instance + */ this.location = new dis.Vector3Float(); - /** variable length variablelist of beam data records */ + /** + * variable length variablelist of beam data records + * @type {Array} + * @instance + */ this.beamDataRecords = new Array(); + /** + * @param {InputStream} inputStream + */ dis.ElectronicEmissionSystemData.prototype.initFromBinary = function(inputStream) { this.systemDataLength = inputStream.readUByte(); @@ -53,6 +84,9 @@ dis.ElectronicEmissionSystemData = function() }; + /** + * @param {OutputStream} outputStream + */ dis.ElectronicEmissionSystemData.prototype.encodeToBinary = function(outputStream) { outputStream.writeUByte(this.systemDataLength); diff --git a/src/dis/ElectronicEmissionsPdu.js b/src/dis/ElectronicEmissionsPdu.js index 02f38d0..1226b60 100644 --- a/src/dis/ElectronicEmissionsPdu.js +++ b/src/dis/ElectronicEmissionsPdu.js @@ -17,47 +17,106 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.ElectronicEmissionsPdu = function() { - /** The version of the protocol. 5=DIS-1995, 6=DIS-1998. */ + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + * @type {number} + * @instance + */ this.protocolVersion = 6; - /** Exercise ID */ + /** + * Exercise ID + * @type {number} + * @instance + */ this.exerciseID = 0; - /** Type of pdu, unique for each PDU class */ + /** + * Type of pdu, unique for each PDU class + * @type {number} + * @instance + */ this.pduType = 23; - /** value that refers to the protocol family, eg SimulationManagement, et */ + /** + * value that refers to the protocol family, eg SimulationManagement, et + * @type {number} + * @instance + */ this.protocolFamily = 6; - /** Timestamp value */ + /** + * Timestamp value + * @type {number} + * @instance + */ this.timestamp = 0; - /** Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word */ + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + * @type {number} + * @instance + */ this.pduLength = 0; - /** zero-filled array of padding */ + /** + * zero-filled array of padding + * @type {number} + * @instance + */ this.padding = 0; - /** ID of the entity emitting */ + /** + * ID of the entity emitting + * @type {EntityID} + * @instance + */ this.emittingEntityID = new dis.EntityID(); - /** ID of event */ + /** + * ID of event + * @type {EventID} + * @instance + */ this.eventID = new dis.EventID(); - /** This field shall be used to indicate if the data in the PDU represents a state update or just data that has changed since issuance of the last Electromagnetic Emission PDU [relative to the identified entity and emission system(s)]. */ + /** + * This field shall be used to indicate if the data in the PDU represents a state update or just data that has changed since issuance of the last Electromagnetic Emission PDU [relative to the identified entity and emission system(s)]. + * @type {number} + * @instance + */ this.stateUpdateIndicator = 0; - /** This field shall specify the number of emission systems being described in the current PDU. */ + /** + * This field shall specify the number of emission systems being described in the current PDU. + * @type {number} + * @instance + */ this.numberOfSystems = 0; - /** padding */ + /** + * padding + * @type {number} + * @instance + */ this.paddingForEmissionsPdu = 0; - /** Electronic emmissions systems */ + /** + * Electronic emmissions systems + * @type {Array} + * @instance + */ this.systems = new Array(); + /** + * @param {InputStream} inputStream + */ dis.ElectronicEmissionsPdu.prototype.initFromBinary = function(inputStream) { this.protocolVersion = inputStream.readUByte(); @@ -81,6 +140,9 @@ dis.ElectronicEmissionsPdu = function() }; + /** + * @param {OutputStream} outputStream + */ dis.ElectronicEmissionsPdu.prototype.encodeToBinary = function(outputStream) { outputStream.writeUByte(this.protocolVersion); diff --git a/src/dis/EmitterSystem.js b/src/dis/EmitterSystem.js index cfbad06..a8ed23e 100644 --- a/src/dis/EmitterSystem.js +++ b/src/dis/EmitterSystem.js @@ -17,17 +17,36 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.EmitterSystem = function() { - /** Name of the emitter, 16 bit enumeration */ + /** + * Name of the emitter, 16 bit enumeration + * @type {number} + * @instance + */ this.emitterName = 0; - /** function of the emitter, 8 bit enumeration */ + /** + * function of the emitter, 8 bit enumeration + * @type {number} + * @instance + */ this.function = 0; - /** emitter ID, 8 bit enumeration */ + /** + * emitter ID, 8 bit enumeration + * @type {number} + * @instance + */ this.emitterIdNumber = 0; + /** + * @param {InputStream} inputStream + */ dis.EmitterSystem.prototype.initFromBinary = function(inputStream) { this.emitterName = inputStream.readUShort(); @@ -35,6 +54,9 @@ dis.EmitterSystem = function() this.emitterIdNumber = inputStream.readUByte(); }; + /** + * @param {OutputStream} outputStream + */ dis.EmitterSystem.prototype.encodeToBinary = function(outputStream) { outputStream.writeUShort(this.emitterName); diff --git a/src/dis/EntityID.js b/src/dis/EntityID.js index 4fd619a..927fe06 100644 --- a/src/dis/EntityID.js +++ b/src/dis/EntityID.js @@ -17,17 +17,36 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.EntityID = function() { - /** The site ID */ + /** + * The site ID + * @type {number} + * @instance + */ this.site = 0; - /** The application ID */ + /** + * The application ID + * @type {number} + * @instance + */ this.application = 0; - /** the entity ID */ + /** + * the entity ID + * @type {number} + * @instance + */ this.entity = 0; + /** + * @param {InputStream} inputStream + */ dis.EntityID.prototype.initFromBinary = function(inputStream) { this.site = inputStream.readUShort(); @@ -35,6 +54,9 @@ dis.EntityID = function() this.entity = inputStream.readUShort(); }; + /** + * @param {OutputStream} outputStream + */ dis.EntityID.prototype.encodeToBinary = function(outputStream) { outputStream.writeUShort(this.site); diff --git a/src/dis/EntityInformationFamilyPdu.js b/src/dis/EntityInformationFamilyPdu.js index d3bcdbc..599f4ed 100644 --- a/src/dis/EntityInformationFamilyPdu.js +++ b/src/dis/EntityInformationFamilyPdu.js @@ -17,29 +17,64 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.EntityInformationFamilyPdu = function() { - /** The version of the protocol. 5=DIS-1995, 6=DIS-1998. */ + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + * @type {number} + * @instance + */ this.protocolVersion = 6; - /** Exercise ID */ + /** + * Exercise ID + * @type {number} + * @instance + */ this.exerciseID = 0; - /** Type of pdu, unique for each PDU class */ + /** + * Type of pdu, unique for each PDU class + * @type {number} + * @instance + */ this.pduType = 0; - /** value that refers to the protocol family, eg SimulationManagement, et */ + /** + * value that refers to the protocol family, eg SimulationManagement, et + * @type {number} + * @instance + */ this.protocolFamily = 1; - /** Timestamp value */ + /** + * Timestamp value + * @type {number} + * @instance + */ this.timestamp = 0; - /** Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word */ + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + * @type {number} + * @instance + */ this.pduLength = 0; - /** zero-filled array of padding */ + /** + * zero-filled array of padding + * @type {number} + * @instance + */ this.padding = 0; + /** + * @param {InputStream} inputStream + */ dis.EntityInformationFamilyPdu.prototype.initFromBinary = function(inputStream) { this.protocolVersion = inputStream.readUByte(); @@ -51,6 +86,9 @@ dis.EntityInformationFamilyPdu = function() this.padding = inputStream.readShort(); }; + /** + * @param {OutputStream} outputStream + */ dis.EntityInformationFamilyPdu.prototype.encodeToBinary = function(outputStream) { outputStream.writeUByte(this.protocolVersion); diff --git a/src/dis/EntityManagementFamilyPdu.js b/src/dis/EntityManagementFamilyPdu.js index 66e75f0..170f2d7 100644 --- a/src/dis/EntityManagementFamilyPdu.js +++ b/src/dis/EntityManagementFamilyPdu.js @@ -17,29 +17,64 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.EntityManagementFamilyPdu = function() { - /** The version of the protocol. 5=DIS-1995, 6=DIS-1998. */ + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + * @type {number} + * @instance + */ this.protocolVersion = 6; - /** Exercise ID */ + /** + * Exercise ID + * @type {number} + * @instance + */ this.exerciseID = 0; - /** Type of pdu, unique for each PDU class */ + /** + * Type of pdu, unique for each PDU class + * @type {number} + * @instance + */ this.pduType = 0; - /** value that refers to the protocol family, eg SimulationManagement, et */ + /** + * value that refers to the protocol family, eg SimulationManagement, et + * @type {number} + * @instance + */ this.protocolFamily = 7; - /** Timestamp value */ + /** + * Timestamp value + * @type {number} + * @instance + */ this.timestamp = 0; - /** Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word */ + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + * @type {number} + * @instance + */ this.pduLength = 0; - /** zero-filled array of padding */ + /** + * zero-filled array of padding + * @type {number} + * @instance + */ this.padding = 0; + /** + * @param {InputStream} inputStream + */ dis.EntityManagementFamilyPdu.prototype.initFromBinary = function(inputStream) { this.protocolVersion = inputStream.readUByte(); @@ -51,6 +86,9 @@ dis.EntityManagementFamilyPdu = function() this.padding = inputStream.readShort(); }; + /** + * @param {OutputStream} outputStream + */ dis.EntityManagementFamilyPdu.prototype.encodeToBinary = function(outputStream) { outputStream.writeUByte(this.protocolVersion); diff --git a/src/dis/EntityStatePdu.js b/src/dis/EntityStatePdu.js index 57bb9c5..a772c42 100644 --- a/src/dis/EntityStatePdu.js +++ b/src/dis/EntityStatePdu.js @@ -17,67 +17,154 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.EntityStatePdu = function() { - /** The version of the protocol. 5=DIS-1995, 6=DIS-1998. */ + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + * @type {number} + * @instance + */ this.protocolVersion = 6; - /** Exercise ID */ + /** + * Exercise ID + * @type {number} + * @instance + */ this.exerciseID = 0; - /** Type of pdu, unique for each PDU class */ + /** + * Type of pdu, unique for each PDU class + * @type {number} + * @instance + */ this.pduType = 1; - /** value that refers to the protocol family, eg SimulationManagement, et */ + /** + * value that refers to the protocol family, eg SimulationManagement, et + * @type {number} + * @instance + */ this.protocolFamily = 1; - /** Timestamp value */ + /** + * Timestamp value + * @type {number} + * @instance + */ this.timestamp = 0; - /** Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word */ + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + * @type {number} + * @instance + */ this.pduLength = 0; - /** zero-filled array of padding */ + /** + * zero-filled array of padding + * @type {number} + * @instance + */ this.padding = 0; - /** Unique ID for an entity that is tied to this state information */ + /** + * Unique ID for an entity that is tied to this state information + * @type {EntityID} + * @instance + */ this.entityID = new dis.EntityID(); - /** What force this entity is affiliated with, eg red, blue, neutral, etc */ + /** + * What force this entity is affiliated with, eg red, blue, neutral, etc + * @type {number} + * @instance + */ this.forceId = 0; - /** How many articulation parameters are in the variable length list */ + /** + * How many articulation parameters are in the variable length list + * @type {number} + * @instance + */ this.numberOfArticulationParameters = 0; - /** Describes the type of entity in the world */ + /** + * Describes the type of entity in the world + * @type {EntityType} + * @instance + */ this.entityType = new dis.EntityType(); + /** + * @type {EntityType} + * @instance + */ this.alternativeEntityType = new dis.EntityType(); - /** Describes the speed of the entity in the world */ + /** + * Describes the speed of the entity in the world + * @type {Vector3Float} + * @instance + */ this.entityLinearVelocity = new dis.Vector3Float(); - /** describes the location of the entity in the world */ + /** + * describes the location of the entity in the world + * @type {Vector3Double} + * @instance + */ this.entityLocation = new dis.Vector3Double(); - /** describes the orientation of the entity, in euler angles */ + /** + * describes the orientation of the entity, in euler angles + * @type {Orientation} + * @instance + */ this.entityOrientation = new dis.Orientation(); - /** a series of bit flags that are used to help draw the entity, such as smoking, on fire, etc. */ + /** + * a series of bit flags that are used to help draw the entity, such as smoking, on fire, etc. + * @type {number} + * @instance + */ this.entityAppearance = 0; - /** parameters used for dead reckoning */ + /** + * parameters used for dead reckoning + * @type {DeadReckoningParameter} + * @instance + */ this.deadReckoningParameters = new dis.DeadReckoningParameter(); - /** characters that can be used for debugging, or to draw unique strings on the side of entities in the world */ + /** + * characters that can be used for debugging, or to draw unique strings on the side of entities in the world + * @type {Marking} + * @instance + */ this.marking = new dis.Marking(); - /** a series of bit flags */ + /** + * a series of bit flags + * @type {number} + * @instance + */ this.capabilities = 0; - /** variable length list of articulation parameters */ + /** + * variable length list of articulation parameters + * @type {Array} + * @instance + */ this.articulationParameters = new Array(); + /** + * @param {InputStream} inputStream + */ dis.EntityStatePdu.prototype.initFromBinary = function(inputStream) { this.protocolVersion = inputStream.readUByte(); @@ -108,6 +195,9 @@ dis.EntityStatePdu = function() }; + /** + * @param {OutputStream} outputStream + */ dis.EntityStatePdu.prototype.encodeToBinary = function(outputStream) { outputStream.writeUByte(this.protocolVersion); @@ -136,7 +226,9 @@ dis.EntityStatePdu = function() }; -/** 0 uniform color, 1 camouflage */ +/** + * @returns {number} 0 uniform color, 1 camouflage + */ dis.EntityStatePdu.prototype.getEntityAppearance_paintScheme = function() { var val = this.entityAppearance & 0x1; @@ -144,7 +236,9 @@ dis.EntityStatePdu.prototype.getEntityAppearance_paintScheme = function() }; -/** 0 uniform color, 1 camouflage */ +/** + * @param {number} val 0 uniform color, 1 camouflage + */ dis.EntityStatePdu.prototype.setEntityAppearance_paintScheme= function(val) { this.entityAppearance &= ~0x1; // Zero existing bits @@ -153,7 +247,9 @@ dis.EntityStatePdu.prototype.setEntityAppearance_paintScheme= function(val) }; -/** 0 no mobility kill, 1 mobility kill */ +/** + * @returns {number} 0 no mobility kill, 1 mobility kill + */ dis.EntityStatePdu.prototype.getEntityAppearance_mobility = function() { var val = this.entityAppearance & 0x2; @@ -161,7 +257,9 @@ dis.EntityStatePdu.prototype.getEntityAppearance_mobility = function() }; -/** 0 no mobility kill, 1 mobility kill */ +/** + * @param {number} val 0 no mobility kill, 1 mobility kill + */ dis.EntityStatePdu.prototype.setEntityAppearance_mobility= function(val) { this.entityAppearance &= ~0x2; // Zero existing bits @@ -170,7 +268,9 @@ dis.EntityStatePdu.prototype.setEntityAppearance_mobility= function(val) }; -/** 0 no firepower iill, 1 firepower kill */ +/** + * @returns {number} 0 no firepower iill, 1 firepower kill + */ dis.EntityStatePdu.prototype.getEntityAppearance_firepower = function() { var val = this.entityAppearance & 0x4; @@ -178,7 +278,9 @@ dis.EntityStatePdu.prototype.getEntityAppearance_firepower = function() }; -/** 0 no firepower iill, 1 firepower kill */ +/** + * @param {number} val 0 no firepower iill, 1 firepower kill + */ dis.EntityStatePdu.prototype.setEntityAppearance_firepower= function(val) { this.entityAppearance &= ~0x4; // Zero existing bits @@ -187,7 +289,9 @@ dis.EntityStatePdu.prototype.setEntityAppearance_firepower= function(val) }; -/** 0 no damage, 1 slight damage, 2 moderate, 3 destroyed */ +/** + * @returns {number} 0 no damage, 1 slight damage, 2 moderate, 3 destroyed + */ dis.EntityStatePdu.prototype.getEntityAppearance_damage = function() { var val = this.entityAppearance & 0x18; @@ -195,7 +299,9 @@ dis.EntityStatePdu.prototype.getEntityAppearance_damage = function() }; -/** 0 no damage, 1 slight damage, 2 moderate, 3 destroyed */ +/** + * @param {number} val 0 no damage, 1 slight damage, 2 moderate, 3 destroyed + */ dis.EntityStatePdu.prototype.setEntityAppearance_damage= function(val) { this.entityAppearance &= ~0x18; // Zero existing bits @@ -204,7 +310,9 @@ dis.EntityStatePdu.prototype.setEntityAppearance_damage= function(val) }; -/** 0 no smoke, 1 smoke plume, 2 engine smoke, 3 engine smoke and plume */ +/** + * @returns {number} 0 no smoke, 1 smoke plume, 2 engine smoke, 3 engine smoke and plume + */ dis.EntityStatePdu.prototype.getEntityAppearance_smoke = function() { var val = this.entityAppearance & 0x60; @@ -212,7 +320,9 @@ dis.EntityStatePdu.prototype.getEntityAppearance_smoke = function() }; -/** 0 no smoke, 1 smoke plume, 2 engine smoke, 3 engine smoke and plume */ +/** + * @param {number} val 0 no smoke, 1 smoke plume, 2 engine smoke, 3 engine smoke and plume + */ dis.EntityStatePdu.prototype.setEntityAppearance_smoke= function(val) { this.entityAppearance &= ~0x60; // Zero existing bits @@ -221,7 +331,9 @@ dis.EntityStatePdu.prototype.setEntityAppearance_smoke= function(val) }; -/** dust cloud, 0 none 1 small 2 medium 3 large */ +/** + * @returns {number} dust cloud, 0 none 1 small 2 medium 3 large + */ dis.EntityStatePdu.prototype.getEntityAppearance_trailingEffects = function() { var val = this.entityAppearance & 0x180; @@ -229,7 +341,9 @@ dis.EntityStatePdu.prototype.getEntityAppearance_trailingEffects = function() }; -/** dust cloud, 0 none 1 small 2 medium 3 large */ +/** + * @param {number} val dust cloud, 0 none 1 small 2 medium 3 large + */ dis.EntityStatePdu.prototype.setEntityAppearance_trailingEffects= function(val) { this.entityAppearance &= ~0x180; // Zero existing bits @@ -238,7 +352,9 @@ dis.EntityStatePdu.prototype.setEntityAppearance_trailingEffects= function(val) }; -/** 0 NA 1 closed popped 3 popped and person visible 4 open 5 open and person visible */ +/** + * @returns {number} 0 NA 1 closed popped 3 popped and person visible 4 open 5 open and person visible + */ dis.EntityStatePdu.prototype.getEntityAppearance_hatch = function() { var val = this.entityAppearance & 0xe00; @@ -246,7 +362,9 @@ dis.EntityStatePdu.prototype.getEntityAppearance_hatch = function() }; -/** 0 NA 1 closed popped 3 popped and person visible 4 open 5 open and person visible */ +/** + * @param {number} val 0 NA 1 closed popped 3 popped and person visible 4 open 5 open and person visible + */ dis.EntityStatePdu.prototype.setEntityAppearance_hatch= function(val) { this.entityAppearance &= ~0xe00; // Zero existing bits @@ -255,7 +373,9 @@ dis.EntityStatePdu.prototype.setEntityAppearance_hatch= function(val) }; -/** 0 off 1 on */ +/** + * @returns {number} 0 off 1 on + */ dis.EntityStatePdu.prototype.getEntityAppearance_headlights = function() { var val = this.entityAppearance & 0x1000; @@ -263,7 +383,9 @@ dis.EntityStatePdu.prototype.getEntityAppearance_headlights = function() }; -/** 0 off 1 on */ +/** + * @param {number} val 0 off 1 on + */ dis.EntityStatePdu.prototype.setEntityAppearance_headlights= function(val) { this.entityAppearance &= ~0x1000; // Zero existing bits @@ -272,7 +394,9 @@ dis.EntityStatePdu.prototype.setEntityAppearance_headlights= function(val) }; -/** 0 off 1 on */ +/** + * @returns {number} 0 off 1 on + */ dis.EntityStatePdu.prototype.getEntityAppearance_tailLights = function() { var val = this.entityAppearance & 0x2000; @@ -280,7 +404,9 @@ dis.EntityStatePdu.prototype.getEntityAppearance_tailLights = function() }; -/** 0 off 1 on */ +/** + * @param {number} val 0 off 1 on + */ dis.EntityStatePdu.prototype.setEntityAppearance_tailLights= function(val) { this.entityAppearance &= ~0x2000; // Zero existing bits @@ -289,7 +415,9 @@ dis.EntityStatePdu.prototype.setEntityAppearance_tailLights= function(val) }; -/** 0 off 1 on */ +/** + * @returns {number} 0 off 1 on + */ dis.EntityStatePdu.prototype.getEntityAppearance_brakeLights = function() { var val = this.entityAppearance & 0x4000; @@ -297,7 +425,9 @@ dis.EntityStatePdu.prototype.getEntityAppearance_brakeLights = function() }; -/** 0 off 1 on */ +/** + * @param {number} val 0 off 1 on + */ dis.EntityStatePdu.prototype.setEntityAppearance_brakeLights= function(val) { this.entityAppearance &= ~0x4000; // Zero existing bits @@ -306,7 +436,9 @@ dis.EntityStatePdu.prototype.setEntityAppearance_brakeLights= function(val) }; -/** 0 off 1 on */ +/** + * @returns {number} 0 off 1 on + */ dis.EntityStatePdu.prototype.getEntityAppearance_flaming = function() { var val = this.entityAppearance & 0x8000; @@ -314,7 +446,9 @@ dis.EntityStatePdu.prototype.getEntityAppearance_flaming = function() }; -/** 0 off 1 on */ +/** + * @param {number} val 0 off 1 on + */ dis.EntityStatePdu.prototype.setEntityAppearance_flaming= function(val) { this.entityAppearance &= ~0x8000; // Zero existing bits @@ -323,7 +457,9 @@ dis.EntityStatePdu.prototype.setEntityAppearance_flaming= function(val) }; -/** 0 not raised 1 raised */ +/** + * @returns {number} 0 not raised 1 raised + */ dis.EntityStatePdu.prototype.getEntityAppearance_launcher = function() { var val = this.entityAppearance & 0x10000; @@ -331,7 +467,9 @@ dis.EntityStatePdu.prototype.getEntityAppearance_launcher = function() }; -/** 0 not raised 1 raised */ +/** + * @param {number} val 0 not raised 1 raised + */ dis.EntityStatePdu.prototype.setEntityAppearance_launcher= function(val) { this.entityAppearance &= ~0x10000; // Zero existing bits @@ -340,7 +478,9 @@ dis.EntityStatePdu.prototype.setEntityAppearance_launcher= function(val) }; -/** 0 desert 1 winter 2 forest 3 unused */ +/** + * @returns {number} 0 desert 1 winter 2 forest 3 unused + */ dis.EntityStatePdu.prototype.getEntityAppearance_camouflageType = function() { var val = this.entityAppearance & 0x60000; @@ -348,7 +488,9 @@ dis.EntityStatePdu.prototype.getEntityAppearance_camouflageType = function() }; -/** 0 desert 1 winter 2 forest 3 unused */ +/** + * @param {number} val 0 desert 1 winter 2 forest 3 unused + */ dis.EntityStatePdu.prototype.setEntityAppearance_camouflageType= function(val) { this.entityAppearance &= ~0x60000; // Zero existing bits diff --git a/src/dis/EntityStateUpdatePdu.js b/src/dis/EntityStateUpdatePdu.js index 69f2011..ae295e1 100644 --- a/src/dis/EntityStateUpdatePdu.js +++ b/src/dis/EntityStateUpdatePdu.js @@ -16,53 +16,119 @@ if (typeof dis === "undefined") if (typeof exports === "undefined") exports = {}; - +/** + * @constructor + * @memberof dis + */ dis.EntityStateUpdatePdu = function() { - /** The version of the protocol. 5=DIS-1995, 6=DIS-1998. */ + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + * @type {number} + * @instance + */ this.protocolVersion = 6; - /** Exercise ID */ + /** + * Exercise ID + * @type {number} + * @instance + */ this.exerciseID = 0; - /** Type of pdu, unique for each PDU class */ + /** + * Type of pdu, unique for each PDU class + * @type {number} + * @instance + */ this.pduType = 67; - /** value that refers to the protocol family, eg SimulationManagement, et */ + /** + * value that refers to the protocol family, eg SimulationManagement, et + * @type {number} + * @instance + */ this.protocolFamily = 1; - /** Timestamp value */ + /** + * Timestamp value + * @type {number} + * @instance + */ this.timestamp = 0; - /** Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word */ + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + * @type {number} + * @instance + */ this.pduLength = 0; - /** zero-filled array of padding */ + /** + * zero-filled array of padding + * @type {number} + * @instance + */ this.padding = 0; - /** This field shall identify the entity issuing the PDU */ + /** + * This field shall identify the entity issuing the PDU + * @type {EntityID} + * @instance + */ this.entityID = new dis.EntityID(); - /** Padding */ + /** + * Padding + * @type {number} + * @instance + */ this.padding1 = 0; - /** How many articulation parameters are in the variable length list */ + /** + * How many articulation parameters are in the variable length list + * @type {number} + * @instance + */ this.numberOfArticulationParameters = 0; - /** Describes the speed of the entity in the world */ + /** + * Describes the speed of the entity in the world + * @type {Vector3Float} + * @instance + */ this.entityLinearVelocity = new dis.Vector3Float(); - /** describes the location of the entity in the world */ + /** + * describes the location of the entity in the world + * @type {Vector3Double} + * @instance + */ this.entityLocation = new dis.Vector3Double(); - /** describes the orientation of the entity, in euler angles */ + /** + * describes the orientation of the entity, in euler angles + * @type {Orientation} + * @instance + */ this.entityOrientation = new dis.Orientation(); - /** a series of bit flags that are used to help draw the entity, such as smoking, on fire, etc. */ + /** + * a series of bit flags that are used to help draw the entity, such as smoking, on fire, etc. + * @type {number} + * @instance + */ this.entityAppearance = 0; - this.articulationParameters = new Array(); + /** + * @type {Array} + * @instance + */ + this.articulationParameters = new Array(); + /** + * @param {InputStream} inputStream + */ dis.EntityStateUpdatePdu.prototype.initFromBinary = function(inputStream) { this.protocolVersion = inputStream.readUByte(); @@ -88,6 +154,9 @@ dis.EntityStateUpdatePdu = function() }; + /** + * @param {OutputStream} outputStream + */ dis.EntityStateUpdatePdu.prototype.encodeToBinary = function(outputStream) { outputStream.writeUByte(this.protocolVersion); diff --git a/src/dis/EntityType.js b/src/dis/EntityType.js index 1ac78fb..acb2269 100644 --- a/src/dis/EntityType.js +++ b/src/dis/EntityType.js @@ -17,28 +17,63 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.EntityType = function() { - /** Kind of entity */ + /** + * Kind of entity + * @type {number} + * @instance + */ this.entityKind = 0; - /** Domain of entity (air, surface, subsurface, space, etc) */ + /** + * Domain of entity (air, surface, subsurface, space, etc) + * @type {number} + * @instance + */ this.domain = 0; - /** country to which the design of the entity is attributed */ + /** + * country to which the design of the entity is attributed + * @type {number} + * @instance + */ this.country = 0; - /** category of entity */ + /** + * category of entity + * @type {number} + * @instance + */ this.category = 0; - /** subcategory of entity */ + /** + * subcategory of entity + * @type {number} + * @instance + */ this.subcategory = 0; - /** specific info based on subcategory field. Renamed from specific because that is a reserved word in SQL */ + /** + * specific info based on subcategory field. Renamed from specific because that is a reserved word in SQL + * @type {number} + * @instance + */ this.spec = 0; + /** + * @type {number} + * @instance + */ this.extra = 0; + /** + * @param {InputStream} inputStream + */ dis.EntityType.prototype.initFromBinary = function(inputStream) { this.entityKind = inputStream.readUByte(); @@ -50,6 +85,9 @@ dis.EntityType = function() this.extra = inputStream.readUByte(); }; + /** + * @param {OutputStream} outputStream + */ dis.EntityType.prototype.encodeToBinary = function(outputStream) { outputStream.writeUByte(this.entityKind); diff --git a/src/dis/Environment.js b/src/dis/Environment.js index 632d83e..57effca 100644 --- a/src/dis/Environment.js +++ b/src/dis/Environment.js @@ -17,26 +17,57 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.Environment = function() { - /** Record type */ + /** + * Record type + * @type {number} + * @instance + */ this.environmentType = 0; - /** length, in bits */ + /** + * length, in bits + * @type {number} + * @instance + */ this.length = 0; - /** Identify the sequentially numbered record index */ + /** + * Identify the sequentially numbered record index + * @type {number} + * @instance + */ this.recordIndex = 0; - /** padding */ + /** + * padding + * @type {number} + * @instance + */ this.padding1 = 0; - /** Geometry or state record */ + /** + * Geometry or state record + * @type {number} + * @instance + */ this.geometry = 0; - /** padding to bring the total size up to a 64 bit boundry */ + /** + * padding to bring the total size up to a 64 bit boundry + * @type {number} + * @instance + */ this.padding2 = 0; + /** + * @param {InputStream} inputStream + */ dis.Environment.prototype.initFromBinary = function(inputStream) { this.environmentType = inputStream.readUInt(); @@ -47,6 +78,9 @@ dis.Environment = function() this.padding2 = inputStream.readUByte(); }; + /** + * @param {OutputStream} outputStream + */ dis.Environment.prototype.encodeToBinary = function(outputStream) { outputStream.writeUInt(this.environmentType); diff --git a/src/dis/EnvironmentalProcessPdu.js b/src/dis/EnvironmentalProcessPdu.js index 8e9ea53..388ec06 100644 --- a/src/dis/EnvironmentalProcessPdu.js +++ b/src/dis/EnvironmentalProcessPdu.js @@ -17,50 +17,113 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.EnvironmentalProcessPdu = function() { - /** The version of the protocol. 5=DIS-1995, 6=DIS-1998. */ + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + * @type {number} + * @instance + */ this.protocolVersion = 6; - /** Exercise ID */ + /** + * Exercise ID + * @type {number} + * @instance + */ this.exerciseID = 0; - /** Type of pdu, unique for each PDU class */ + /** + * Type of pdu, unique for each PDU class + * @type {number} + * @instance + */ this.pduType = 41; - /** value that refers to the protocol family, eg SimulationManagement, et */ + /** + * value that refers to the protocol family, eg SimulationManagement, et + * @type {number} + * @instance + */ this.protocolFamily = 9; - /** Timestamp value */ + /** + * Timestamp value + * @type {number} + * @instance + */ this.timestamp = 0; - /** Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word */ + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + * @type {number} + * @instance + */ this.pduLength = 0; - /** zero-filled array of padding */ + /** + * zero-filled array of padding + * @type {number} + * @instance + */ this.padding = 0; - /** Environmental process ID */ + /** + * Environmental process ID + * @type {EntityID} + * @instance + */ this.environementalProcessID = new dis.EntityID(); - /** Environment type */ + /** + * Environment type + * @type {EntityType} + * @instance + */ this.environmentType = new dis.EntityType(); - /** model type */ + /** + * model type + * @type {number} + * @instance + */ this.modelType = 0; - /** Environment status */ + /** + * Environment status + * @type {number} + * @instance + */ this.environmentStatus = 0; - /** number of environment records */ + /** + * number of environment records + * @type {number} + * @instance + */ this.numberOfEnvironmentRecords = 0; - /** PDU sequence number for the environmentla process if pdu sequencing required */ + /** + * PDU sequence number for the environmentla process if pdu sequencing required + * @type {number} + * @instance + */ this.sequenceNumber = 0; - /** environemt records */ + /** + * environemt records + * @type {Array} + * @instance + */ this.environmentRecords = new Array(); + /** + * @param {InputStream} inputStream + */ dis.EnvironmentalProcessPdu.prototype.initFromBinary = function(inputStream) { this.protocolVersion = inputStream.readUByte(); @@ -85,6 +148,9 @@ dis.EnvironmentalProcessPdu = function() }; + /** + * @param {OutputStream} outputStream + */ dis.EnvironmentalProcessPdu.prototype.encodeToBinary = function(outputStream) { outputStream.writeUByte(this.protocolVersion); diff --git a/src/dis/EventID.js b/src/dis/EventID.js index 05d6341..5253632 100644 --- a/src/dis/EventID.js +++ b/src/dis/EventID.js @@ -17,17 +17,36 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.EventID = function() { - /** The site ID */ + /** + * The site ID + * @type {number} + * @instance + */ this.site = 0; - /** The application ID */ + /** + * The application ID + * @type {number} + * @instance + */ this.application = 0; - /** the number of the event */ + /** + * the number of the event + * @type {number} + * @instance + */ this.eventNumber = 0; + /** + * @param {InputStream} inputStream + */ dis.EventID.prototype.initFromBinary = function(inputStream) { this.site = inputStream.readUShort(); @@ -35,6 +54,9 @@ dis.EventID = function() this.eventNumber = inputStream.readUShort(); }; + /** + * @param {OutputStream} outputStream + */ dis.EventID.prototype.encodeToBinary = function(outputStream) { outputStream.writeUShort(this.site); diff --git a/src/dis/EventReportPdu.js b/src/dis/EventReportPdu.js index 264d50b..469dc12 100644 --- a/src/dis/EventReportPdu.js +++ b/src/dis/EventReportPdu.js @@ -17,53 +17,120 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.EventReportPdu = function() { - /** The version of the protocol. 5=DIS-1995, 6=DIS-1998. */ + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + * @type {number} + * @instance + */ this.protocolVersion = 6; - /** Exercise ID */ + /** + * Exercise ID + * @type {number} + * @instance + */ this.exerciseID = 0; - /** Type of pdu, unique for each PDU class */ + /** + * Type of pdu, unique for each PDU class + * @type {number} + * @instance + */ this.pduType = 21; - /** value that refers to the protocol family, eg SimulationManagement, et */ + /** + * value that refers to the protocol family, eg SimulationManagement, et + * @type {number} + * @instance + */ this.protocolFamily = 5; - /** Timestamp value */ + /** + * Timestamp value + * @type {number} + * @instance + */ this.timestamp = 0; - /** Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word */ + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + * @type {number} + * @instance + */ this.pduLength = 0; - /** zero-filled array of padding */ + /** + * zero-filled array of padding + * @type {number} + * @instance + */ this.padding = 0; - /** Entity that is sending message */ + /** + * Entity that is sending message + * @type {EntityID} + * @instance + */ this.originatingEntityID = new dis.EntityID(); - /** Entity that is intended to receive message */ + /** + * Entity that is intended to receive message + * @type {EntityID} + * @instance + */ this.receivingEntityID = new dis.EntityID(); - /** Type of event */ + /** + * Type of event + * @type {number} + * @instance + */ this.eventType = 0; - /** padding */ + /** + * padding + * @type {number} + * @instance + */ this.padding1 = 0; - /** Number of fixed datum records */ + /** + * Number of fixed datum records + * @type {number} + * @instance + */ this.numberOfFixedDatumRecords = 0; - /** Number of variable datum records */ + /** + * Number of variable datum records + * @type {number} + * @instance + */ this.numberOfVariableDatumRecords = 0; - /** variable length list of fixed datums */ + /** + * variable length list of fixed datums + * @type {Array} + * @instance + */ this.fixedDatums = new Array(); - /** variable length list of variable length datums */ + /** + * variable length list of variable length datums + * @type {Array} + * @instance + */ this.variableDatums = new Array(); + /** + * @param {InputStream} inputStream + */ dis.EventReportPdu.prototype.initFromBinary = function(inputStream) { this.protocolVersion = inputStream.readUByte(); @@ -95,6 +162,9 @@ dis.EventReportPdu = function() }; + /** + * @param {OutputStream} outputStream + */ dis.EventReportPdu.prototype.encodeToBinary = function(outputStream) { outputStream.writeUByte(this.protocolVersion); diff --git a/src/dis/EventReportReliablePdu.js b/src/dis/EventReportReliablePdu.js index 38e2313..fbda38a 100644 --- a/src/dis/EventReportReliablePdu.js +++ b/src/dis/EventReportReliablePdu.js @@ -17,53 +17,120 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.EventReportReliablePdu = function() { - /** The version of the protocol. 5=DIS-1995, 6=DIS-1998. */ + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + * @type {number} + * @instance + */ this.protocolVersion = 6; - /** Exercise ID */ + /** + * Exercise ID + * @type {number} + * @instance + */ this.exerciseID = 0; - /** Type of pdu, unique for each PDU class */ + /** + * Type of pdu, unique for each PDU class + * @type {number} + * @instance + */ this.pduType = 61; - /** value that refers to the protocol family, eg SimulationManagement, et */ + /** + * value that refers to the protocol family, eg SimulationManagement, et + * @type {number} + * @instance + */ this.protocolFamily = 10; - /** Timestamp value */ + /** + * Timestamp value + * @type {number} + * @instance + */ this.timestamp = 0; - /** Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word */ + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + * @type {number} + * @instance + */ this.pduLength = 0; - /** zero-filled array of padding */ + /** + * zero-filled array of padding + * @type {number} + * @instance + */ this.padding = 0; - /** Object originatig the request */ + /** + * Object originatig the request + * @type {EntityID} + * @instance + */ this.originatingEntityID = new dis.EntityID(); - /** Object with which this point object is associated */ + /** + * Object with which this point object is associated + * @type {EntityID} + * @instance + */ this.receivingEntityID = new dis.EntityID(); - /** Event type */ + /** + * Event type + * @type {number} + * @instance + */ this.eventType = 0; - /** padding */ + /** + * padding + * @type {number} + * @instance + */ this.pad1 = 0; - /** Fixed datum record count */ + /** + * Fixed datum record count + * @type {number} + * @instance + */ this.numberOfFixedDatumRecords = 0; - /** variable datum record count */ + /** + * variable datum record count + * @type {number} + * @instance + */ this.numberOfVariableDatumRecords = 0; - /** Fixed datum records */ + /** + * Fixed datum records + * @type {Array} + * @instance + */ this.fixedDatumRecords = new Array(); - /** Variable datum records */ + /** + * Variable datum records + * @type {Array} + * @instance + */ this.variableDatumRecords = new Array(); + /** + * @param {InputStream} inputStream + */ dis.EventReportReliablePdu.prototype.initFromBinary = function(inputStream) { this.protocolVersion = inputStream.readUByte(); @@ -95,6 +162,9 @@ dis.EventReportReliablePdu = function() }; + /** + * @param {OutputStream} outputStream + */ dis.EventReportReliablePdu.prototype.encodeToBinary = function(outputStream) { outputStream.writeUByte(this.protocolVersion); diff --git a/src/dis/FastEntityStatePdu.js b/src/dis/FastEntityStatePdu.js index 9f869be..2f15471 100644 --- a/src/dis/FastEntityStatePdu.js +++ b/src/dis/FastEntityStatePdu.js @@ -17,144 +17,339 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.FastEntityStatePdu = function() { - /** The version of the protocol. 5=DIS-1995, 6=DIS-1998. */ + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + * @type {number} + * @instance + */ this.protocolVersion = 6; - /** Exercise ID */ + /** + * Exercise ID + * @type {number} + * @instance + */ this.exerciseID = 0; - /** Type of pdu, unique for each PDU class */ + /** + * Type of pdu, unique for each PDU class + * @type {number} + * @instance + */ this.pduType = 1; - /** value that refers to the protocol family, eg SimulationManagement, et */ + /** + * value that refers to the protocol family, eg SimulationManagement, et + * @type {number} + * @instance + */ this.protocolFamily = 1; - /** Timestamp value */ + /** + * Timestamp value + * @type {number} + * @instance + */ this.timestamp = 0; - /** Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word */ + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + * @type {number} + * @instance + */ this.pduLength = 0; - /** zero-filled array of padding */ + /** + * zero-filled array of padding + * @type {number} + * @instance + */ this.padding = 0; - /** The site ID */ + /** + * The site ID + * @type {number} + * @instance + */ this.site = 0; - /** The application ID */ + /** + * The application ID + * @type {number} + * @instance + */ this.application = 0; - /** the entity ID */ + /** + * the entity ID + * @type {number} + * @instance + */ this.entity = 0; - /** what force this entity is affiliated with, eg red, blue, neutral, etc */ + /** + * what force this entity is affiliated with, eg red, blue, neutral, etc + * @type {number} + * @instance + */ this.forceId = 0; - /** How many articulation parameters are in the variable length list */ + /** + * How many articulation parameters are in the variable length list + * @type {number} + * @instance + */ this.numberOfArticulationParameters = 0; - /** Kind of entity */ + /** + * Kind of entity + * @type {number} + * @instance + */ this.entityKind = 0; - /** Domain of entity (air, surface, subsurface, space, etc) */ + /** + * Domain of entity (air, surface, subsurface, space, etc) + * @type {number} + * @instance + */ this.domain = 0; - /** country to which the design of the entity is attributed */ + /** + * country to which the design of the entity is attributed + * @type {number} + * @instance + */ this.country = 0; - /** category of entity */ + /** + * category of entity + * @type {number} + * @instance + */ this.category = 0; - /** subcategory of entity */ + /** + * subcategory of entity + * @type {number} + * @instance + */ this.subcategory = 0; - /** specific info based on subcategory field. Name changed from specific because that is a reserved word in SQL. */ + /** + * specific info based on subcategory field. Name changed from specific because that is a reserved word in SQL. + * @type {number} + * @instance + */ this.specif = 0; + /** + * @type {number} + * @instance + */ this.extra = 0; - /** Kind of entity */ + /** + * Kind of entity + * @type {number} + * @instance + */ this.altEntityKind = 0; - /** Domain of entity (air, surface, subsurface, space, etc) */ + /** + * Domain of entity (air, surface, subsurface, space, etc) + * @type {number} + * @instance + */ this.altDomain = 0; - /** country to which the design of the entity is attributed */ + /** + * country to which the design of the entity is attributed + * @type {number} + * @instance + */ this.altCountry = 0; - /** category of entity */ + /** + * category of entity + * @type {number} + * @instance + */ this.altCategory = 0; - /** subcategory of entity */ + /** + * subcategory of entity + * @type {number} + * @instance + */ this.altSubcategory = 0; - /** specific info based on subcategory field */ + /** + * specific info based on subcategory field + * @type {number} + * @instance + */ this.altSpecific = 0; + /** + * @type {number} + * @instance + */ this.altExtra = 0; - /** X velo */ + /** + * X velo + * @type {number} + * @instance + */ this.xVelocity = 0; - /** y Value */ + /** + * y Value + * @type {number} + * @instance + */ this.yVelocity = 0; - /** Z value */ + /** + * Z value + * @type {number} + * @instance + */ this.zVelocity = 0; - /** X value */ + /** + * X value + * @type {number} + * @instance + */ this.xLocation = 0; - /** y Value */ + /** + * y Value + * @type {number} + * @instance + */ this.yLocation = 0; - /** Z value */ + /** + * Z value + * @type {number} + * @instance + */ this.zLocation = 0; + /** + * @type {number} + * @instance + */ this.psi = 0; + /** + * @type {number} + * @instance + */ this.theta = 0; + /** + * @type {number} + * @instance + */ this.phi = 0; - /** a series of bit flags that are used to help draw the entity, such as smoking, on fire, etc. */ + /** + * a series of bit flags that are used to help draw the entity, such as smoking, on fire, etc. + * @type {number} + * @instance + */ this.entityAppearance = 0; - /** enumeration of what dead reckoning algorighm to use */ + /** + * enumeration of what dead reckoning algorighm to use + * @type {number} + * @instance + */ this.deadReckoningAlgorithm = 0; - /** other parameters to use in the dead reckoning algorithm */ + /** + * other parameters to use in the dead reckoning algorithm + * @type {Array} + * @instance + */ this.otherParameters = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); - /** X value */ + /** + * X value + * @type {number} + * @instance + */ this.xAcceleration = 0; - /** y Value */ + /** + * y Value + * @type {number} + * @instance + */ this.yAcceleration = 0; - /** Z value */ + /** + * Z value + * @type {number} + * @instance + */ this.zAcceleration = 0; - /** X value */ + /** + * X value + * @type {number} + * @instance + */ this.xAngularVelocity = 0; - /** y Value */ + /** + * y Value + * @type {number} + * @instance + */ this.yAngularVelocity = 0; - /** Z value */ + /** + * Z value + * @type {number} + * @instance + */ this.zAngularVelocity = 0; - /** characters that can be used for debugging, or to draw unique strings on the side of entities in the world */ + /** + * characters that can be used for debugging, or to draw unique strings on the side of entities in the world + * @type {Array} + * @instance + */ this.marking = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); - /** a series of bit flags */ + /** + * a series of bit flags + * @type {number} + * @instance + */ this.capabilities = 0; - /** variable length list of articulation parameters */ + /** + * variable length list of articulation parameters + * @type {Array} + * @instance + */ this.articulationParameters = new Array(); + /** + * @param {InputStream} inputStream + */ dis.FastEntityStatePdu.prototype.initFromBinary = function(inputStream) { this.protocolVersion = inputStream.readUByte(); @@ -218,6 +413,9 @@ dis.FastEntityStatePdu = function() }; + /** + * @param {OutputStream} outputStream + */ dis.FastEntityStatePdu.prototype.encodeToBinary = function(outputStream) { outputStream.writeUByte(this.protocolVersion); @@ -279,7 +477,9 @@ dis.FastEntityStatePdu = function() }; -/** 0 uniform color, 1 camouflage */ +/** + * @returns {number} 0 uniform color, 1 camouflage + */ dis.FastEntityStatePdu.prototype.getEntityAppearance_paintScheme = function() { var val = this.entityAppearance & 0x1; @@ -287,7 +487,9 @@ dis.FastEntityStatePdu.prototype.getEntityAppearance_paintScheme = function() }; -/** 0 uniform color, 1 camouflage */ +/** + * @param {number} val 0 uniform color, 1 camouflage + */ dis.FastEntityStatePdu.prototype.setEntityAppearance_paintScheme= function(val) { this.entityAppearance &= ~0x1; // Zero existing bits @@ -296,7 +498,9 @@ dis.FastEntityStatePdu.prototype.setEntityAppearance_paintScheme= function(val) }; -/** 0 no mobility kill, 1 mobility kill */ +/** + * @returns {number} 0 no mobility kill, 1 mobility kill + */ dis.FastEntityStatePdu.prototype.getEntityAppearance_mobility = function() { var val = this.entityAppearance & 0x2; @@ -304,7 +508,9 @@ dis.FastEntityStatePdu.prototype.getEntityAppearance_mobility = function() }; -/** 0 no mobility kill, 1 mobility kill */ +/** + * @param {number} val 0 no mobility kill, 1 mobility kill + */ dis.FastEntityStatePdu.prototype.setEntityAppearance_mobility= function(val) { this.entityAppearance &= ~0x2; // Zero existing bits @@ -313,7 +519,9 @@ dis.FastEntityStatePdu.prototype.setEntityAppearance_mobility= function(val) }; -/** 0 no firepower iill, 1 firepower kill */ +/** + * @returns {number} 0 no firepower iill, 1 firepower kill + */ dis.FastEntityStatePdu.prototype.getEntityAppearance_firepower = function() { var val = this.entityAppearance & 0x4; @@ -321,7 +529,9 @@ dis.FastEntityStatePdu.prototype.getEntityAppearance_firepower = function() }; -/** 0 no firepower iill, 1 firepower kill */ +/** + * @param {number} val 0 no firepower iill, 1 firepower kill + */ dis.FastEntityStatePdu.prototype.setEntityAppearance_firepower= function(val) { this.entityAppearance &= ~0x4; // Zero existing bits @@ -330,7 +540,9 @@ dis.FastEntityStatePdu.prototype.setEntityAppearance_firepower= function(val) }; -/** 0 no damage, 1 slight damage, 2 moderate, 3 destroyed */ +/** + * @returns {number} 0 no damage, 1 slight damage, 2 moderate, 3 destroyed + */ dis.FastEntityStatePdu.prototype.getEntityAppearance_damage = function() { var val = this.entityAppearance & 0x18; @@ -338,7 +550,9 @@ dis.FastEntityStatePdu.prototype.getEntityAppearance_damage = function() }; -/** 0 no damage, 1 slight damage, 2 moderate, 3 destroyed */ +/** + * @param {number} val 0 no damage, 1 slight damage, 2 moderate, 3 destroyed + */ dis.FastEntityStatePdu.prototype.setEntityAppearance_damage= function(val) { this.entityAppearance &= ~0x18; // Zero existing bits @@ -347,7 +561,9 @@ dis.FastEntityStatePdu.prototype.setEntityAppearance_damage= function(val) }; -/** 0 no smoke, 1 smoke plume, 2 engine smoke, 3 engine smoke and plume */ +/** + * @returns {number} 0 no smoke, 1 smoke plume, 2 engine smoke, 3 engine smoke and plume + */ dis.FastEntityStatePdu.prototype.getEntityAppearance_smoke = function() { var val = this.entityAppearance & 0x60; @@ -355,7 +571,9 @@ dis.FastEntityStatePdu.prototype.getEntityAppearance_smoke = function() }; -/** 0 no smoke, 1 smoke plume, 2 engine smoke, 3 engine smoke and plume */ +/** + * @param {number} val 0 no smoke, 1 smoke plume, 2 engine smoke, 3 engine smoke and plume + */ dis.FastEntityStatePdu.prototype.setEntityAppearance_smoke= function(val) { this.entityAppearance &= ~0x60; // Zero existing bits @@ -364,7 +582,9 @@ dis.FastEntityStatePdu.prototype.setEntityAppearance_smoke= function(val) }; -/** dust cloud, 0 none 1 small 2 medium 3 large */ +/** + * @param {number} val dust cloud, 0 none 1 small 2 medium 3 large + */ dis.FastEntityStatePdu.prototype.getEntityAppearance_trailingEffects = function() { var val = this.entityAppearance & 0x180; @@ -372,7 +592,9 @@ dis.FastEntityStatePdu.prototype.getEntityAppearance_trailingEffects = function( }; -/** dust cloud, 0 none 1 small 2 medium 3 large */ +/** + * @param {number} val dust cloud, 0 none 1 small 2 medium 3 large + */ dis.FastEntityStatePdu.prototype.setEntityAppearance_trailingEffects= function(val) { this.entityAppearance &= ~0x180; // Zero existing bits @@ -381,7 +603,9 @@ dis.FastEntityStatePdu.prototype.setEntityAppearance_trailingEffects= function(v }; -/** 0 NA 1 closed popped 3 popped and person visible 4 open 5 open and person visible */ +/** + * @returns {number} 0 NA 1 closed popped 3 popped and person visible 4 open 5 open and person visible + */ dis.FastEntityStatePdu.prototype.getEntityAppearance_hatch = function() { var val = this.entityAppearance & 0xe00; @@ -389,7 +613,9 @@ dis.FastEntityStatePdu.prototype.getEntityAppearance_hatch = function() }; -/** 0 NA 1 closed popped 3 popped and person visible 4 open 5 open and person visible */ +/** + * @param {number} val 0 NA 1 closed popped 3 popped and person visible 4 open 5 open and person visible + */ dis.FastEntityStatePdu.prototype.setEntityAppearance_hatch= function(val) { this.entityAppearance &= ~0xe00; // Zero existing bits @@ -398,7 +624,9 @@ dis.FastEntityStatePdu.prototype.setEntityAppearance_hatch= function(val) }; -/** 0 off 1 on */ +/** + * @returns {number} 0 off 1 on + */ dis.FastEntityStatePdu.prototype.getEntityAppearance_headlights = function() { var val = this.entityAppearance & 0x1000; @@ -406,7 +634,9 @@ dis.FastEntityStatePdu.prototype.getEntityAppearance_headlights = function() }; -/** 0 off 1 on */ +/** + * @param {number} val 0 off 1 on + */ dis.FastEntityStatePdu.prototype.setEntityAppearance_headlights= function(val) { this.entityAppearance &= ~0x1000; // Zero existing bits @@ -415,7 +645,9 @@ dis.FastEntityStatePdu.prototype.setEntityAppearance_headlights= function(val) }; -/** 0 off 1 on */ +/** + * @returns {number} 0 off 1 on + */ dis.FastEntityStatePdu.prototype.getEntityAppearance_tailLights = function() { var val = this.entityAppearance & 0x2000; @@ -423,7 +655,9 @@ dis.FastEntityStatePdu.prototype.getEntityAppearance_tailLights = function() }; -/** 0 off 1 on */ +/** + * @param {number} val 0 off 1 on + */ dis.FastEntityStatePdu.prototype.setEntityAppearance_tailLights= function(val) { this.entityAppearance &= ~0x2000; // Zero existing bits @@ -432,7 +666,9 @@ dis.FastEntityStatePdu.prototype.setEntityAppearance_tailLights= function(val) }; -/** 0 off 1 on */ +/** + * @returns {number} 0 off 1 on + */ dis.FastEntityStatePdu.prototype.getEntityAppearance_brakeLights = function() { var val = this.entityAppearance & 0x4000; @@ -440,7 +676,9 @@ dis.FastEntityStatePdu.prototype.getEntityAppearance_brakeLights = function() }; -/** 0 off 1 on */ +/** + * @param {number} val 0 off 1 on + */ dis.FastEntityStatePdu.prototype.setEntityAppearance_brakeLights= function(val) { this.entityAppearance &= ~0x4000; // Zero existing bits @@ -449,7 +687,9 @@ dis.FastEntityStatePdu.prototype.setEntityAppearance_brakeLights= function(val) }; -/** 0 off 1 on */ +/** + * @returns {number} 0 off 1 on + */ dis.FastEntityStatePdu.prototype.getEntityAppearance_flaming = function() { var val = this.entityAppearance & 0x8000; @@ -457,7 +697,9 @@ dis.FastEntityStatePdu.prototype.getEntityAppearance_flaming = function() }; -/** 0 off 1 on */ +/** + * @param {number} val 0 off 1 on + */ dis.FastEntityStatePdu.prototype.setEntityAppearance_flaming= function(val) { this.entityAppearance &= ~0x8000; // Zero existing bits @@ -466,7 +708,9 @@ dis.FastEntityStatePdu.prototype.setEntityAppearance_flaming= function(val) }; -/** 0 not raised 1 raised */ +/** + * @returns {number} 0 not raised 1 raised + */ dis.FastEntityStatePdu.prototype.getEntityAppearance_launcher = function() { var val = this.entityAppearance & 0x10000; @@ -474,7 +718,9 @@ dis.FastEntityStatePdu.prototype.getEntityAppearance_launcher = function() }; -/** 0 not raised 1 raised */ +/** + * @param {number} val 0 not raised 1 raised + */ dis.FastEntityStatePdu.prototype.setEntityAppearance_launcher= function(val) { this.entityAppearance &= ~0x10000; // Zero existing bits @@ -483,7 +729,9 @@ dis.FastEntityStatePdu.prototype.setEntityAppearance_launcher= function(val) }; -/** 0 desert 1 winter 2 forest 3 unused */ +/** + * @returns {number} 0 desert 1 winter 2 forest 3 unused + */ dis.FastEntityStatePdu.prototype.getEntityAppearance_camouflageType = function() { var val = this.entityAppearance & 0x60000; @@ -491,7 +739,9 @@ dis.FastEntityStatePdu.prototype.getEntityAppearance_camouflageType = function() }; -/** 0 desert 1 winter 2 forest 3 unused */ +/** + * @param {number} val 0 desert 1 winter 2 forest 3 unused + */ dis.FastEntityStatePdu.prototype.setEntityAppearance_camouflageType= function(val) { this.entityAppearance &= ~0x60000; // Zero existing bits diff --git a/src/dis/FirePdu.js b/src/dis/FirePdu.js index 1ee440e..aefa224 100644 --- a/src/dis/FirePdu.js +++ b/src/dis/FirePdu.js @@ -17,55 +17,126 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.FirePdu = function() { - /** The version of the protocol. 5=DIS-1995, 6=DIS-1998. */ + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + * @type {number} + * @instance + */ this.protocolVersion = 6; - /** Exercise ID */ + /** + * Exercise ID + * @type {number} + * @instance + */ this.exerciseID = 0; - /** Type of pdu, unique for each PDU class */ + /** + * Type of pdu, unique for each PDU class + * @type {number} + * @instance + */ this.pduType = 2; - /** value that refers to the protocol family, eg SimulationManagement, et */ + /** + * value that refers to the protocol family, eg SimulationManagement, et + * @type {number} + * @instance + */ this.protocolFamily = 2; - /** Timestamp value */ + /** + * Timestamp value + * @type {number} + * @instance + */ this.timestamp = 0; - /** Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word */ + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + * @type {number} + * @instance + */ this.pduLength = 0; - /** zero-filled array of padding */ + /** + * zero-filled array of padding + * @type {number} + * @instance + */ this.padding = 0; - /** ID of the entity that shot */ + /** + * ID of the entity that shot + * @type {EntityID} + * @instance + */ this.firingEntityID = new dis.EntityID(); - /** ID of the entity that is being shot at */ + /** + * ID of the entity that is being shot at + * @type {EntityID} + * @instance + */ this.targetEntityID = new dis.EntityID(); - /** ID of the munition that is being shot */ + /** + * ID of the munition that is being shot + * @type {EntityID} + * @instance + */ this.munitionID = new dis.EntityID(); - /** ID of event */ + /** + * ID of event + * @type {EventID} + * @instance + */ this.eventID = new dis.EventID(); + /** + * @type {number} + * @instance + */ this.fireMissionIndex = 0; - /** location of the firing event */ + /** + * location of the firing event + * @type {Vector3Double} + * @instance + */ this.locationInWorldCoordinates = new dis.Vector3Double(); - /** Describes munitions used in the firing event */ + /** + * Describes munitions used in the firing event + * @type {BurstDescriptor} + * @instance + */ this.burstDescriptor = new dis.BurstDescriptor(); - /** Velocity of the ammunition */ + /** + * Velocity of the ammunition + * @type {Vector3Float} + * @instance + */ this.velocity = new dis.Vector3Float(); - /** range to the target. Note the word range is a SQL reserved word. */ + /** + * range to the target. Note the word range is a SQL reserved word. + * @type {number} + * @instance + */ this.rangeToTarget = 0; + /** + * @param {InputStream} inputStream + */ dis.FirePdu.prototype.initFromBinary = function(inputStream) { this.protocolVersion = inputStream.readUByte(); @@ -86,6 +157,9 @@ dis.FirePdu = function() this.rangeToTarget = inputStream.readFloat32(); }; + /** + * @param {OutputStream} outputStream + */ dis.FirePdu.prototype.encodeToBinary = function(outputStream) { outputStream.writeUByte(this.protocolVersion); diff --git a/src/dis/FixedDatum.js b/src/dis/FixedDatum.js index dd25a22..155d5d6 100644 --- a/src/dis/FixedDatum.js +++ b/src/dis/FixedDatum.js @@ -17,20 +17,38 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.FixedDatum = function() { - /** ID of the fixed datum */ + /** + * ID of the fixed datum + * @type {number} + * @instance + */ this.fixedDatumID = 0; - /** Value for the fixed datum */ + /** + * Value for the fixed datum + * @type {number} + * @instance + */ this.fixedDatumValue = 0; + /** + * @param {InputStream} inputStream + */ dis.FixedDatum.prototype.initFromBinary = function(inputStream) { this.fixedDatumID = inputStream.readUInt(); this.fixedDatumValue = inputStream.readUInt(); }; + /** + * @param {OutputStream} outputStream + */ dis.FixedDatum.prototype.encodeToBinary = function(outputStream) { outputStream.writeUInt(this.fixedDatumID); diff --git a/src/dis/FundamentalParameterData.js b/src/dis/FundamentalParameterData.js index 537d0ae..8b80a11 100644 --- a/src/dis/FundamentalParameterData.js +++ b/src/dis/FundamentalParameterData.js @@ -17,38 +17,85 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.FundamentalParameterData = function() { - /** center frequency of the emission in hertz. */ + /** + * center frequency of the emission in hertz. + * @type {number} + * @instance + */ this.frequency = 0; - /** Bandwidth of the frequencies corresponding to the fequency field. */ + /** + * Bandwidth of the frequencies corresponding to the fequency field. + * @type {number} + * @instance + */ this.frequencyRange = 0; - /** Effective radiated power for the emission in DdBm. For a radar noise jammer, indicates the peak of the transmitted power. */ + /** + * Effective radiated power for the emission in DdBm. For a radar noise jammer, indicates the peak of the transmitted power. + * @type {number} + * @instance + */ this.effectiveRadiatedPower = 0; - /** Average repetition frequency of the emission in hertz. */ + /** + * Average repetition frequency of the emission in hertz. + * @type {number} + * @instance + */ this.pulseRepetitionFrequency = 0; - /** Average pulse width of the emission in microseconds. */ + /** + * Average pulse width of the emission in microseconds. + * @type {number} + * @instance + */ this.pulseWidth = 0; - /** Specifies the beam azimuth an elevation centers and corresponding half-angles to describe the scan volume */ + /** + * Specifies the beam azimuth an elevation centers and corresponding half-angles to describe the scan volume + * @type {number} + * @instance + */ this.beamAzimuthCenter = 0; - /** Specifies the beam azimuth sweep to determine scan volume */ + /** + * Specifies the beam azimuth sweep to determine scan volume + * @type {number} + * @instance + */ this.beamAzimuthSweep = 0; - /** Specifies the beam elevation center to determine scan volume */ + /** + * Specifies the beam elevation center to determine scan volume + * @type {number} + * @instance + */ this.beamElevationCenter = 0; - /** Specifies the beam elevation sweep to determine scan volume */ + /** + * Specifies the beam elevation sweep to determine scan volume + * @type {number} + * @instance + */ this.beamElevationSweep = 0; - /** allows receiver to synchronize its regenerated scan pattern to that of the emmitter. Specifies the percentage of time a scan is through its pattern from its origion. */ + /** + * allows receiver to synchronize its regenerated scan pattern to that of the emmitter. Specifies the percentage of time a scan is through its pattern from its origion. + * @type {number} + * @instance + */ this.beamSweepSync = 0; + /** + * @param {InputStream} inputStream + */ dis.FundamentalParameterData.prototype.initFromBinary = function(inputStream) { this.frequency = inputStream.readFloat32(); @@ -63,6 +110,9 @@ dis.FundamentalParameterData = function() this.beamSweepSync = inputStream.readFloat32(); }; + /** + * @param {OutputStream} outputStream + */ dis.FundamentalParameterData.prototype.encodeToBinary = function(outputStream) { outputStream.writeFloat32(this.frequency); diff --git a/src/dis/FundamentalParameterDataIff.js b/src/dis/FundamentalParameterDataIff.js index 2cd2fc5..13dc4ad 100644 --- a/src/dis/FundamentalParameterDataIff.js +++ b/src/dis/FundamentalParameterDataIff.js @@ -17,32 +17,71 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.FundamentalParameterDataIff = function() { - /** ERP */ + /** + * ERP + * @type {number} + * @instance + */ this.erp = 0; - /** frequency */ + /** + * frequency + * @type {number} + * @instance + */ this.frequency = 0; - /** pgrf */ + /** + * pgrf + * @type {number} + * @instance + */ this.pgrf = 0; - /** Pulse width */ + /** + * Pulse width + * @type {number} + * @instance + */ this.pulseWidth = 0; - /** Burst length */ + /** + * Burst length + * @type {number} + * @instance + */ this.burstLength = 0; - /** Applicable modes enumeration */ + /** + * Applicable modes enumeration + * @type {number} + * @instance + */ this.applicableModes = 0; - /** padding */ + /** + * padding + * @type {number} + * @instance + */ this.pad2 = 0; - /** padding */ + /** + * padding + * @type {number} + * @instance + */ this.pad3 = 0; + /** + * @param {InputStream} inputStream + */ dis.FundamentalParameterDataIff.prototype.initFromBinary = function(inputStream) { this.erp = inputStream.readFloat32(); @@ -55,6 +94,9 @@ dis.FundamentalParameterDataIff = function() this.pad3 = inputStream.readUByte(); }; + /** + * @param {OutputStream} outputStream + */ dis.FundamentalParameterDataIff.prototype.encodeToBinary = function(outputStream) { outputStream.writeFloat32(this.erp); diff --git a/src/dis/GridAxisRecord.js b/src/dis/GridAxisRecord.js index 64192fe..379f7ef 100644 --- a/src/dis/GridAxisRecord.js +++ b/src/dis/GridAxisRecord.js @@ -17,20 +17,38 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.GridAxisRecord = function() { - /** type of environmental sample */ + /** + * type of environmental sample + * @type {number} + * @instance + */ this.sampleType = 0; - /** value that describes data representation */ + /** + * value that describes data representation + * @type {number} + * @instance + */ this.dataRepresentation = 0; + /** + * @param {InputStream} inputStream + */ dis.GridAxisRecord.prototype.initFromBinary = function(inputStream) { this.sampleType = inputStream.readUShort(); this.dataRepresentation = inputStream.readUShort(); }; + /** + * @param {OutputStream} outputStream + */ dis.GridAxisRecord.prototype.encodeToBinary = function(outputStream) { outputStream.writeUShort(this.sampleType); diff --git a/src/dis/GridAxisRecordRepresentation0.js b/src/dis/GridAxisRecordRepresentation0.js index 8559a3c..7a840bc 100644 --- a/src/dis/GridAxisRecordRepresentation0.js +++ b/src/dis/GridAxisRecordRepresentation0.js @@ -17,20 +17,43 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.GridAxisRecordRepresentation0 = function() { - /** type of environmental sample */ + /** + * type of environmental sample + * @type {number} + * @instance + */ this.sampleType = 0; - /** value that describes data representation */ + /** + * value that describes data representation + * @type {number} + * @instance + */ this.dataRepresentation = 0; - /** number of bytes of environmental state data */ + /** + * number of bytes of environmental state data + * @type {number} + * @instance + */ this.numberOfBytes = 0; - /** variable length variablelist of data parameters ^^^this is wrong--need padding as well */ + /** + * variable length variablelist of data parameters ^^^this is wrong--need padding as well + * @type {Array} + * @instance + */ this.dataValues = new Array(); + /** + * @param {InputStream} inputStream + */ dis.GridAxisRecordRepresentation0.prototype.initFromBinary = function(inputStream) { this.sampleType = inputStream.readUShort(); @@ -45,6 +68,9 @@ dis.GridAxisRecordRepresentation0 = function() }; + /** + * @param {OutputStream} outputStream + */ dis.GridAxisRecordRepresentation0.prototype.encodeToBinary = function(outputStream) { outputStream.writeUShort(this.sampleType); diff --git a/src/dis/GridAxisRecordRepresentation1.js b/src/dis/GridAxisRecordRepresentation1.js index c03574f..899551c 100644 --- a/src/dis/GridAxisRecordRepresentation1.js +++ b/src/dis/GridAxisRecordRepresentation1.js @@ -17,26 +17,57 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.GridAxisRecordRepresentation1 = function() { - /** type of environmental sample */ + /** + * type of environmental sample + * @type {number} + * @instance + */ this.sampleType = 0; - /** value that describes data representation */ + /** + * value that describes data representation + * @type {number} + * @instance + */ this.dataRepresentation = 0; - /** constant scale factor */ + /** + * constant scale factor + * @type {number} + * @instance + */ this.fieldScale = 0; - /** constant offset used to scale grid data */ + /** + * constant offset used to scale grid data + * @type {number} + * @instance + */ this.fieldOffset = 0; - /** Number of data values */ + /** + * Number of data values + * @type {number} + * @instance + */ this.numberOfValues = 0; - /** variable length list of data parameters ^^^this is wrong--need padding as well */ + /** + * variable length list of data parameters ^^^this is wrong--need padding as well + * @type {Array} + * @instance + */ this.dataValues = new Array(); + /** + * @param {InputStream} inputStream + */ dis.GridAxisRecordRepresentation1.prototype.initFromBinary = function(inputStream) { this.sampleType = inputStream.readUShort(); @@ -53,6 +84,9 @@ dis.GridAxisRecordRepresentation1 = function() }; + /** + * @param {OutputStream} outputStream + */ dis.GridAxisRecordRepresentation1.prototype.encodeToBinary = function(outputStream) { outputStream.writeUShort(this.sampleType); diff --git a/src/dis/GridAxisRecordRepresentation2.js b/src/dis/GridAxisRecordRepresentation2.js index e3b2c90..df3a583 100644 --- a/src/dis/GridAxisRecordRepresentation2.js +++ b/src/dis/GridAxisRecordRepresentation2.js @@ -17,20 +17,43 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.GridAxisRecordRepresentation2 = function() { - /** type of environmental sample */ + /** + * type of environmental sample + * @type {number} + * @instance + */ this.sampleType = 0; - /** value that describes data representation */ + /** + * value that describes data representation + * @type {number} + * @instance + */ this.dataRepresentation = 0; - /** number of values */ + /** + * number of values + * @type {number} + * @instance + */ this.numberOfValues = 0; - /** variable length list of data parameters ^^^this is wrong--need padding as well */ + /** + * variable length list of data parameters ^^^this is wrong--need padding as well + * @type {Array} + * @instance + */ this.dataValues = new Array(); + /** + * @param {InputStream} inputStream + */ dis.GridAxisRecordRepresentation2.prototype.initFromBinary = function(inputStream) { this.sampleType = inputStream.readUShort(); @@ -45,6 +68,9 @@ dis.GridAxisRecordRepresentation2 = function() }; + /** + * @param {OutputStream} outputStream + */ dis.GridAxisRecordRepresentation2.prototype.encodeToBinary = function(outputStream) { outputStream.writeUShort(this.sampleType); diff --git a/src/dis/GriddedDataPdu.js b/src/dis/GriddedDataPdu.js index 9b799a3..360c158 100644 --- a/src/dis/GriddedDataPdu.js +++ b/src/dis/GriddedDataPdu.js @@ -17,74 +17,169 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.GriddedDataPdu = function() { - /** The version of the protocol. 5=DIS-1995, 6=DIS-1998. */ + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + * @type {number} + * @instance + */ this.protocolVersion = 6; - /** Exercise ID */ + /** + * Exercise ID + * @type {number} + * @instance + */ this.exerciseID = 0; - /** Type of pdu, unique for each PDU class */ + /** + * Type of pdu, unique for each PDU class + * @type {number} + * @instance + */ this.pduType = 42; - /** value that refers to the protocol family, eg SimulationManagement, et */ + /** + * value that refers to the protocol family, eg SimulationManagement, et + * @type {number} + * @instance + */ this.protocolFamily = 9; - /** Timestamp value */ + /** + * Timestamp value + * @type {number} + * @instance + */ this.timestamp = 0; - /** Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word */ + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + * @type {number} + * @instance + */ this.pduLength = 0; - /** zero-filled array of padding */ + /** + * zero-filled array of padding + * @type {number} + * @instance + */ this.padding = 0; - /** environmental simulation application ID */ + /** + * environmental simulation application ID + * @type {EntityID} + * @instance + */ this.environmentalSimulationApplicationID = new dis.EntityID(); - /** unique identifier for each piece of enviornmental data */ + /** + * unique identifier for each piece of enviornmental data + * @type {number} + * @instance + */ this.fieldNumber = 0; - /** sequence number for the total set of PDUS used to transmit the data */ + /** + * sequence number for the total set of PDUS used to transmit the data + * @type {number} + * @instance + */ this.pduNumber = 0; - /** Total number of PDUS used to transmit the data */ + /** + * Total number of PDUS used to transmit the data + * @type {number} + * @instance + */ this.pduTotal = 0; - /** coordinate system of the grid */ + /** + * coordinate system of the grid + * @type {number} + * @instance + */ this.coordinateSystem = 0; - /** number of grid axes for the environmental data */ + /** + * number of grid axes for the environmental data + * @type {number} + * @instance + */ this.numberOfGridAxes = 0; - /** are domain grid axes identidal to those of the priveious domain update? */ + /** + * are domain grid axes identidal to those of the priveious domain update? + * @type {number} + * @instance + */ this.constantGrid = 0; - /** type of environment */ + /** + * type of environment + * @type {EntityType} + * @instance + */ this.environmentType = new dis.EntityType(); - /** orientation of the data grid */ + /** + * orientation of the data grid + * @type {Orientation} + * @instance + */ this.orientation = new dis.Orientation(); - /** valid time of the enviormental data sample, 64 bit unsigned int */ + /** + * valid time of the enviormental data sample, 64 bit unsigned int + * @type {number} + * @instance + */ this.sampleTime = 0; - /** total number of all data values for all pdus for an environmental sample */ + /** + * total number of all data values for all pdus for an environmental sample + * @type {number} + * @instance + */ this.totalValues = 0; - /** total number of data values at each grid point. */ + /** + * total number of data values at each grid point. + * @type {number} + * @instance + */ this.vectorDimension = 0; - /** padding */ + /** + * padding + * @type {number} + * @instance + */ this.padding1 = 0; - /** padding */ + /** + * padding + * @type {number} + * @instance + */ this.padding2 = 0; - /** Grid data ^^^This is wrong */ + /** + * Grid data ^^^This is wrong + * @type {Array} + * @instance + */ this.gridDataList = new Array(); + /** + * @param {InputStream} inputStream + */ dis.GriddedDataPdu.prototype.initFromBinary = function(inputStream) { this.protocolVersion = inputStream.readUByte(); @@ -117,6 +212,9 @@ dis.GriddedDataPdu = function() }; + /** + * @param {OutputStream} outputStream + */ dis.GriddedDataPdu.prototype.encodeToBinary = function(outputStream) { outputStream.writeUByte(this.protocolVersion); diff --git a/src/dis/IffAtcNavAidsLayer1Pdu.js b/src/dis/IffAtcNavAidsLayer1Pdu.js index b85d59a..8c72163 100644 --- a/src/dis/IffAtcNavAidsLayer1Pdu.js +++ b/src/dis/IffAtcNavAidsLayer1Pdu.js @@ -17,47 +17,106 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.IffAtcNavAidsLayer1Pdu = function() { - /** The version of the protocol. 5=DIS-1995, 6=DIS-1998. */ + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + * @type {number} + * @instance + */ this.protocolVersion = 6; - /** Exercise ID */ + /** + * Exercise ID + * @type {number} + * @instance + */ this.exerciseID = 0; - /** Type of pdu, unique for each PDU class */ + /** + * Type of pdu, unique for each PDU class + * @type {number} + * @instance + */ this.pduType = 28; - /** value that refers to the protocol family, eg SimulationManagement, et */ + /** + * value that refers to the protocol family, eg SimulationManagement, et + * @type {number} + * @instance + */ this.protocolFamily = 6; - /** Timestamp value */ + /** + * Timestamp value + * @type {number} + * @instance + */ this.timestamp = 0; - /** Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word */ + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + * @type {number} + * @instance + */ this.pduLength = 0; - /** zero-filled array of padding */ + /** + * zero-filled array of padding + * @type {number} + * @instance + */ this.padding = 0; - /** ID of the entity that is the source of the emissions */ + /** + * ID of the entity that is the source of the emissions + * @type {EntityID} + * @instance + */ this.emittingEntityId = new dis.EntityID(); - /** Number generated by the issuing simulation to associate realted events. */ + /** + * Number generated by the issuing simulation to associate realted events. + * @type {EventID} + * @instance + */ this.eventID = new dis.EventID(); - /** Location wrt entity. There is some ambugiuity in the standard here, but this is the order it is listed in the table. */ + /** + * Location wrt entity. There is some ambugiuity in the standard here, but this is the order it is listed in the table. + * @type {Vector3Float} + * @instance + */ this.location = new dis.Vector3Float(); - /** System ID information */ + /** + * System ID information + * @type {SystemID} + * @instance + */ this.systemID = new dis.SystemID(); - /** padding */ + /** + * padding + * @type {number} + * @instance + */ this.pad2 = 0; - /** fundamental parameters */ + /** + * fundamental parameters + * @type {IffFundamentalData} + * @instance + */ this.fundamentalParameters = new dis.IffFundamentalData(); + /** + * @param {InputStream} inputStream + */ dis.IffAtcNavAidsLayer1Pdu.prototype.initFromBinary = function(inputStream) { this.protocolVersion = inputStream.readUByte(); @@ -75,6 +134,9 @@ dis.IffAtcNavAidsLayer1Pdu = function() this.fundamentalParameters.initFromBinary(inputStream); }; + /** + * @param {OutputStream} outputStream + */ dis.IffAtcNavAidsLayer1Pdu.prototype.encodeToBinary = function(outputStream) { outputStream.writeUByte(this.protocolVersion); diff --git a/src/dis/IffAtcNavAidsLayer2Pdu.js b/src/dis/IffAtcNavAidsLayer2Pdu.js index fbf2944..37da70a 100644 --- a/src/dis/IffAtcNavAidsLayer2Pdu.js +++ b/src/dis/IffAtcNavAidsLayer2Pdu.js @@ -17,59 +17,134 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.IffAtcNavAidsLayer2Pdu = function() { - /** The version of the protocol. 5=DIS-1995, 6=DIS-1998. */ + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + * @type {number} + * @instance + */ this.protocolVersion = 6; - /** Exercise ID */ + /** + * Exercise ID + * @type {number} + * @instance + */ this.exerciseID = 0; - /** Type of pdu, unique for each PDU class */ + /** + * Type of pdu, unique for each PDU class + * @type {number} + * @instance + */ this.pduType = 28; - /** value that refers to the protocol family, eg SimulationManagement, et */ + /** + * value that refers to the protocol family, eg SimulationManagement, et + * @type {number} + * @instance + */ this.protocolFamily = 6; - /** Timestamp value */ + /** + * Timestamp value + * @type {number} + * @instance + */ this.timestamp = 0; - /** Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word */ + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + * @type {number} + * @instance + */ this.pduLength = 0; - /** zero-filled array of padding */ + /** + * zero-filled array of padding + * @type {number} + * @instance + */ this.padding = 0; - /** ID of the entity that is the source of the emissions */ + /** + * ID of the entity that is the source of the emissions + * @type {EntityID} + * @instance + */ this.emittingEntityId = new dis.EntityID(); - /** Number generated by the issuing simulation to associate realted events. */ + /** + * Number generated by the issuing simulation to associate realted events. + * @type {EventID} + * @instance + */ this.eventID = new dis.EventID(); - /** Location wrt entity. There is some ambugiuity in the standard here, but this is the order it is listed in the table. */ + /** + * Location wrt entity. There is some ambugiuity in the standard here, but this is the order it is listed in the table. + * @type {Vector3Float} + * @instance + */ this.location = new dis.Vector3Float(); - /** System ID information */ + /** + * System ID information + * @type {SystemID} + * @instance + */ this.systemID = new dis.SystemID(); - /** padding */ + /** + * padding + * @type {number} + * @instance + */ this.pad2 = 0; - /** fundamental parameters */ + /** + * fundamental parameters + * @type {IffFundamentalData} + * @instance + */ this.fundamentalParameters = new dis.IffFundamentalData(); - /** layer header */ + /** + * layer header + * @type {LayerHeader} + * @instance + */ this.layerHeader = new dis.LayerHeader(); - /** beam data */ + /** + * beam data + * @type {BeamData} + * @instance + */ this.beamData = new dis.BeamData(); - /** Secondary operational data, 5.2.57 */ + /** + * Secondary operational data, 5.2.57 + * @type {BeamData} + * @instance + */ this.secondaryOperationalData = new dis.BeamData(); - /** variable length list of fundamental parameters. ^^^This is wrong */ + /** + * variable length list of fundamental parameters. ^^^This is wrong + * @type {Array} + * @instance + */ this.fundamentalIffParameters = new Array(); + /** + * @param {InputStream} inputStream + */ dis.IffAtcNavAidsLayer2Pdu.prototype.initFromBinary = function(inputStream) { this.protocolVersion = inputStream.readUByte(); @@ -97,6 +172,9 @@ dis.IffAtcNavAidsLayer2Pdu = function() }; + /** + * @param {OutputStream} outputStream + */ dis.IffAtcNavAidsLayer2Pdu.prototype.encodeToBinary = function(outputStream) { outputStream.writeUByte(this.protocolVersion); diff --git a/src/dis/IffFundamentalData.js b/src/dis/IffFundamentalData.js index 49c7b26..65153a2 100644 --- a/src/dis/IffFundamentalData.js +++ b/src/dis/IffFundamentalData.js @@ -17,38 +17,85 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.IffFundamentalData = function() { - /** system status */ + /** + * system status + * @type {number} + * @instance + */ this.systemStatus = 0; - /** Alternate parameter 4 */ + /** + * Alternate parameter 4 + * @type {number} + * @instance + */ this.alternateParameter4 = 0; - /** eight boolean fields */ + /** + * eight boolean fields + * @type {number} + * @instance + */ this.informationLayers = 0; - /** enumeration */ + /** + * enumeration + * @type {number} + * @instance + */ this.modifier = 0; - /** parameter, enumeration */ + /** + * parameter, enumeration + * @type {number} + * @instance + */ this.parameter1 = 0; - /** parameter, enumeration */ + /** + * parameter, enumeration + * @type {number} + * @instance + */ this.parameter2 = 0; - /** parameter, enumeration */ + /** + * parameter, enumeration + * @type {number} + * @instance + */ this.parameter3 = 0; - /** parameter, enumeration */ + /** + * parameter, enumeration + * @type {number} + * @instance + */ this.parameter4 = 0; - /** parameter, enumeration */ + /** + * parameter, enumeration + * @type {number} + * @instance + */ this.parameter5 = 0; - /** parameter, enumeration */ + /** + * parameter, enumeration + * @type {number} + * @instance + */ this.parameter6 = 0; + /** + * @param {InputStream} inputStream + */ dis.IffFundamentalData.prototype.initFromBinary = function(inputStream) { this.systemStatus = inputStream.readUByte(); @@ -63,6 +110,9 @@ dis.IffFundamentalData = function() this.parameter6 = inputStream.readUShort(); }; + /** + * @param {OutputStream} outputStream + */ dis.IffFundamentalData.prototype.encodeToBinary = function(outputStream) { outputStream.writeUByte(this.systemStatus); diff --git a/src/dis/IntercomCommunicationsParameters.js b/src/dis/IntercomCommunicationsParameters.js index 3b6129c..5b221bd 100644 --- a/src/dis/IntercomCommunicationsParameters.js +++ b/src/dis/IntercomCommunicationsParameters.js @@ -17,17 +17,36 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.IntercomCommunicationsParameters = function() { - /** Type of intercom parameters record */ + /** + * Type of intercom parameters record + * @type {number} + * @instance + */ this.recordType = 0; - /** length of record-specifid field, in octets */ + /** + * length of record-specifid field, in octets + * @type {number} + * @instance + */ this.recordLength = 0; - /** variable length variablelist of data parameters */ + /** + * variable length variablelist of data parameters + * @type {Array} + * @instance + */ this.parameterValues = new Array(); + /** + * @param {InputStream} inputStream + */ dis.IntercomCommunicationsParameters.prototype.initFromBinary = function(inputStream) { this.recordType = inputStream.readUShort(); @@ -41,6 +60,9 @@ dis.IntercomCommunicationsParameters = function() }; + /** + * @param {OutputStream} outputStream + */ dis.IntercomCommunicationsParameters.prototype.encodeToBinary = function(outputStream) { outputStream.writeUShort(this.recordType); diff --git a/src/dis/IntercomControlPdu.js b/src/dis/IntercomControlPdu.js index da0702f..eba3980 100644 --- a/src/dis/IntercomControlPdu.js +++ b/src/dis/IntercomControlPdu.js @@ -17,65 +17,148 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.IntercomControlPdu = function() { - /** The version of the protocol. 5=DIS-1995, 6=DIS-1998. */ + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + * @type {number} + * @instance + */ this.protocolVersion = 6; - /** Exercise ID */ + /** + * Exercise ID + * @type {number} + * @instance + */ this.exerciseID = 0; - /** Type of pdu, unique for each PDU class */ + /** + * Type of pdu, unique for each PDU class + * @type {number} + * @instance + */ this.pduType = 32; - /** value that refers to the protocol family, eg SimulationManagement, et */ + /** + * value that refers to the protocol family, eg SimulationManagement, et + * @type {number} + * @instance + */ this.protocolFamily = 4; - /** Timestamp value */ + /** + * Timestamp value + * @type {number} + * @instance + */ this.timestamp = 0; - /** Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word */ + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + * @type {number} + * @instance + */ this.pduLength = 0; - /** zero-filled array of padding */ + /** + * zero-filled array of padding + * @type {number} + * @instance + */ this.padding = 0; - /** control type */ + /** + * control type + * @type {number} + * @instance + */ this.controlType = 0; - /** control type */ + /** + * control type + * @type {number} + * @instance + */ this.communicationsChannelType = 0; - /** Source entity ID */ + /** + * Source entity ID + * @type {EntityID} + * @instance + */ this.sourceEntityID = new dis.EntityID(); - /** The specific intercom device being simulated within an entity. */ + /** + * The specific intercom device being simulated within an entity. + * @type {number} + * @instance + */ this.sourceCommunicationsDeviceID = 0; - /** Line number to which the intercom control refers */ + /** + * Line number to which the intercom control refers + * @type {number} + * @instance + */ this.sourceLineID = 0; - /** priority of this message relative to transmissons from other intercom devices */ + /** + * priority of this message relative to transmissons from other intercom devices + * @type {number} + * @instance + */ this.transmitPriority = 0; - /** current transmit state of the line */ + /** + * current transmit state of the line + * @type {number} + * @instance + */ this.transmitLineState = 0; - /** detailed type requested. */ + /** + * detailed type requested. + * @type {number} + * @instance + */ this.command = 0; - /** eid of the entity that has created this intercom channel. */ + /** + * eid of the entity that has created this intercom channel. + * @type {number} + * @instance + */ this.masterEntityID = new dis.EntityID(); - /** specific intercom device that has created this intercom channel */ + /** + * specific intercom device that has created this intercom channel + * @type {number} + * @instance + */ this.masterCommunicationsDeviceID = 0; - /** number of intercom parameters */ + /** + * number of intercom parameters + * @type {number} + * @instance + */ this.intercomParametersLength = 0; - /** Must be */ + /** + * Must be + * @type {Array} + * @instance + */ this.intercomParameters = new Array(); + /** + * @param {InputStream} inputStream + */ dis.IntercomControlPdu.prototype.initFromBinary = function(inputStream) { this.protocolVersion = inputStream.readUByte(); @@ -105,6 +188,9 @@ dis.IntercomControlPdu = function() }; + /** + * @param {OutputStream} outputStream + */ dis.IntercomControlPdu.prototype.encodeToBinary = function(outputStream) { outputStream.writeUByte(this.protocolVersion); diff --git a/src/dis/IntercomSignalPdu.js b/src/dis/IntercomSignalPdu.js index e8d481c..cfdce5e 100644 --- a/src/dis/IntercomSignalPdu.js +++ b/src/dis/IntercomSignalPdu.js @@ -17,53 +17,120 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.IntercomSignalPdu = function() { - /** The version of the protocol. 5=DIS-1995, 6=DIS-1998. */ + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + * @type {number} + * @instance + */ this.protocolVersion = 6; - /** Exercise ID */ + /** + * Exercise ID + * @type {number} + * @instance + */ this.exerciseID = 0; - /** Type of pdu, unique for each PDU class */ + /** + * Type of pdu, unique for each PDU class + * @type {number} + * @instance + */ this.pduType = 31; - /** value that refers to the protocol family, eg SimulationManagement, et */ + /** + * value that refers to the protocol family, eg SimulationManagement, et + * @type {number} + * @instance + */ this.protocolFamily = 4; - /** Timestamp value */ + /** + * Timestamp value + * @type {number} + * @instance + */ this.timestamp = 0; - /** Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word */ + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + * @type {number} + * @instance + */ this.pduLength = 0; - /** zero-filled array of padding */ + /** + * zero-filled array of padding + * @type {number} + * @instance + */ this.padding = 0; - /** ID of the entitythat is the source of the communication */ + /** + * ID of the entitythat is the source of the communication + * @type {EntityID} + * @instance + */ this.entityId = new dis.EntityID(); - /** particular radio within an entity */ + /** + * particular radio within an entity + * @type {number} + * @instance + */ this.communicationsDeviceID = 0; - /** encoding scheme */ + /** + * encoding scheme + * @type {number} + * @instance + */ this.encodingScheme = 0; - /** tactical data link type */ + /** + * tactical data link type + * @type {number} + * @instance + */ this.tdlType = 0; - /** sample rate */ + /** + * sample rate + * @type {number} + * @instance + */ this.sampleRate = 0; - /** data length, in bits */ + /** + * data length, in bits + * @type {number} + * @instance + */ this.dataLength = 0; - /** samples */ + /** + * samples + * @type {number} + * @instance + */ this.samples = 0; - /** data bytes */ + /** + * data bytes + * @type {Array} + * @instance + */ this.data = new Array(); + /** + * @param {InputStream} inputStream + */ dis.IntercomSignalPdu.prototype.initFromBinary = function(inputStream) { this.protocolVersion = inputStream.readUByte(); @@ -89,6 +156,9 @@ dis.IntercomSignalPdu = function() }; + /** + * @param {OutputStream} outputStream + */ dis.IntercomSignalPdu.prototype.encodeToBinary = function(outputStream) { outputStream.writeUByte(this.protocolVersion); diff --git a/src/dis/IsGroupOfPdu.js b/src/dis/IsGroupOfPdu.js index d7f49e6..15f3d2a 100644 --- a/src/dis/IsGroupOfPdu.js +++ b/src/dis/IsGroupOfPdu.js @@ -17,50 +17,113 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.IsGroupOfPdu = function() { - /** The version of the protocol. 5=DIS-1995, 6=DIS-1998. */ + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + * @type {number} + * @instance + */ this.protocolVersion = 6; - /** Exercise ID */ + /** + * Exercise ID + * @type {number} + * @instance + */ this.exerciseID = 0; - /** Type of pdu, unique for each PDU class */ + /** + * Type of pdu, unique for each PDU class + * @type {number} + * @instance + */ this.pduType = 34; - /** value that refers to the protocol family, eg SimulationManagement, et */ + /** + * value that refers to the protocol family, eg SimulationManagement, et + * @type {number} + * @instance + */ this.protocolFamily = 7; - /** Timestamp value */ + /** + * Timestamp value + * @type {number} + * @instance + */ this.timestamp = 0; - /** Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word */ + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + * @type {number} + * @instance + */ this.pduLength = 0; - /** zero-filled array of padding */ + /** + * zero-filled array of padding + * @type {number} + * @instance + */ this.padding = 0; - /** ID of aggregated entities */ + /** + * ID of aggregated entities + * @type {EntityID} + * @instance + */ this.groupEntityID = new dis.EntityID(); - /** type of entities constituting the group */ + /** + * type of entities constituting the group + * @type {number} + * @instance + */ this.groupedEntityCategory = 0; - /** Number of individual entities constituting the group */ + /** + * Number of individual entities constituting the group + * @type {number} + * @instance + */ this.numberOfGroupedEntities = 0; - /** padding */ + /** + * padding + * @type {number} + * @instance + */ this.pad2 = 0; - /** latitude */ + /** + * latitude + * @type {number} + * @instance + */ this.latitude = 0; - /** longitude */ + /** + * longitude + * @type {number} + * @instance + */ this.longitude = 0; - /** GED records about each individual entity in the group. ^^^this is wrong--need a database lookup to find the actual size of the list elements */ + /** + * GED records about each individual entity in the group. ^^^this is wrong--need a database lookup to find the actual size of the list elements + * @type {Array} + * @instance + */ this.groupedEntityDescriptions = new Array(); + /** + * @param {InputStream} inputStream + */ dis.IsGroupOfPdu.prototype.initFromBinary = function(inputStream) { this.protocolVersion = inputStream.readUByte(); @@ -85,6 +148,9 @@ dis.IsGroupOfPdu = function() }; + /** + * @param {OutputStream} outputStream + */ dis.IsGroupOfPdu.prototype.encodeToBinary = function(outputStream) { outputStream.writeUByte(this.protocolVersion); diff --git a/src/dis/IsPartOfPdu.js b/src/dis/IsPartOfPdu.js index f8ceda0..31f1567 100644 --- a/src/dis/IsPartOfPdu.js +++ b/src/dis/IsPartOfPdu.js @@ -17,47 +17,106 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.IsPartOfPdu = function() { - /** The version of the protocol. 5=DIS-1995, 6=DIS-1998. */ + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + * @type {number} + * @instance + */ this.protocolVersion = 6; - /** Exercise ID */ + /** + * Exercise ID + * @type {number} + * @instance + */ this.exerciseID = 0; - /** Type of pdu, unique for each PDU class */ + /** + * Type of pdu, unique for each PDU class + * @type {number} + * @instance + */ this.pduType = 36; - /** value that refers to the protocol family, eg SimulationManagement, et */ + /** + * value that refers to the protocol family, eg SimulationManagement, et + * @type {number} + * @instance + */ this.protocolFamily = 7; - /** Timestamp value */ + /** + * Timestamp value + * @type {number} + * @instance + */ this.timestamp = 0; - /** Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word */ + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + * @type {number} + * @instance + */ this.pduLength = 0; - /** zero-filled array of padding */ + /** + * zero-filled array of padding + * @type {number} + * @instance + */ this.padding = 0; - /** ID of entity originating PDU */ + /** + * ID of entity originating PDU + * @type {EntityID} + * @instance + */ this.orginatingEntityID = new dis.EntityID(); - /** ID of entity receiving PDU */ + /** + * ID of entity receiving PDU + * @type {EntityID} + * @instance + */ this.receivingEntityID = new dis.EntityID(); - /** relationship of joined parts */ + /** + * relationship of joined parts + * @type {Relationship} + * @instance + */ this.relationship = new dis.Relationship(); - /** location of part; centroid of part in host's coordinate system. x=range, y=bearing, z=0 */ + /** + * location of part; centroid of part in host's coordinate system. x=range, y=bearing, z=0 + * @type {Vector3Float} + * @instance + */ this.partLocation = new dis.Vector3Float(); - /** named location */ + /** + * named location + * @type {NamedLocation} + * @instance + */ this.namedLocationID = new dis.NamedLocation(); - /** entity type */ + /** + * entity type + * @type {EntityType} + * @instance + */ this.partEntityType = new dis.EntityType(); + /** + * @param {InputStream} inputStream + */ dis.IsPartOfPdu.prototype.initFromBinary = function(inputStream) { this.protocolVersion = inputStream.readUByte(); @@ -75,6 +134,9 @@ dis.IsPartOfPdu = function() this.partEntityType.initFromBinary(inputStream); }; + /** + * @param {OutputStream} outputStream + */ dis.IsPartOfPdu.prototype.encodeToBinary = function(outputStream) { outputStream.writeUByte(this.protocolVersion); diff --git a/src/dis/LayerHeader.js b/src/dis/LayerHeader.js index c94bf0a..12e52b5 100644 --- a/src/dis/LayerHeader.js +++ b/src/dis/LayerHeader.js @@ -17,17 +17,36 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.LayerHeader = function() { - /** Layer number */ + /** + * Layer number + * @type {number} + * @instance + */ this.layerNumber = 0; - /** Layer speccific information enumeration */ + /** + * Layer speccific information enumeration + * @type {number} + * @instance + */ this.layerSpecificInformaiton = 0; - /** information length */ + /** + * information length + * @type {number} + * @instance + */ this.length = 0; + /** + * @param {InputStream} inputStream + */ dis.LayerHeader.prototype.initFromBinary = function(inputStream) { this.layerNumber = inputStream.readUByte(); @@ -35,6 +54,9 @@ dis.LayerHeader = function() this.length = inputStream.readUShort(); }; + /** + * @param {OutputStream} outputStream + */ dis.LayerHeader.prototype.encodeToBinary = function(outputStream) { outputStream.writeUByte(this.layerNumber); diff --git a/src/dis/LinearObjectStatePdu.js b/src/dis/LinearObjectStatePdu.js index 80f9608..23b4c99 100644 --- a/src/dis/LinearObjectStatePdu.js +++ b/src/dis/LinearObjectStatePdu.js @@ -17,56 +17,127 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.LinearObjectStatePdu = function() { - /** The version of the protocol. 5=DIS-1995, 6=DIS-1998. */ + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + * @type {number} + * @instance + */ this.protocolVersion = 6; - /** Exercise ID */ + /** + * Exercise ID + * @type {number} + * @instance + */ this.exerciseID = 0; - /** Type of pdu, unique for each PDU class */ + /** + * Type of pdu, unique for each PDU class + * @type {number} + * @instance + */ this.pduType = 44; - /** value that refers to the protocol family, eg SimulationManagement, et */ + /** + * value that refers to the protocol family, eg SimulationManagement, et + * @type {number} + * @instance + */ this.protocolFamily = 9; - /** Timestamp value */ + /** + * Timestamp value + * @type {number} + * @instance + */ this.timestamp = 0; - /** Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word */ + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + * @type {number} + * @instance + */ this.pduLength = 0; - /** zero-filled array of padding */ + /** + * zero-filled array of padding + * @type {number} + * @instance + */ this.padding = 0; - /** Object in synthetic environment */ + /** + * Object in synthetic environment + * @type {EntityID} + * @instance + */ this.objectID = new dis.EntityID(); - /** Object with which this point object is associated */ + /** + * Object with which this point object is associated + * @type {EntityID} + * @instance + */ this.referencedObjectID = new dis.EntityID(); - /** unique update number of each state transition of an object */ + /** + * unique update number of each state transition of an object + * @type {number} + * @instance + */ this.updateNumber = 0; - /** force ID */ + /** + * force ID + * @type {number} + * @instance + */ this.forceID = 0; - /** number of linear segment parameters */ + /** + * number of linear segment parameters + * @type {number} + * @instance + */ this.numberOfSegments = 0; - /** requesterID */ + /** + * requesterID + * @type {SimulationAddress} + * @instance + */ this.requesterID = new dis.SimulationAddress(); - /** receiver ID */ + /** + * receiver ID + * @type {SimulationAddress} + * @instance + */ this.receivingID = new dis.SimulationAddress(); - /** Object type */ + /** + * Object type + * @type {EntityType} + * @instance + */ this.objectType = new dis.ObjectType(); - /** Linear segment parameters */ + /** + * Linear segment parameters + * @type {Array} + * @instance + */ this.linearSegmentParameters = new Array(); + /** + * @param {InputStream} inputStream + */ dis.LinearObjectStatePdu.prototype.initFromBinary = function(inputStream) { this.protocolVersion = inputStream.readUByte(); @@ -93,6 +164,9 @@ dis.LinearObjectStatePdu = function() }; + /** + * @param {OutputStream} outputStream + */ dis.LinearObjectStatePdu.prototype.encodeToBinary = function(outputStream) { outputStream.writeUByte(this.protocolVersion); diff --git a/src/dis/LinearSegmentParameter.js b/src/dis/LinearSegmentParameter.js index 0f132a3..b2f0aab 100644 --- a/src/dis/LinearSegmentParameter.js +++ b/src/dis/LinearSegmentParameter.js @@ -17,35 +17,78 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.LinearSegmentParameter = function() { - /** number of segments */ + /** + * number of segments + * @type {number} + * @instance + */ this.segmentNumber = 0; - /** segment appearance */ + /** + * segment appearance + * @type {SixByteChunk} + * @instance + */ this.segmentAppearance = new dis.SixByteChunk(); - /** location */ + /** + * location + * @type {Vector3Double} + * @instance + */ this.location = new dis.Vector3Double(); - /** orientation */ + /** + * orientation + * @type {Orientation} + * @instance + */ this.orientation = new dis.Orientation(); - /** segmentLength */ + /** + * segmentLength + * @type {number} + * @instance + */ this.segmentLength = 0; - /** segmentWidth */ + /** + * segmentWidth + * @type {number} + * @instance + */ this.segmentWidth = 0; - /** segmentHeight */ + /** + * segmentHeight + * @type {number} + * @instance + */ this.segmentHeight = 0; - /** segment Depth */ + /** + * segment Depth + * @type {number} + * @instance + */ this.segmentDepth = 0; - /** segment Depth */ + /** + * segment Depth + * @type {number} + * @instance + */ this.pad1 = 0; + /** + * @param {InputStream} inputStream + */ dis.LinearSegmentParameter.prototype.initFromBinary = function(inputStream) { this.segmentNumber = inputStream.readUByte(); @@ -59,6 +102,9 @@ dis.LinearSegmentParameter = function() this.pad1 = inputStream.readUInt(); }; + /** + * @param {OutputStream} outputStream + */ dis.LinearSegmentParameter.prototype.encodeToBinary = function(outputStream) { outputStream.writeUByte(this.segmentNumber); diff --git a/src/dis/LogisticsFamilyPdu.js b/src/dis/LogisticsFamilyPdu.js index 878144f..d956f26 100644 --- a/src/dis/LogisticsFamilyPdu.js +++ b/src/dis/LogisticsFamilyPdu.js @@ -17,29 +17,64 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.LogisticsFamilyPdu = function() { - /** The version of the protocol. 5=DIS-1995, 6=DIS-1998. */ + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + * @type {number} + * @instance + */ this.protocolVersion = 6; - /** Exercise ID */ + /** + * Exercise ID + * @type {number} + * @instance + */ this.exerciseID = 0; - /** Type of pdu, unique for each PDU class */ + /** + * Type of pdu, unique for each PDU class + * @type {number} + * @instance + */ this.pduType = 0; - /** value that refers to the protocol family, eg SimulationManagement, et */ + /** + * value that refers to the protocol family, eg SimulationManagement, et + * @type {number} + * @instance + */ this.protocolFamily = 3; - /** Timestamp value */ + /** + * Timestamp value + * @type {number} + * @instance + */ this.timestamp = 0; - /** Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word */ + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + * @type {number} + * @instance + */ this.pduLength = 0; - /** zero-filled array of padding */ + /** + * zero-filled array of padding + * @type {number} + * @instance + */ this.padding = 0; + /** + * @param {InputStream} inputStream + */ dis.LogisticsFamilyPdu.prototype.initFromBinary = function(inputStream) { this.protocolVersion = inputStream.readUByte(); @@ -51,6 +86,9 @@ dis.LogisticsFamilyPdu = function() this.padding = inputStream.readShort(); }; + /** + * @param {OutputStream} outputStream + */ dis.LogisticsFamilyPdu.prototype.encodeToBinary = function(outputStream) { outputStream.writeUByte(this.protocolVersion); diff --git a/src/dis/Marking.js b/src/dis/Marking.js index d27e747..29c00a4 100644 --- a/src/dis/Marking.js +++ b/src/dis/Marking.js @@ -20,14 +20,29 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.Marking = function() { - /** The character set */ + /** + * The character set + * @type {number} + * @instance + */ this.characterSet = 0; - /** The characters */ + /** + * The characters + * @type {Array} + * @instance + */ this.characters = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); + /** + * @param {InputStream} inputStream + */ dis.Marking.prototype.initFromBinary = function(inputStream) { this.characterSet = inputStream.readUByte(); @@ -37,6 +52,9 @@ dis.Marking = function() } }; + /** + * @param {OutputStream} outputStream + */ dis.Marking.prototype.encodeToBinary = function(outputStream) { outputStream.writeUByte(this.characterSet); @@ -46,9 +64,9 @@ dis.Marking = function() } }; - /* + /** * Returns the byte array marking, in string format. - * @return string format marking characters + * @returns {string} string format marking characters */ dis.Marking.prototype.getMarking = function() { @@ -67,7 +85,6 @@ dis.Marking = function() * than 11 characters. * * @param {String} newMarking string format marking - * @returns {nothing} */ dis.Marking.prototype.setMarking = function(newMarking) { diff --git a/src/dis/MinefieldDataPdu.js b/src/dis/MinefieldDataPdu.js index 10376ee..fe8a459 100644 --- a/src/dis/MinefieldDataPdu.js +++ b/src/dis/MinefieldDataPdu.js @@ -17,71 +17,162 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.MinefieldDataPdu = function() { - /** The version of the protocol. 5=DIS-1995, 6=DIS-1998. */ + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + * @type {number} + * @instance + */ this.protocolVersion = 6; - /** Exercise ID */ + /** + * Exercise ID + * @type {number} + * @instance + */ this.exerciseID = 0; - /** Type of pdu, unique for each PDU class */ + /** + * Type of pdu, unique for each PDU class + * @type {number} + * @instance + */ this.pduType = 39; - /** value that refers to the protocol family, eg SimulationManagement, et */ + /** + * value that refers to the protocol family, eg SimulationManagement, et + * @type {number} + * @instance + */ this.protocolFamily = 8; - /** Timestamp value */ + /** + * Timestamp value + * @type {number} + * @instance + */ this.timestamp = 0; - /** Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word */ + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + * @type {number} + * @instance + */ this.pduLength = 0; - /** zero-filled array of padding */ + /** + * zero-filled array of padding + * @type {number} + * @instance + */ this.padding = 0; - /** Minefield ID */ + /** + * Minefield ID + * @type {EntityID} + * @instance + */ this.minefieldID = new dis.EntityID(); - /** ID of entity making request */ + /** + * ID of entity making request + * @type {EntityID} + * @instance + */ this.requestingEntityID = new dis.EntityID(); - /** Minefield sequence number */ + /** + * Minefield sequence number + * @type {number} + * @instance + */ this.minefieldSequenceNumbeer = 0; - /** request ID */ + /** + * request ID + * @type {number} + * @instance + */ this.requestID = 0; - /** pdu sequence number */ + /** + * pdu sequence number + * @type {number} + * @instance + */ this.pduSequenceNumber = 0; - /** number of pdus in response */ + /** + * number of pdus in response + * @type {number} + * @instance + */ this.numberOfPdus = 0; - /** how many mines are in this PDU */ + /** + * how many mines are in this PDU + * @type {number} + * @instance + */ this.numberOfMinesInThisPdu = 0; - /** how many sensor type are in this PDU */ + /** + * how many sensor type are in this PDU + * @type {number} + * @instance + */ this.numberOfSensorTypes = 0; - /** padding */ + /** + * padding + * @type {number} + * @instance + */ this.pad2 = 0; - /** 32 boolean fields */ + /** + * 32 boolean fields + * @type {number} + * @instance + */ this.dataFilter = 0; - /** Mine type */ + /** + * Mine type + * @type {EntityType} + * @instance + */ this.mineType = new dis.EntityType(); - /** Sensor types, each 16 bits long */ + /** + * Sensor types, each 16 bits long + * @type {Array} + * @instance + */ this.sensorTypes = new Array(); - /** Padding to get things 32-bit aligned. ^^^this is wrong--dyanmically sized padding needed */ + /** + * Padding to get things 32-bit aligned. ^^^this is wrong--dyanmically sized padding needed + * @type {number} + * @instance + */ this.pad3 = 0; - /** Mine locations */ + /** + * Mine locations + * @type {Array} + * @instance + */ this.mineLocation = new Array(); + /** + * @param {InputStream} inputStream + */ dis.MinefieldDataPdu.prototype.initFromBinary = function(inputStream) { this.protocolVersion = inputStream.readUByte(); @@ -119,6 +210,9 @@ dis.MinefieldDataPdu = function() }; + /** + * @param {OutputStream} outputStream + */ dis.MinefieldDataPdu.prototype.encodeToBinary = function(outputStream) { outputStream.writeUByte(this.protocolVersion); diff --git a/src/dis/MinefieldFamilyPdu.js b/src/dis/MinefieldFamilyPdu.js index d32845c..3d21ffe 100644 --- a/src/dis/MinefieldFamilyPdu.js +++ b/src/dis/MinefieldFamilyPdu.js @@ -17,29 +17,64 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.MinefieldFamilyPdu = function() { - /** The version of the protocol. 5=DIS-1995, 6=DIS-1998. */ + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + * @type {number} + * @instance + */ this.protocolVersion = 6; - /** Exercise ID */ + /** + * Exercise ID + * @type {number} + * @instance + */ this.exerciseID = 0; - /** Type of pdu, unique for each PDU class */ + /** + * Type of pdu, unique for each PDU class + * @type {number} + * @instance + */ this.pduType = 0; - /** value that refers to the protocol family, eg SimulationManagement, et */ + /** + * value that refers to the protocol family, eg SimulationManagement, et + * @type {number} + * @instance + */ this.protocolFamily = 8; - /** Timestamp value */ + /** + * Timestamp value + * @type {number} + * @instance + */ this.timestamp = 0; - /** Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word */ + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + * @type {number} + * @instance + */ this.pduLength = 0; - /** zero-filled array of padding */ + /** + * zero-filled array of padding + * @type {number} + * @instance + */ this.padding = 0; + /** + * @param {InputStream} inputStream + */ dis.MinefieldFamilyPdu.prototype.initFromBinary = function(inputStream) { this.protocolVersion = inputStream.readUByte(); @@ -51,6 +86,9 @@ dis.MinefieldFamilyPdu = function() this.padding = inputStream.readShort(); }; + /** + * @param {OutputStream} outputStream + */ dis.MinefieldFamilyPdu.prototype.encodeToBinary = function(outputStream) { outputStream.writeUByte(this.protocolVersion); diff --git a/src/dis/MinefieldQueryPdu.js b/src/dis/MinefieldQueryPdu.js index 4cf5f2c..5f4fa6d 100644 --- a/src/dis/MinefieldQueryPdu.js +++ b/src/dis/MinefieldQueryPdu.js @@ -17,59 +17,134 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.MinefieldQueryPdu = function() { - /** The version of the protocol. 5=DIS-1995, 6=DIS-1998. */ + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + * @type {number} + * @instance + */ this.protocolVersion = 6; - /** Exercise ID */ + /** + * Exercise ID + * @type {number} + * @instance + */ this.exerciseID = 0; - /** Type of pdu, unique for each PDU class */ + /** + * Type of pdu, unique for each PDU class + * @type {number} + * @instance + */ this.pduType = 38; - /** value that refers to the protocol family, eg SimulationManagement, et */ + /** + * value that refers to the protocol family, eg SimulationManagement, et + * @type {number} + * @instance + */ this.protocolFamily = 8; - /** Timestamp value */ + /** + * Timestamp value + * @type {number} + * @instance + */ this.timestamp = 0; - /** Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word */ + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + * @type {number} + * @instance + */ this.pduLength = 0; - /** zero-filled array of padding */ + /** + * zero-filled array of padding + * @type {number} + * @instance + */ this.padding = 0; - /** Minefield ID */ + /** + * Minefield ID + * @type {EntityID} + * @instance + */ this.minefieldID = new dis.EntityID(); - /** EID of entity making the request */ + /** + * EID of entity making the request + * @type {EntityID} + * @instance + */ this.requestingEntityID = new dis.EntityID(); - /** request ID */ + /** + * request ID + * @type {number} + * @instance + */ this.requestID = 0; - /** Number of perimeter points for the minefield */ + /** + * Number of perimeter points for the minefield + * @type {number} + * @instance + */ this.numberOfPerimeterPoints = 0; - /** Padding */ + /** + * Padding + * @type {number} + * @instance + */ this.pad2 = 0; - /** Number of sensor types */ + /** + * Number of sensor types + * @type {number} + * @instance + */ this.numberOfSensorTypes = 0; - /** data filter, 32 boolean fields */ + /** + * data filter, 32 boolean fields + * @type {number} + * @instance + */ this.dataFilter = 0; - /** Entity type of mine being requested */ + /** + * Entity type of mine being requested + * @type {EntityType} + * @instance + */ this.requestedMineType = new dis.EntityType(); - /** perimeter points of request */ + /** + * perimeter points of request + * @type {Array} + * @instance + */ this.requestedPerimeterPoints = new Array(); - /** Sensor types, each 16 bits long */ + /** + * Sensor types, each 16 bits long + * @type {Array} + * @instance + */ this.sensorTypes = new Array(); + /** + * @param {InputStream} inputStream + */ dis.MinefieldQueryPdu.prototype.initFromBinary = function(inputStream) { this.protocolVersion = inputStream.readUByte(); @@ -103,6 +178,9 @@ dis.MinefieldQueryPdu = function() }; + /** + * @param {OutputStream} outputStream + */ dis.MinefieldQueryPdu.prototype.encodeToBinary = function(outputStream) { outputStream.writeUByte(this.protocolVersion); diff --git a/src/dis/MinefieldResponseNackPdu.js b/src/dis/MinefieldResponseNackPdu.js index d7094ac..1adf353 100644 --- a/src/dis/MinefieldResponseNackPdu.js +++ b/src/dis/MinefieldResponseNackPdu.js @@ -17,44 +17,99 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.MinefieldResponseNackPdu = function() { - /** The version of the protocol. 5=DIS-1995, 6=DIS-1998. */ + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + * @type {number} + * @instance + */ this.protocolVersion = 6; - /** Exercise ID */ + /** + * Exercise ID + * @type {number} + * @instance + */ this.exerciseID = 0; - /** Type of pdu, unique for each PDU class */ + /** + * Type of pdu, unique for each PDU class + * @type {number} + * @instance + */ this.pduType = 40; - /** value that refers to the protocol family, eg SimulationManagement, et */ + /** + * value that refers to the protocol family, eg SimulationManagement, et + * @type {number} + * @instance + */ this.protocolFamily = 8; - /** Timestamp value */ + /** + * Timestamp value + * @type {number} + * @instance + */ this.timestamp = 0; - /** Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word */ + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + * @type {number} + * @instance + */ this.pduLength = 0; - /** zero-filled array of padding */ + /** + * zero-filled array of padding + * @type {number} + * @instance + */ this.padding = 0; - /** Minefield ID */ + /** + * Minefield ID + * @type {EntityID} + * @instance + */ this.minefieldID = new dis.EntityID(); - /** entity ID making the request */ + /** + * entity ID making the request + * @type {EntityID} + * @instance + */ this.requestingEntityID = new dis.EntityID(); - /** request ID */ + /** + * request ID + * @type {number} + * @instance + */ this.requestID = 0; - /** how many pdus were missing */ + /** + * how many pdus were missing + * @type {number} + * @instance + */ this.numberOfMissingPdus = 0; - /** PDU sequence numbers that were missing */ + /** + * PDU sequence numbers that were missing + * @type {Array} + * @instance + */ this.missingPduSequenceNumbers = new Array(); + /** + * @param {InputStream} inputStream + */ dis.MinefieldResponseNackPdu.prototype.initFromBinary = function(inputStream) { this.protocolVersion = inputStream.readUByte(); @@ -77,6 +132,9 @@ dis.MinefieldResponseNackPdu = function() }; + /** + * @param {OutputStream} outputStream + */ dis.MinefieldResponseNackPdu.prototype.encodeToBinary = function(outputStream) { outputStream.writeUByte(this.protocolVersion); diff --git a/src/dis/MinefieldStatePdu.js b/src/dis/MinefieldStatePdu.js index b5e51b4..eac8f2d 100644 --- a/src/dis/MinefieldStatePdu.js +++ b/src/dis/MinefieldStatePdu.js @@ -17,65 +17,148 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.MinefieldStatePdu = function() { - /** The version of the protocol. 5=DIS-1995, 6=DIS-1998. */ + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + * @type {number} + * @instance + */ this.protocolVersion = 6; - /** Exercise ID */ + /** + * Exercise ID + * @type {number} + * @instance + */ this.exerciseID = 0; - /** Type of pdu, unique for each PDU class */ + /** + * Type of pdu, unique for each PDU class + * @type {number} + * @instance + */ this.pduType = 37; - /** value that refers to the protocol family, eg SimulationManagement, et */ + /** + * value that refers to the protocol family, eg SimulationManagement, et + * @type {number} + * @instance + */ this.protocolFamily = 8; - /** Timestamp value */ + /** + * Timestamp value + * @type {number} + * @instance + */ this.timestamp = 0; - /** Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word */ + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + * @type {number} + * @instance + */ this.pduLength = 0; - /** zero-filled array of padding */ + /** + * zero-filled array of padding + * @type {number} + * @instance + */ this.padding = 0; - /** Minefield ID */ + /** + * Minefield ID + * @type {EntityID} + * @instance + */ this.minefieldID = new dis.EntityID(); - /** Minefield sequence */ + /** + * Minefield sequence + * @type {number} + * @instance + */ this.minefieldSequence = 0; - /** force ID */ + /** + * force ID + * @type {number} + * @instance + */ this.forceID = 0; - /** Number of permieter points */ + /** + * Number of permieter points + * @type {number} + * @instance + */ this.numberOfPerimeterPoints = 0; - /** type of minefield */ + /** + * type of minefield + * @type {EntityType} + * @instance + */ this.minefieldType = new dis.EntityType(); - /** how many mine types */ + /** + * how many mine types + * @type {number} + * @instance + */ this.numberOfMineTypes = 0; - /** location of minefield in world coords */ + /** + * location of minefield in world coords + * @type {Vector3Double} + * @instance + */ this.minefieldLocation = new dis.Vector3Double(); - /** orientation of minefield */ + /** + * orientation of minefield + * @type {Orientation} + * @instance + */ this.minefieldOrientation = new dis.Orientation(); - /** appearance bitflags */ + /** + * appearance bitflags + * @type {number} + * @instance + */ this.appearance = 0; - /** protocolMode */ + /** + * protocolMode + * @type {number} + * @instance + */ this.protocolMode = 0; - /** perimeter points for the minefield */ + /** + * perimeter points for the minefield + * @type {Array} + * @instance + */ this.perimeterPoints = new Array(); - /** Type of mines */ + /** + * Type of mines + * @type {Array} + * @instance + */ this.mineType = new Array(); + /** + * @param {InputStream} inputStream + */ dis.MinefieldStatePdu.prototype.initFromBinary = function(inputStream) { this.protocolVersion = inputStream.readUByte(); @@ -111,6 +194,9 @@ dis.MinefieldStatePdu = function() }; + /** + * @param {OutputStream} outputStream + */ dis.MinefieldStatePdu.prototype.encodeToBinary = function(outputStream) { outputStream.writeUByte(this.protocolVersion); diff --git a/src/dis/ModulationType.js b/src/dis/ModulationType.js index a9d825d..f273adc 100644 --- a/src/dis/ModulationType.js +++ b/src/dis/ModulationType.js @@ -17,20 +17,43 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.ModulationType = function() { - /** spread spectrum, 16 bit boolean array */ + /** + * spread spectrum, 16 bit boolean array + * @type {number} + * @instance + */ this.spreadSpectrum = 0; - /** major */ + /** + * major + * @type {number} + * @instance + */ this.major = 0; - /** detail */ + /** + * detail + * @type {number} + * @instance + */ this.detail = 0; - /** system */ + /** + * system + * @type {number} + * @instance + */ this.system = 0; + /** + * @param {InputStream} inputStream + */ dis.ModulationType.prototype.initFromBinary = function(inputStream) { this.spreadSpectrum = inputStream.readUShort(); @@ -39,6 +62,9 @@ dis.ModulationType = function() this.system = inputStream.readUShort(); }; + /** + * @param {OutputStream} outputStream + */ dis.ModulationType.prototype.encodeToBinary = function(outputStream) { outputStream.writeUShort(this.spreadSpectrum); diff --git a/src/dis/NamedLocation.js b/src/dis/NamedLocation.js index 71a9fc7..8acaf96 100644 --- a/src/dis/NamedLocation.js +++ b/src/dis/NamedLocation.js @@ -17,20 +17,38 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.NamedLocation = function() { - /** station name enumeration */ + /** + * station name enumeration + * @type {number} + * @instance + */ this.stationName = 0; - /** station number */ + /** + * station number + * @type {number} + * @instance + */ this.stationNumber = 0; + /** + * @param {InputStream} inputStream + */ dis.NamedLocation.prototype.initFromBinary = function(inputStream) { this.stationName = inputStream.readUShort(); this.stationNumber = inputStream.readUShort(); }; + /** + * @param {OutputStream} outputStream + */ dis.NamedLocation.prototype.encodeToBinary = function(outputStream) { outputStream.writeUShort(this.stationName); diff --git a/src/dis/ObjectType.js b/src/dis/ObjectType.js index ff5069a..92f9f96 100644 --- a/src/dis/ObjectType.js +++ b/src/dis/ObjectType.js @@ -17,23 +17,50 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.ObjectType = function() { - /** Kind of entity */ + /** + * Kind of entity + * @type {number} + * @instance + */ this.entityKind = 0; - /** Domain of entity (air, surface, subsurface, space, etc) */ + /** + * Domain of entity (air, surface, subsurface, space, etc) + * @type {number} + * @instance + */ this.domain = 0; - /** country to which the design of the entity is attributed */ + /** + * country to which the design of the entity is attributed + * @type {number} + * @instance + */ this.country = 0; - /** category of entity */ + /** + * category of entity + * @type {number} + * @instance + */ this.category = 0; - /** subcategory of entity */ + /** + * subcategory of entity + * @type {number} + * @instance + */ this.subcategory = 0; + /** + * @param {InputStream} inputStream + */ dis.ObjectType.prototype.initFromBinary = function(inputStream) { this.entityKind = inputStream.readUByte(); @@ -43,6 +70,9 @@ dis.ObjectType = function() this.subcategory = inputStream.readUByte(); }; + /** + * @param {OutputStream} outputStream + */ dis.ObjectType.prototype.encodeToBinary = function(outputStream) { outputStream.writeUByte(this.entityKind); diff --git a/src/dis/Orientation.js b/src/dis/Orientation.js index b653d3f..bcf7e70 100644 --- a/src/dis/Orientation.js +++ b/src/dis/Orientation.js @@ -17,14 +17,33 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.Orientation = function() { + /** + * @type {number} + * @instance + */ this.psi = 0; + /** + * @type {number} + * @instance + */ this.theta = 0; + /** + * @type {number} + * @instance + */ this.phi = 0; + /** + * @param {InputStream} inputStream + */ dis.Orientation.prototype.initFromBinary = function(inputStream) { this.psi = inputStream.readFloat32(); @@ -32,6 +51,9 @@ dis.Orientation = function() this.phi = inputStream.readFloat32(); }; + /** + * @param {OutputStream} outputStream + */ dis.Orientation.prototype.encodeToBinary = function(outputStream) { outputStream.writeFloat32(this.psi); diff --git a/src/dis/Pdu.js b/src/dis/Pdu.js index 7471f16..6110cf6 100644 --- a/src/dis/Pdu.js +++ b/src/dis/Pdu.js @@ -17,29 +17,64 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.Pdu = function() { - /** The version of the protocol. 5=DIS-1995, 6=DIS-1998. */ + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + * @type {number} + * @instance + */ this.protocolVersion = 6; - /** Exercise ID */ + /** + * Exercise ID + * @type {number} + * @instance + */ this.exerciseID = 0; - /** Type of pdu, unique for each PDU class */ + /** + * Type of pdu, unique for each PDU class + * @type {number} + * @instance + */ this.pduType = 0; - /** value that refers to the protocol family, eg SimulationManagement, et */ + /** + * value that refers to the protocol family, eg SimulationManagement, et + * @type {number} + * @instance + */ this.protocolFamily = 0; - /** Timestamp value */ + /** + * Timestamp value + * @type {number} + * @instance + */ this.timestamp = 0; - /** Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word */ + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + * @type {number} + * @instance + */ this.pduLength = 0; - /** zero-filled array of padding */ + /** + * zero-filled array of padding + * @type {number} + * @instance + */ this.padding = 0; + /** + * @param {InputStream} inputStream + */ dis.Pdu.prototype.initFromBinary = function(inputStream) { this.protocolVersion = inputStream.readUByte(); @@ -51,6 +86,9 @@ dis.Pdu = function() this.padding = inputStream.readShort(); }; + /** + * @param {OutputStream} outputStream + */ dis.Pdu.prototype.encodeToBinary = function(outputStream) { outputStream.writeUByte(this.protocolVersion); diff --git a/src/dis/PduContainer.js b/src/dis/PduContainer.js index 9f4ed49..6674382 100644 --- a/src/dis/PduContainer.js +++ b/src/dis/PduContainer.js @@ -17,14 +17,29 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.PduContainer = function() { - /** Number of PDUs in the container list */ + /** + * Number of PDUs in the container list + * @type {number} + * @instance + */ this.numberOfPdus = 0; - /** List of PDUs */ + /** + * List of PDUs + * @type {Array} + * @instance + */ this.pdus = new Array(); + /** + * @param {InputStream} inputStream + */ dis.PduContainer.prototype.initFromBinary = function(inputStream) { this.numberOfPdus = inputStream.readInt(); @@ -37,6 +52,9 @@ dis.PduContainer = function() }; + /** + * @param {OutputStream} outputStream + */ dis.PduContainer.prototype.encodeToBinary = function(outputStream) { outputStream.writeInt(this.numberOfPdus); diff --git a/src/dis/PduStream.js b/src/dis/PduStream.js index 67d211d..856b992 100644 --- a/src/dis/PduStream.js +++ b/src/dis/PduStream.js @@ -17,32 +17,71 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.PduStream = function() { - /** short description of this PDU stream */ + /** + * short description of this PDU stream + * @type {Array} + * @instance + */ this.shortDescription = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); - /** Longish description of this PDU stream */ + /** + * Longish description of this PDU stream + * @type {Array} + * @instance + */ this.longDescription = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); - /** Name of person performing recording */ + /** + * Name of person performing recording + * @type {Array} + * @instance + */ this.personRecording = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); - /** Email of person performing recording */ + /** + * Email of person performing recording + * @type {Array} + * @instance + */ this.authorEmail = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); - /** Start time of recording, in Unix time */ + /** + * Start time of recording, in Unix time + * @type {number} + * @instance + */ this.startTime = 0; - /** stop time of recording, in Unix time */ + /** + * stop time of recording, in Unix time + * @type {number} + * @instance + */ this.stopTime = 0; - /** how many PDUs in this stream */ + /** + * how many PDUs in this stream + * @type {number} + * @instance + */ this.pduCount = 0; - /** variable length list of PDUs */ + /** + * variable length list of PDUs + * @type {number} + * @instance + */ this.pdusInStream = new Array(); + /** + * @param {InputStream} inputStream + */ dis.PduStream.prototype.initFromBinary = function(inputStream) { for(var idx = 0; idx < 256; idx++) @@ -73,6 +112,9 @@ dis.PduStream = function() }; + /** + * @param {OutputStream} outputStream + */ dis.PduStream.prototype.encodeToBinary = function(outputStream) { for(var idx = 0; idx < 256; idx++) diff --git a/src/dis/Point.js b/src/dis/Point.js index 2d8fef8..9722d31 100644 --- a/src/dis/Point.js +++ b/src/dis/Point.js @@ -17,20 +17,38 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.Point = function() { - /** x */ + /** + * x + * @type {number} + * @instance + */ this.x = 0; - /** y */ + /** + * y + * @type {number} + * @instance + */ this.y = 0; + /** + * @param {InputStream} inputStream + */ dis.Point.prototype.initFromBinary = function(inputStream) { this.x = inputStream.readFloat32(); this.y = inputStream.readFloat32(); }; + /** + * @param {OutputStream} outputStream + */ dis.Point.prototype.encodeToBinary = function(outputStream) { outputStream.writeFloat32(this.x); diff --git a/src/dis/PointObjectStatePdu.js b/src/dis/PointObjectStatePdu.js index 7865ae8..4a68765 100644 --- a/src/dis/PointObjectStatePdu.js +++ b/src/dis/PointObjectStatePdu.js @@ -17,65 +17,148 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.PointObjectStatePdu = function() { - /** The version of the protocol. 5=DIS-1995, 6=DIS-1998. */ + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + * @type {number} + * @instance + */ this.protocolVersion = 6; - /** Exercise ID */ + /** + * Exercise ID + * @type {number} + * @instance + */ this.exerciseID = 0; - /** Type of pdu, unique for each PDU class */ + /** + * Type of pdu, unique for each PDU class + * @type {number} + * @instance + */ this.pduType = 43; - /** value that refers to the protocol family, eg SimulationManagement, et */ + /** + * value that refers to the protocol family, eg SimulationManagement, et + * @type {number} + * @instance + */ this.protocolFamily = 9; - /** Timestamp value */ + /** + * Timestamp value + * @type {number} + * @instance + */ this.timestamp = 0; - /** Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word */ + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + * @type {number} + * @instance + */ this.pduLength = 0; - /** zero-filled array of padding */ + /** + * zero-filled array of padding + * @type {number} + * @instance + */ this.padding = 0; - /** Object in synthetic environment */ + /** + * Object in synthetic environment + * @type {EntityID} + * @instance + */ this.objectID = new dis.EntityID(); - /** Object with which this point object is associated */ + /** + * Object with which this point object is associated + * @type {EntityID} + * @instance + */ this.referencedObjectID = new dis.EntityID(); - /** unique update number of each state transition of an object */ + /** + * unique update number of each state transition of an object + * @type {number} + * @instance + */ this.updateNumber = 0; - /** force ID */ + /** + * force ID + * @type {number} + * @instance + */ this.forceID = 0; - /** modifications */ + /** + * modifications + * @type {number} + * @instance + */ this.modifications = 0; - /** Object type */ + /** + * Object type + * @type {EntityType} + * @instance + */ this.objectType = new dis.ObjectType(); - /** Object location */ + /** + * Object location + * @type {Vector3Double} + * @instance + */ this.objectLocation = new dis.Vector3Double(); - /** Object orientation */ + /** + * Object orientation + * @type {Orientation} + * @instance + */ this.objectOrientation = new dis.Orientation(); - /** Object apperance */ + /** + * Object apperance + * @type {number} + * @instance + */ this.objectAppearance = 0; - /** requesterID */ + /** + * requesterID + * @type {SimulationAddress} + * @instance + */ this.requesterID = new dis.SimulationAddress(); - /** receiver ID */ + /** + * receiver ID + * @type {SimulationAddress} + * @instance + */ this.receivingID = new dis.SimulationAddress(); - /** padding */ + /** + * padding + * @type {number} + * @instance + */ this.pad2 = 0; + /** + * @param {InputStream} inputStream + */ dis.PointObjectStatePdu.prototype.initFromBinary = function(inputStream) { this.protocolVersion = inputStream.readUByte(); @@ -99,6 +182,9 @@ dis.PointObjectStatePdu = function() this.pad2 = inputStream.readUInt(); }; + /** + * @param {OutputStream} outputStream + */ dis.PointObjectStatePdu.prototype.encodeToBinary = function(outputStream) { outputStream.writeUByte(this.protocolVersion); diff --git a/src/dis/PropulsionSystemData.js b/src/dis/PropulsionSystemData.js index e9f4d66..4800a41 100644 --- a/src/dis/PropulsionSystemData.js +++ b/src/dis/PropulsionSystemData.js @@ -17,20 +17,38 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.PropulsionSystemData = function() { - /** powerSetting */ + /** + * powerSetting + * @type {number} + * @instance + */ this.powerSetting = 0; - /** engine RPMs */ + /** + * engine RPMs + * @type {number} + * @instance + */ this.engineRpm = 0; + /** + * @param {InputStream} inputStream + */ dis.PropulsionSystemData.prototype.initFromBinary = function(inputStream) { this.powerSetting = inputStream.readFloat32(); this.engineRpm = inputStream.readFloat32(); }; + /** + * @param {OutputStream} outputStream + */ dis.PropulsionSystemData.prototype.encodeToBinary = function(outputStream) { outputStream.writeFloat32(this.powerSetting); diff --git a/src/dis/RadioCommunicationsFamilyPdu.js b/src/dis/RadioCommunicationsFamilyPdu.js index ae56447..d2f247b 100644 --- a/src/dis/RadioCommunicationsFamilyPdu.js +++ b/src/dis/RadioCommunicationsFamilyPdu.js @@ -17,29 +17,64 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.RadioCommunicationsFamilyPdu = function() { - /** The version of the protocol. 5=DIS-1995, 6=DIS-1998. */ + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + * @type {number} + * @instance + */ this.protocolVersion = 6; - /** Exercise ID */ + /** + * Exercise ID + * @type {number} + * @instance + */ this.exerciseID = 0; - /** Type of pdu, unique for each PDU class */ + /** + * Type of pdu, unique for each PDU class + * @type {number} + * @instance + */ this.pduType = 0; - /** value that refers to the protocol family, eg SimulationManagement, et */ + /** + * value that refers to the protocol family, eg SimulationManagement, et + * @type {number} + * @instance + */ this.protocolFamily = 4; - /** Timestamp value */ + /** + * Timestamp value + * @type {number} + * @instance + */ this.timestamp = 0; - /** Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word */ + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + * @type {number} + * @instance + */ this.pduLength = 0; - /** zero-filled array of padding */ + /** + * zero-filled array of padding + * @type {number} + * @instance + */ this.padding = 0; + /** + * @param {InputStream} inputStream + */ dis.RadioCommunicationsFamilyPdu.prototype.initFromBinary = function(inputStream) { this.protocolVersion = inputStream.readUByte(); @@ -51,6 +86,9 @@ dis.RadioCommunicationsFamilyPdu = function() this.padding = inputStream.readShort(); }; + /** + * @param {OutputStream} outputStream + */ dis.RadioCommunicationsFamilyPdu.prototype.encodeToBinary = function(outputStream) { outputStream.writeUByte(this.protocolVersion); diff --git a/src/dis/RadioEntityType.js b/src/dis/RadioEntityType.js index f5b9692..27a7f5f 100644 --- a/src/dis/RadioEntityType.js +++ b/src/dis/RadioEntityType.js @@ -17,25 +17,56 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.RadioEntityType = function() { - /** Kind of entity */ + /** + * Kind of entity + * @type {number} + * @instance + */ this.entityKind = 0; - /** Domain of entity (air, surface, subsurface, space, etc) */ + /** + * Domain of entity (air, surface, subsurface, space, etc) + * @type {number} + * @instance + */ this.domain = 0; - /** country to which the design of the entity is attributed */ + /** + * country to which the design of the entity is attributed + * @type {number} + * @instance + */ this.country = 0; - /** category of entity */ + /** + * category of entity + * @type {number} + * @instance + */ this.category = 0; - /** specific info based on subcategory field */ + /** + * specific info based on subcategory field + * @type {number} + * @instance + */ this.nomenclatureVersion = 0; + /** + * @type {number} + * @instance + */ this.nomenclature = 0; + /** + * @param {InputStream} inputStream + */ dis.RadioEntityType.prototype.initFromBinary = function(inputStream) { this.entityKind = inputStream.readUByte(); @@ -46,6 +77,9 @@ dis.RadioEntityType = function() this.nomenclature = inputStream.readUShort(); }; + /** + * @param {OutputStream} outputStream + */ dis.RadioEntityType.prototype.encodeToBinary = function(outputStream) { outputStream.writeUByte(this.entityKind); diff --git a/src/dis/ReceiverPdu.js b/src/dis/ReceiverPdu.js index 38d9351..a20f67e 100644 --- a/src/dis/ReceiverPdu.js +++ b/src/dis/ReceiverPdu.js @@ -17,50 +17,113 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.ReceiverPdu = function() { - /** The version of the protocol. 5=DIS-1995, 6=DIS-1998. */ + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + * @type {number} + * @instance + */ this.protocolVersion = 6; - /** Exercise ID */ + /** + * Exercise ID + * @type {number} + * @instance + */ this.exerciseID = 0; - /** Type of pdu, unique for each PDU class */ + /** + * Type of pdu, unique for each PDU class + * @type {number} + * @instance + */ this.pduType = 27; - /** value that refers to the protocol family, eg SimulationManagement, et */ + /** + * value that refers to the protocol family, eg SimulationManagement, et + * @type {number} + * @instance + */ this.protocolFamily = 4; - /** Timestamp value */ + /** + * Timestamp value + * @type {number} + * @instance + */ this.timestamp = 0; - /** Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word */ + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + * @type {number} + * @instance + */ this.pduLength = 0; - /** zero-filled array of padding */ + /** + * zero-filled array of padding + * @type {number} + * @instance + */ this.padding = 0; - /** ID of the entity that is the source of the communication, ie contains the radio */ + /** + * ID of the entity that is the source of the communication, ie contains the radio + * @type {EntityID} + * @instance + */ this.entityId = new dis.EntityID(); - /** particular radio within an entity */ + /** + * particular radio within an entity + * @type {number} + * @instance + */ this.radioId = 0; - /** encoding scheme used, and enumeration */ + /** + * encoding scheme used, and enumeration + * @type {number} + * @instance + */ this.receiverState = 0; - /** padding */ + /** + * padding + * @type {number} + * @instance + */ this.padding1 = 0; - /** received power */ + /** + * received power + * @type {number} + * @instance + */ this.receivedPower = 0; - /** ID of transmitter */ + /** + * ID of transmitter + * @type {EntityID} + * @instance + */ this.transmitterEntityId = new dis.EntityID(); - /** ID of transmitting radio */ + /** + * ID of transmitting radio + * @type {number} + * @instance + */ this.transmitterRadioId = 0; + /** + * @param {InputStream} inputStream + */ dis.ReceiverPdu.prototype.initFromBinary = function(inputStream) { this.protocolVersion = inputStream.readUByte(); @@ -79,6 +142,9 @@ dis.ReceiverPdu = function() this.transmitterRadioId = inputStream.readUShort(); }; + /** + * @param {OutputStream} outputStream + */ dis.ReceiverPdu.prototype.encodeToBinary = function(outputStream) { outputStream.writeUByte(this.protocolVersion); diff --git a/src/dis/RecordQueryReliablePdu.js b/src/dis/RecordQueryReliablePdu.js index 597a458..dfb66d5 100644 --- a/src/dis/RecordQueryReliablePdu.js +++ b/src/dis/RecordQueryReliablePdu.js @@ -17,59 +17,134 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.RecordQueryReliablePdu = function() { - /** The version of the protocol. 5=DIS-1995, 6=DIS-1998. */ + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + * @type {number} + * @instance + */ this.protocolVersion = 6; - /** Exercise ID */ + /** + * Exercise ID + * @type {number} + * @instance + */ this.exerciseID = 0; - /** Type of pdu, unique for each PDU class */ + /** + * Type of pdu, unique for each PDU class + * @type {number} + * @instance + */ this.pduType = 65; - /** value that refers to the protocol family, eg SimulationManagement, et */ + /** + * value that refers to the protocol family, eg SimulationManagement, et + * @type {number} + * @instance + */ this.protocolFamily = 10; - /** Timestamp value */ + /** + * Timestamp value + * @type {number} + * @instance + */ this.timestamp = 0; - /** Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word */ + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + * @type {number} + * @instance + */ this.pduLength = 0; - /** zero-filled array of padding */ + /** + * zero-filled array of padding + * @type {number} + * @instance + */ this.padding = 0; - /** Object originatig the request */ + /** + * Object originatig the request + * @type {EntityID} + * @instance + */ this.originatingEntityID = new dis.EntityID(); - /** Object with which this point object is associated */ + /** + * Object with which this point object is associated + * @type {EntityID} + * @instance + */ this.receivingEntityID = new dis.EntityID(); - /** request ID */ + /** + * request ID + * @type {number} + * @instance + */ this.requestID = 0; - /** level of reliability service used for this transaction */ + /** + * level of reliability service used for this transaction + * @type {number} + * @instance + */ this.requiredReliabilityService = 0; - /** padding. The spec is unclear and contradictory here. */ + /** + * padding. The spec is unclear and contradictory here. + * @type {number} + * @instance + */ this.pad1 = 0; - /** padding */ + /** + * padding + * @type {number} + * @instance + */ this.pad2 = 0; - /** event type */ + /** + * event type + * @type {number} + * @instance + */ this.eventType = 0; - /** time */ + /** + * time + * @type {number} + * @instance + */ this.time = 0; - /** numberOfRecords */ + /** + * numberOfRecords + * @type {number} + * @instance + */ this.numberOfRecords = 0; - /** record IDs */ + /** + * record IDs + * @type {Array} + * @instance + */ this.recordIDs = new Array(); + /** + * @param {InputStream} inputStream + */ dis.RecordQueryReliablePdu.prototype.initFromBinary = function(inputStream) { this.protocolVersion = inputStream.readUByte(); @@ -97,6 +172,9 @@ dis.RecordQueryReliablePdu = function() }; + /** + * @param {OutputStream} outputStream + */ dis.RecordQueryReliablePdu.prototype.encodeToBinary = function(outputStream) { outputStream.writeUByte(this.protocolVersion); diff --git a/src/dis/RecordSet.js b/src/dis/RecordSet.js index 06b771b..3551c08 100644 --- a/src/dis/RecordSet.js +++ b/src/dis/RecordSet.js @@ -17,26 +17,57 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.RecordSet = function() { - /** record ID */ + /** + * record ID + * @type {number} + * @instance + */ this.recordID = 0; - /** record set serial number */ + /** + * record set serial number + * @type {number} + * @instance + */ this.recordSetSerialNumber = 0; - /** record length */ + /** + * record length + * @type {number} + * @instance + */ this.recordLength = 0; - /** record count */ + /** + * record count + * @type {number} + * @instance + */ this.recordCount = 0; - /** ^^^This is wrong--variable sized data records */ + /** + * ^^^This is wrong--variable sized data records + * @type {number} + * @instance + */ this.recordValues = 0; - /** ^^^This is wrong--variable sized padding */ + /** + * ^^^This is wrong--variable sized padding + * @type {number} + * @instance + */ this.pad4 = 0; + /** + * @param {InputStream} inputStream + */ dis.RecordSet.prototype.initFromBinary = function(inputStream) { this.recordID = inputStream.readUInt(); @@ -47,6 +78,9 @@ dis.RecordSet = function() this.pad4 = inputStream.readUByte(); }; + /** + * @param {OutputStream} outputStream + */ dis.RecordSet.prototype.encodeToBinary = function(outputStream) { outputStream.writeUInt(this.recordID); diff --git a/src/dis/Relationship.js b/src/dis/Relationship.js index ec26501..dadfe50 100644 --- a/src/dis/Relationship.js +++ b/src/dis/Relationship.js @@ -17,20 +17,38 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.Relationship = function() { - /** Nature of join */ + /** + * Nature of join + * @type {number} + * @instance + */ this.nature = 0; - /** position of join */ + /** + * position of join + * @type {number} + * @instance + */ this.position = 0; + /** + * @param {InputStream} inputStream + */ dis.Relationship.prototype.initFromBinary = function(inputStream) { this.nature = inputStream.readUShort(); this.position = inputStream.readUShort(); }; + /** + * @param {OutputStream} outputStream + */ dis.Relationship.prototype.encodeToBinary = function(outputStream) { outputStream.writeUShort(this.nature); diff --git a/src/dis/RemoveEntityPdu.js b/src/dis/RemoveEntityPdu.js index 062a332..b5ec041 100644 --- a/src/dis/RemoveEntityPdu.js +++ b/src/dis/RemoveEntityPdu.js @@ -17,38 +17,85 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.RemoveEntityPdu = function() { - /** The version of the protocol. 5=DIS-1995, 6=DIS-1998. */ + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + * @type {number} + * @instance + */ this.protocolVersion = 6; - /** Exercise ID */ + /** + * Exercise ID + * @type {number} + * @instance + */ this.exerciseID = 0; - /** Type of pdu, unique for each PDU class */ + /** + * Type of pdu, unique for each PDU class + * @type {number} + * @instance + */ this.pduType = 12; - /** value that refers to the protocol family, eg SimulationManagement, et */ + /** + * value that refers to the protocol family, eg SimulationManagement, et + * @type {number} + * @instance + */ this.protocolFamily = 5; - /** Timestamp value */ + /** + * Timestamp value + * @type {number} + * @instance + */ this.timestamp = 0; - /** Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word */ + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + * @type {number} + * @instance + */ this.pduLength = 0; - /** zero-filled array of padding */ + /** + * zero-filled array of padding + * @type {number} + * @instance + */ this.padding = 0; - /** Entity that is sending message */ + /** + * Entity that is sending message + * @type {EntityID} + * @instance + */ this.originatingEntityID = new dis.EntityID(); - /** Entity that is intended to receive message */ + /** + * Entity that is intended to receive message + * @type {EntityID} + * @instance + */ this.receivingEntityID = new dis.EntityID(); - /** Identifier for the request */ + /** + * Identifier for the request + * @type {number} + * @instance + */ this.requestID = 0; + /** + * @param {InputStream} inputStream + */ dis.RemoveEntityPdu.prototype.initFromBinary = function(inputStream) { this.protocolVersion = inputStream.readUByte(); @@ -63,6 +110,9 @@ dis.RemoveEntityPdu = function() this.requestID = inputStream.readUInt(); }; + /** + * @param {OutputStream} outputStream + */ dis.RemoveEntityPdu.prototype.encodeToBinary = function(outputStream) { outputStream.writeUByte(this.protocolVersion); diff --git a/src/dis/RemoveEntityReliablePdu.js b/src/dis/RemoveEntityReliablePdu.js index 556534b..201a25c 100644 --- a/src/dis/RemoveEntityReliablePdu.js +++ b/src/dis/RemoveEntityReliablePdu.js @@ -17,47 +17,106 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.RemoveEntityReliablePdu = function() { - /** The version of the protocol. 5=DIS-1995, 6=DIS-1998. */ + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + * @type {number} + * @instance + */ this.protocolVersion = 6; - /** Exercise ID */ + /** + * Exercise ID + * @type {number} + * @instance + */ this.exerciseID = 0; - /** Type of pdu, unique for each PDU class */ + /** + * Type of pdu, unique for each PDU class + * @type {number} + * @instance + */ this.pduType = 52; - /** value that refers to the protocol family, eg SimulationManagement, et */ + /** + * value that refers to the protocol family, eg SimulationManagement, et + * @type {number} + * @instance + */ this.protocolFamily = 10; - /** Timestamp value */ + /** + * Timestamp value + * @type {number} + * @instance + */ this.timestamp = 0; - /** Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word */ + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + * @type {number} + * @instance + */ this.pduLength = 0; - /** zero-filled array of padding */ + /** + * zero-filled array of padding + * @type {number} + * @instance + */ this.padding = 0; - /** Object originatig the request */ + /** + * Object originatig the request + * @type {EntityID} + * @instance + */ this.originatingEntityID = new dis.EntityID(); - /** Object with which this point object is associated */ + /** + * Object with which this point object is associated + * @type {EntityID} + * @instance + */ this.receivingEntityID = new dis.EntityID(); - /** level of reliability service used for this transaction */ + /** + * level of reliability service used for this transaction + * @type {number} + * @instance + */ this.requiredReliabilityService = 0; - /** padding */ + /** + * padding + * @type {number} + * @instance + */ this.pad1 = 0; - /** padding */ + /** + * padding + * @type {number} + * @instance + */ this.pad2 = 0; - /** Request ID */ + /** + * Request ID + * @type {number} + * @instance + */ this.requestID = 0; + /** + * @param {InputStream} inputStream + */ dis.RemoveEntityReliablePdu.prototype.initFromBinary = function(inputStream) { this.protocolVersion = inputStream.readUByte(); @@ -75,6 +134,9 @@ dis.RemoveEntityReliablePdu = function() this.requestID = inputStream.readUInt(); }; + /** + * @param {OutputStream} outputStream + */ dis.RemoveEntityReliablePdu.prototype.encodeToBinary = function(outputStream) { outputStream.writeUByte(this.protocolVersion); diff --git a/src/dis/RepairCompletePdu.js b/src/dis/RepairCompletePdu.js index dc5cb76..f44a220 100644 --- a/src/dis/RepairCompletePdu.js +++ b/src/dis/RepairCompletePdu.js @@ -17,41 +17,92 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.RepairCompletePdu = function() { - /** The version of the protocol. 5=DIS-1995, 6=DIS-1998. */ + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + * @type {number} + * @instance + */ this.protocolVersion = 6; - /** Exercise ID */ + /** + * Exercise ID + * @type {number} + * @instance + */ this.exerciseID = 0; - /** Type of pdu, unique for each PDU class */ + /** + * Type of pdu, unique for each PDU class + * @type {number} + * @instance + */ this.pduType = 9; - /** value that refers to the protocol family, eg SimulationManagement, et */ + /** + * value that refers to the protocol family, eg SimulationManagement, et + * @type {number} + * @instance + */ this.protocolFamily = 3; - /** Timestamp value */ + /** + * Timestamp value + * @type {number} + * @instance + */ this.timestamp = 0; - /** Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word */ + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + * @type {number} + * @instance + */ this.pduLength = 0; - /** zero-filled array of padding */ + /** + * zero-filled array of padding + * @type {number} + * @instance + */ this.padding = 0; - /** Entity that is receiving service */ + /** + * Entity that is receiving service + * @type {EntityID} + * @instance + */ this.receivingEntityID = new dis.EntityID(); - /** Entity that is supplying */ + /** + * Entity that is supplying + * @type {EntityID} + * @instance + */ this.repairingEntityID = new dis.EntityID(); - /** Enumeration for type of repair */ + /** + * Enumeration for type of repair + * @type {number} + * @instance + */ this.repair = 0; - /** padding, number prevents conflict with superclass ivar name */ + /** + * padding, number prevents conflict with superclass ivar name + * @type {number} + * @instance + */ this.padding2 = 0; + /** + * @param {InputStream} inputStream + */ dis.RepairCompletePdu.prototype.initFromBinary = function(inputStream) { this.protocolVersion = inputStream.readUByte(); @@ -67,6 +118,9 @@ dis.RepairCompletePdu = function() this.padding2 = inputStream.readShort(); }; + /** + * @param {OutputStream} outputStream + */ dis.RepairCompletePdu.prototype.encodeToBinary = function(outputStream) { outputStream.writeUByte(this.protocolVersion); diff --git a/src/dis/RepairResponsePdu.js b/src/dis/RepairResponsePdu.js index 84f3c8b..8bfafa0 100644 --- a/src/dis/RepairResponsePdu.js +++ b/src/dis/RepairResponsePdu.js @@ -17,44 +17,99 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.RepairResponsePdu = function() { - /** The version of the protocol. 5=DIS-1995, 6=DIS-1998. */ + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + * @type {number} + * @instance + */ this.protocolVersion = 6; - /** Exercise ID */ + /** + * Exercise ID + * @type {number} + * @instance + */ this.exerciseID = 0; - /** Type of pdu, unique for each PDU class */ + /** + * Type of pdu, unique for each PDU class + * @type {number} + * @instance + */ this.pduType = 10; - /** value that refers to the protocol family, eg SimulationManagement, et */ + /** + * value that refers to the protocol family, eg SimulationManagement, et + * @type {number} + * @instance + */ this.protocolFamily = 3; - /** Timestamp value */ + /** + * Timestamp value + * @type {number} + * @instance + */ this.timestamp = 0; - /** Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word */ + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + * @type {number} + * @instance + */ this.pduLength = 0; - /** zero-filled array of padding */ + /** + * zero-filled array of padding + * @type {number} + * @instance + */ this.padding = 0; - /** Entity that is receiving service */ + /** + * Entity that is receiving service + * @type {EntityID} + * @instance + */ this.receivingEntityID = new dis.EntityID(); - /** Entity that is supplying */ + /** + * Entity that is supplying + * @type {EntityID} + * @instance + */ this.repairingEntityID = new dis.EntityID(); - /** Result of repair operation */ + /** + * Result of repair operation + * @type {number} + * @instance + */ this.repairResult = 0; - /** padding */ + /** + * padding + * @type {number} + * @instance + */ this.padding1 = 0; - /** padding */ + /** + * padding + * @type {number} + * @instance + */ this.padding2 = 0; + /** + * @param {InputStream} inputStream + */ dis.RepairResponsePdu.prototype.initFromBinary = function(inputStream) { this.protocolVersion = inputStream.readUByte(); @@ -71,6 +126,9 @@ dis.RepairResponsePdu = function() this.padding2 = inputStream.readByte(); }; + /** + * @param {OutputStream} outputStream + */ dis.RepairResponsePdu.prototype.encodeToBinary = function(outputStream) { outputStream.writeUByte(this.protocolVersion); diff --git a/src/dis/ResupplyCancelPdu.js b/src/dis/ResupplyCancelPdu.js index a6a12b9..f484812 100644 --- a/src/dis/ResupplyCancelPdu.js +++ b/src/dis/ResupplyCancelPdu.js @@ -17,35 +17,78 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.ResupplyCancelPdu = function() { - /** The version of the protocol. 5=DIS-1995, 6=DIS-1998. */ + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + * @type {number} + * @instance + */ this.protocolVersion = 6; - /** Exercise ID */ + /** + * Exercise ID + * @type {number} + * @instance + */ this.exerciseID = 0; - /** Type of pdu, unique for each PDU class */ + /** + * Type of pdu, unique for each PDU class + * @type {number} + * @instance + */ this.pduType = 8; - /** value that refers to the protocol family, eg SimulationManagement, et */ + /** + * value that refers to the protocol family, eg SimulationManagement, et + * @type {number} + * @instance + */ this.protocolFamily = 3; - /** Timestamp value */ + /** + * Timestamp value + * @type {number} + * @instance + */ this.timestamp = 0; - /** Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word */ + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + * @type {number} + * @instance + */ this.pduLength = 0; - /** zero-filled array of padding */ + /** + * zero-filled array of padding + * @type {number} + * @instance + */ this.padding = 0; - /** Entity that is receiving service */ + /** + * Entity that is receiving service + * @type {EntityID} + * @instance + */ this.receivingEntityID = new dis.EntityID(); - /** Entity that is supplying */ + /** + * Entity that is supplying + * @type {EntityID} + * @instance + */ this.supplyingEntityID = new dis.EntityID(); + /** + * @param {InputStream} inputStream + */ dis.ResupplyCancelPdu.prototype.initFromBinary = function(inputStream) { this.protocolVersion = inputStream.readUByte(); @@ -59,6 +102,9 @@ dis.ResupplyCancelPdu = function() this.supplyingEntityID.initFromBinary(inputStream); }; + /** + * @param {OutputStream} outputStream + */ dis.ResupplyCancelPdu.prototype.encodeToBinary = function(outputStream) { outputStream.writeUByte(this.protocolVersion); diff --git a/src/dis/ResupplyOfferPdu.js b/src/dis/ResupplyOfferPdu.js index c60f3c9..eb19afa 100644 --- a/src/dis/ResupplyOfferPdu.js +++ b/src/dis/ResupplyOfferPdu.js @@ -17,46 +17,105 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.ResupplyOfferPdu = function() { - /** The version of the protocol. 5=DIS-1995, 6=DIS-1998. */ + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + * @type {number} + * @instance + */ this.protocolVersion = 6; - /** Exercise ID */ + /** + * Exercise ID + * @type {number} + * @instance + */ this.exerciseID = 0; - /** Type of pdu, unique for each PDU class */ + /** + * Type of pdu, unique for each PDU class + * @type {number} + * @instance + */ this.pduType = 6; - /** value that refers to the protocol family, eg SimulationManagement, et */ + /** + * value that refers to the protocol family, eg SimulationManagement, et + * @type {number} + * @instance + */ this.protocolFamily = 3; - /** Timestamp value */ + /** + * Timestamp value + * @type {number} + * @instance + */ this.timestamp = 0; - /** Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word */ + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + * @type {number} + * @instance + */ this.pduLength = 0; - /** zero-filled array of padding */ + /** + * zero-filled array of padding + * @type {number} + * @instance + */ this.padding = 0; - /** Entity that is receiving service */ + /** + * Entity that is receiving service + * @type {EntityID} + * @instance + */ this.receivingEntityID = new dis.EntityID(); - /** Entity that is supplying */ + /** + * Entity that is supplying + * @type {EntityID} + * @instance + */ this.supplyingEntityID = new dis.EntityID(); - /** how many supplies are being offered */ + /** + * how many supplies are being offered + * @type {number} + * @instance + */ this.numberOfSupplyTypes = 0; - /** padding */ + /** + * padding + * @type {number} + * @instance + */ this.padding1 = 0; - /** padding */ + /** + * padding + * @type {number} + * @instance + */ this.padding2 = 0; + /** + * @type {Array} + * @instance + */ this.supplies = new Array(); + /** + * @param {InputStream} inputStream + */ dis.ResupplyOfferPdu.prototype.initFromBinary = function(inputStream) { this.protocolVersion = inputStream.readUByte(); @@ -80,6 +139,9 @@ dis.ResupplyOfferPdu = function() }; + /** + * @param {OutputStream} outputStream + */ dis.ResupplyOfferPdu.prototype.encodeToBinary = function(outputStream) { outputStream.writeUByte(this.protocolVersion); diff --git a/src/dis/ResupplyReceivedPdu.js b/src/dis/ResupplyReceivedPdu.js index c665126..eec4dd4 100644 --- a/src/dis/ResupplyReceivedPdu.js +++ b/src/dis/ResupplyReceivedPdu.js @@ -17,46 +17,105 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.ResupplyReceivedPdu = function() { - /** The version of the protocol. 5=DIS-1995, 6=DIS-1998. */ + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + * @type {number} + * @instance + */ this.protocolVersion = 6; - /** Exercise ID */ + /** + * Exercise ID + * @type {number} + * @instance + */ this.exerciseID = 0; - /** Type of pdu, unique for each PDU class */ + /** + * Type of pdu, unique for each PDU class + * @type {number} + * @instance + */ this.pduType = 7; - /** value that refers to the protocol family, eg SimulationManagement, et */ + /** + * value that refers to the protocol family, eg SimulationManagement, et + * @type {number} + * @instance + */ this.protocolFamily = 3; - /** Timestamp value */ + /** + * Timestamp value + * @type {number} + * @instance + */ this.timestamp = 0; - /** Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word */ + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + * @type {number} + * @instance + */ this.pduLength = 0; - /** zero-filled array of padding */ + /** + * zero-filled array of padding + * @type {number} + * @instance + */ this.padding = 0; - /** Entity that is receiving service */ + /** + * Entity that is receiving service + * @type {EntityID} + * @instance + */ this.receivingEntityID = new dis.EntityID(); - /** Entity that is supplying */ + /** + * Entity that is supplying + * @type {EntityID} + * @instance + */ this.supplyingEntityID = new dis.EntityID(); - /** how many supplies are being offered */ + /** + * how many supplies are being offered + * @type {number} + * @instance + */ this.numberOfSupplyTypes = 0; - /** padding */ + /** + * padding + * @type {number} + * @instance + */ this.padding1 = 0; - /** padding */ + /** + * padding + * @type {number} + * @instance + */ this.padding2 = 0; + /** + * @type {Array} + * @instance + */ this.supplies = new Array(); + /** + * @param {InputStream} inputStream + */ dis.ResupplyReceivedPdu.prototype.initFromBinary = function(inputStream) { this.protocolVersion = inputStream.readUByte(); @@ -80,6 +139,9 @@ dis.ResupplyReceivedPdu = function() }; + /** + * @param {OutputStream} outputStream + */ dis.ResupplyReceivedPdu.prototype.encodeToBinary = function(outputStream) { outputStream.writeUByte(this.protocolVersion); diff --git a/src/dis/SeesPdu.js b/src/dis/SeesPdu.js index 9dbd58f..809f179 100644 --- a/src/dis/SeesPdu.js +++ b/src/dis/SeesPdu.js @@ -17,53 +17,120 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.SeesPdu = function() { - /** The version of the protocol. 5=DIS-1995, 6=DIS-1998. */ + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + * @type {number} + * @instance + */ this.protocolVersion = 6; - /** Exercise ID */ + /** + * Exercise ID + * @type {number} + * @instance + */ this.exerciseID = 0; - /** Type of pdu, unique for each PDU class */ + /** + * Type of pdu, unique for each PDU class + * @type {number} + * @instance + */ this.pduType = 30; - /** value that refers to the protocol family, eg SimulationManagement, et */ + /** + * value that refers to the protocol family, eg SimulationManagement, et + * @type {number} + * @instance + */ this.protocolFamily = 6; - /** Timestamp value */ + /** + * Timestamp value + * @type {number} + * @instance + */ this.timestamp = 0; - /** Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word */ + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + * @type {number} + * @instance + */ this.pduLength = 0; - /** zero-filled array of padding */ + /** + * zero-filled array of padding + * @type {number} + * @instance + */ this.padding = 0; - /** Originating entity ID */ + /** + * Originating entity ID + * @type {EntityID} + * @instance + */ this.orginatingEntityID = new dis.EntityID(); - /** IR Signature representation index */ + /** + * IR Signature representation index + * @type {number} + * @instance + */ this.infraredSignatureRepresentationIndex = 0; - /** acoustic Signature representation index */ + /** + * acoustic Signature representation index + * @type {number} + * @instance + */ this.acousticSignatureRepresentationIndex = 0; - /** radar cross section representation index */ + /** + * radar cross section representation index + * @type {number} + * @instance + */ this.radarCrossSectionSignatureRepresentationIndex = 0; - /** how many propulsion systems */ + /** + * how many propulsion systems + * @type {number} + * @instance + */ this.numberOfPropulsionSystems = 0; - /** how many vectoring nozzle systems */ + /** + * how many vectoring nozzle systems + * @type {number} + * @instance + */ this.numberOfVectoringNozzleSystems = 0; - /** variable length list of propulsion system data */ + /** + * variable length list of propulsion system data + * @type {Array} + * @instance + */ this.propulsionSystemData = new Array(); - /** variable length list of vectoring system data */ + /** + * variable length list of vectoring system data + * @type {Array} + * @instance + */ this.vectoringSystemData = new Array(); + /** + * @param {InputStream} inputStream + */ dis.SeesPdu.prototype.initFromBinary = function(inputStream) { this.protocolVersion = inputStream.readUByte(); @@ -95,6 +162,9 @@ dis.SeesPdu = function() }; + /** + * @param {OutputStream} outputStream + */ dis.SeesPdu.prototype.encodeToBinary = function(outputStream) { outputStream.writeUByte(this.protocolVersion); diff --git a/src/dis/ServiceRequestPdu.js b/src/dis/ServiceRequestPdu.js index 2642940..5ea24aa 100644 --- a/src/dis/ServiceRequestPdu.js +++ b/src/dis/ServiceRequestPdu.js @@ -17,46 +17,105 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.ServiceRequestPdu = function() { - /** The version of the protocol. 5=DIS-1995, 6=DIS-1998. */ + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + * @type {number} + * @instance + */ this.protocolVersion = 6; - /** Exercise ID */ + /** + * Exercise ID + * @type {number} + * @instance + */ this.exerciseID = 0; - /** Type of pdu, unique for each PDU class */ + /** + * Type of pdu, unique for each PDU class + * @type {number} + * @instance + */ this.pduType = 5; - /** value that refers to the protocol family, eg SimulationManagement, et */ + /** + * value that refers to the protocol family, eg SimulationManagement, et + * @type {number} + * @instance + */ this.protocolFamily = 3; - /** Timestamp value */ + /** + * Timestamp value + * @type {number} + * @instance + */ this.timestamp = 0; - /** Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word */ + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + * @type {number} + * @instance + */ this.pduLength = 0; - /** zero-filled array of padding */ + /** + * zero-filled array of padding + * @type {number} + * @instance + */ this.padding = 0; - /** Entity that is requesting service */ + /** + * Entity that is requesting service + * @type {EntityID} + * @instance + */ this.requestingEntityID = new dis.EntityID(); - /** Entity that is providing the service */ + /** + * Entity that is providing the service + * @type {EntityID} + * @instance + */ this.servicingEntityID = new dis.EntityID(); - /** type of service requested */ + /** + * type of service requested + * @type {number} + * @instance + */ this.serviceTypeRequested = 0; - /** How many requested */ + /** + * How many requested + * @type {number} + * @instance + */ this.numberOfSupplyTypes = 0; - /** padding */ + /** + * padding + * @type {number} + * @instance + */ this.serviceRequestPadding = 0; + /** + * @type {Array} + * @instance + */ this.supplies = new Array(); + /** + * @param {InputStream} inputStream + */ dis.ServiceRequestPdu.prototype.initFromBinary = function(inputStream) { this.protocolVersion = inputStream.readUByte(); @@ -80,6 +139,9 @@ dis.ServiceRequestPdu = function() }; + /** + * @param {OutputStream} outputStream + */ dis.ServiceRequestPdu.prototype.encodeToBinary = function(outputStream) { outputStream.writeUByte(this.protocolVersion); diff --git a/src/dis/SetDataPdu.js b/src/dis/SetDataPdu.js index 679dca8..897ccdc 100644 --- a/src/dis/SetDataPdu.js +++ b/src/dis/SetDataPdu.js @@ -17,53 +17,120 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.SetDataPdu = function() { - /** The version of the protocol. 5=DIS-1995, 6=DIS-1998. */ + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + * @type {number} + * @instance + */ this.protocolVersion = 6; - /** Exercise ID */ + /** + * Exercise ID + * @type {number} + * @instance + */ this.exerciseID = 0; - /** Type of pdu, unique for each PDU class */ + /** + * Type of pdu, unique for each PDU class + * @type {number} + * @instance + */ this.pduType = 19; - /** value that refers to the protocol family, eg SimulationManagement, et */ + /** + * value that refers to the protocol family, eg SimulationManagement, et + * @type {number} + * @instance + */ this.protocolFamily = 5; - /** Timestamp value */ + /** + * Timestamp value + * @type {number} + * @instance + */ this.timestamp = 0; - /** Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word */ + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + * @type {number} + * @instance + */ this.pduLength = 0; - /** zero-filled array of padding */ + /** + * zero-filled array of padding + * @type {number} + * @instance + */ this.padding = 0; - /** Entity that is sending message */ + /** + * Entity that is sending message + * @type {EntityID} + * @instance + */ this.originatingEntityID = new dis.EntityID(); - /** Entity that is intended to receive message */ + /** + * Entity that is intended to receive message + * @type {EntityID} + * @instance + */ this.receivingEntityID = new dis.EntityID(); - /** ID of request */ + /** + * ID of request + * @type {number} + * @instance + */ this.requestID = 0; - /** padding */ + /** + * padding + * @type {number} + * @instance + */ this.padding1 = 0; - /** Number of fixed datum records */ + /** + * Number of fixed datum records + * @type {number} + * @instance + */ this.numberOfFixedDatumRecords = 0; - /** Number of variable datum records */ + /** + * Number of variable datum records + * @type {number} + * @instance + */ this.numberOfVariableDatumRecords = 0; - /** variable length list of fixed datums */ + /** + * variable length list of fixed datums + * @type {Array} + * @instance + */ this.fixedDatums = new Array(); - /** variable length list of variable length datums */ + /** + * variable length list of variable length datums + * @type {Array} + * @instance + */ this.variableDatums = new Array(); + /** + * @param {InputStream} inputStream + */ dis.SetDataPdu.prototype.initFromBinary = function(inputStream) { this.protocolVersion = inputStream.readUByte(); @@ -95,6 +162,9 @@ dis.SetDataPdu = function() }; + /** + * @param {OutputStream} outputStream + */ dis.SetDataPdu.prototype.encodeToBinary = function(outputStream) { outputStream.writeUByte(this.protocolVersion); diff --git a/src/dis/SetDataReliablePdu.js b/src/dis/SetDataReliablePdu.js index 7427bf1..d2139ff 100644 --- a/src/dis/SetDataReliablePdu.js +++ b/src/dis/SetDataReliablePdu.js @@ -17,59 +17,134 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.SetDataReliablePdu = function() { - /** The version of the protocol. 5=DIS-1995, 6=DIS-1998. */ + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + * @type {number} + * @instance + */ this.protocolVersion = 6; - /** Exercise ID */ + /** + * Exercise ID + * @type {number} + * @instance + */ this.exerciseID = 0; - /** Type of pdu, unique for each PDU class */ + /** + * Type of pdu, unique for each PDU class + * @type {number} + * @instance + */ this.pduType = 59; - /** value that refers to the protocol family, eg SimulationManagement, et */ + /** + * value that refers to the protocol family, eg SimulationManagement, et + * @type {number} + * @instance + */ this.protocolFamily = 10; - /** Timestamp value */ + /** + * Timestamp value + * @type {number} + * @instance + */ this.timestamp = 0; - /** Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word */ + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + * @type {number} + * @instance + */ this.pduLength = 0; - /** zero-filled array of padding */ + /** + * zero-filled array of padding + * @type {number} + * @instance + */ this.padding = 0; - /** Object originatig the request */ + /** + * Object originatig the request + * @type {EntityID} + * @instance + */ this.originatingEntityID = new dis.EntityID(); - /** Object with which this point object is associated */ + /** + * Object with which this point object is associated + * @type {EntityID} + * @instance + */ this.receivingEntityID = new dis.EntityID(); - /** level of reliability service used for this transaction */ + /** + * level of reliability service used for this transaction + * @type {number} + * @instance + */ this.requiredReliabilityService = 0; - /** padding */ + /** + * padding + * @type {number} + * @instance + */ this.pad1 = 0; - /** padding */ + /** + * padding + * @type {number} + * @instance + */ this.pad2 = 0; - /** Request ID */ + /** + * Request ID + * @type {number} + * @instance + */ this.requestID = 0; - /** Fixed datum record count */ + /** + * Fixed datum record count + * @type {number} + * @instance + */ this.numberOfFixedDatumRecords = 0; - /** variable datum record count */ + /** + * variable datum record count + * @type {number} + * @instance + */ this.numberOfVariableDatumRecords = 0; - /** Fixed datum records */ + /** + * Fixed datum records + * @type {Array} + * @instance + */ this.fixedDatumRecords = new Array(); - /** Variable datum records */ + /** + * Variable datum records + * @type {Array} + * @instance + */ this.variableDatumRecords = new Array(); + /** + * @param {InputStream} inputStream + */ dis.SetDataReliablePdu.prototype.initFromBinary = function(inputStream) { this.protocolVersion = inputStream.readUByte(); @@ -103,6 +178,9 @@ dis.SetDataReliablePdu = function() }; + /** + * @param {OutputStream} outputStream + */ dis.SetDataReliablePdu.prototype.encodeToBinary = function(outputStream) { outputStream.writeUByte(this.protocolVersion); diff --git a/src/dis/SetRecordReliablePdu.js b/src/dis/SetRecordReliablePdu.js index 088ba8c..34ae157 100644 --- a/src/dis/SetRecordReliablePdu.js +++ b/src/dis/SetRecordReliablePdu.js @@ -17,53 +17,120 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.SetRecordReliablePdu = function() { - /** The version of the protocol. 5=DIS-1995, 6=DIS-1998. */ + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + * @type {number} + * @instance + */ this.protocolVersion = 6; - /** Exercise ID */ + /** + * Exercise ID + * @type {number} + * @instance + */ this.exerciseID = 0; - /** Type of pdu, unique for each PDU class */ + /** + * Type of pdu, unique for each PDU class + * @type {number} + * @instance + */ this.pduType = 64; - /** value that refers to the protocol family, eg SimulationManagement, et */ + /** + * value that refers to the protocol family, eg SimulationManagement, et + * @type {number} + * @instance + */ this.protocolFamily = 10; - /** Timestamp value */ + /** + * Timestamp value + * @type {number} + * @instance + */ this.timestamp = 0; - /** Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word */ + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + * @type {number} + * @instance + */ this.pduLength = 0; - /** zero-filled array of padding */ + /** + * zero-filled array of padding + * @type {number} + * @instance + */ this.padding = 0; - /** Object originatig the request */ + /** + * Object originatig the request + * @type {EntityID} + * @instance + */ this.originatingEntityID = new dis.EntityID(); - /** Object with which this point object is associated */ + /** + * Object with which this point object is associated + * @type {EntityID} + * @instance + */ this.receivingEntityID = new dis.EntityID(); - /** request ID */ + /** + * request ID + * @type {number} + * @instance + */ this.requestID = 0; - /** level of reliability service used for this transaction */ + /** + * level of reliability service used for this transaction + * @type {number} + * @instance + */ this.requiredReliabilityService = 0; - /** padding. The spec is unclear and contradictory here. */ + /** + * padding. The spec is unclear and contradictory here. + * @type {number} + * @instance + */ this.pad1 = 0; - /** padding */ + /** + * padding + * @type {number} + * @instance + */ this.pad2 = 0; - /** Number of record sets in list */ + /** + * Number of record sets in list + * @type {number} + * @instance + */ this.numberOfRecordSets = 0; - /** record sets */ + /** + * record sets + * @type {Array} + * @instance + */ this.recordSets = new Array(); + /** + * @param {InputStream} inputStream + */ dis.SetRecordReliablePdu.prototype.initFromBinary = function(inputStream) { this.protocolVersion = inputStream.readUByte(); @@ -89,6 +156,9 @@ dis.SetRecordReliablePdu = function() }; + /** + * @param {OutputStream} outputStream + */ dis.SetRecordReliablePdu.prototype.encodeToBinary = function(outputStream) { outputStream.writeUByte(this.protocolVersion); diff --git a/src/dis/ShaftRPMs.js b/src/dis/ShaftRPMs.js index aac9708..8c82859 100644 --- a/src/dis/ShaftRPMs.js +++ b/src/dis/ShaftRPMs.js @@ -17,17 +17,36 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.ShaftRPMs = function() { - /** Current shaft RPMs */ + /** + * Current shaft RPMs + * @type {number} + * @instance + */ this.currentShaftRPMs = 0; - /** ordered shaft rpms */ + /** + * ordered shaft rpms + * @type {number} + * @instance + */ this.orderedShaftRPMs = 0; - /** rate of change of shaft RPMs */ + /** + * rate of change of shaft RPMs + * @type {number} + * @instance + */ this.shaftRPMRateOfChange = 0; + /** + * @param {InputStream} inputStream + */ dis.ShaftRPMs.prototype.initFromBinary = function(inputStream) { this.currentShaftRPMs = inputStream.readShort(); @@ -35,6 +54,9 @@ dis.ShaftRPMs = function() this.shaftRPMRateOfChange = inputStream.readFloat32(); }; + /** + * @param {OutputStream} outputStream + */ dis.ShaftRPMs.prototype.encodeToBinary = function(outputStream) { outputStream.writeShort(this.currentShaftRPMs); diff --git a/src/dis/SignalPdu.js b/src/dis/SignalPdu.js index 754985a..b9ea075 100644 --- a/src/dis/SignalPdu.js +++ b/src/dis/SignalPdu.js @@ -17,53 +17,120 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.SignalPdu = function() { - /** The version of the protocol. 5=DIS-1995, 6=DIS-1998. */ + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + * @type {number} + * @instance + */ this.protocolVersion = 6; - /** Exercise ID */ + /** + * Exercise ID + * @type {number} + * @instance + */ this.exerciseID = 0; - /** Type of pdu, unique for each PDU class */ + /** + * Type of pdu, unique for each PDU class + * @type {number} + * @instance + */ this.pduType = 26; - /** value that refers to the protocol family, eg SimulationManagement, et */ + /** + * value that refers to the protocol family, eg SimulationManagement, et + * @type {number} + * @instance + */ this.protocolFamily = 4; - /** Timestamp value */ + /** + * Timestamp value + * @type {number} + * @instance + */ this.timestamp = 0; - /** Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word */ + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + * @type {number} + * @instance + */ this.pduLength = 0; - /** zero-filled array of padding */ + /** + * zero-filled array of padding + * @type {number} + * @instance + */ this.padding = 0; - /** ID of the entity that is the source of the communication, ie contains the radio */ + /** + * ID of the entity that is the source of the communication, ie contains the radio + * @type {EntityID} + * @instance + */ this.entityId = new dis.EntityID(); - /** particular radio within an entity */ + /** + * particular radio within an entity + * @type {number} + * @instance + */ this.radioId = 0; - /** encoding scheme used, and enumeration */ + /** + * encoding scheme used, and enumeration + * @type {number} + * @instance + */ this.encodingScheme = 0; - /** tdl type */ + /** + * tdl type + * @type {number} + * @instance + */ this.tdlType = 0; - /** sample rate */ + /** + * sample rate + * @type {number} + * @instance + */ this.sampleRate = 0; - /** length of data, in bits */ + /** + * length of data, in bits + * @type {number} + * @instance + */ this.dataLength = 0; - /** number of samples. If the PDU contains encoded audio, this should be zero. */ + /** + * number of samples. If the PDU contains encoded audio, this should be zero. + * @type {number} + * @instance + */ this.samples = 0; - /** list of eight bit values. Must be padded to fall on a 32 bit boundary. */ + /** + * list of eight bit values. Must be padded to fall on a 32 bit boundary. + * @type {Array} + * @instance + */ this.data = new Array(); + /** + * @param {InputStream} inputStream + */ dis.SignalPdu.prototype.initFromBinary = function(inputStream) { this.protocolVersion = inputStream.readUByte(); @@ -92,6 +159,9 @@ dis.SignalPdu = function() } }; + /** + * @param {OutputStream} outputStream + */ dis.SignalPdu.prototype.encodeToBinary = function(outputStream) { outputStream.writeUByte(this.protocolVersion); diff --git a/src/dis/SimulationAddress.js b/src/dis/SimulationAddress.js index 21be03f..cc0567a 100644 --- a/src/dis/SimulationAddress.js +++ b/src/dis/SimulationAddress.js @@ -17,20 +17,38 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.SimulationAddress = function() { - /** The site ID */ + /** + * The site ID + * @type {number} + * @instance + */ this.site = 0; - /** The application ID */ + /** + * The application ID + * @type {number} + * @instance + */ this.application = 0; + /** + * @param {InputStream} inputStream + */ dis.SimulationAddress.prototype.initFromBinary = function(inputStream) { this.site = inputStream.readUShort(); this.application = inputStream.readUShort(); }; + /** + * @param {OutputStream} outputStream + */ dis.SimulationAddress.prototype.encodeToBinary = function(outputStream) { outputStream.writeUShort(this.site); diff --git a/src/dis/SimulationManagementFamilyPdu.js b/src/dis/SimulationManagementFamilyPdu.js index 8c4786d..6e7c775 100644 --- a/src/dis/SimulationManagementFamilyPdu.js +++ b/src/dis/SimulationManagementFamilyPdu.js @@ -17,35 +17,78 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.SimulationManagementFamilyPdu = function() { - /** The version of the protocol. 5=DIS-1995, 6=DIS-1998. */ + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + * @type {number} + * @instance + */ this.protocolVersion = 6; - /** Exercise ID */ + /** + * Exercise ID + * @type {number} + * @instance + */ this.exerciseID = 0; - /** Type of pdu, unique for each PDU class */ + /** + * Type of pdu, unique for each PDU class + * @type {number} + * @instance + */ this.pduType = 0; - /** value that refers to the protocol family, eg SimulationManagement, et */ + /** + * value that refers to the protocol family, eg SimulationManagement, et + * @type {number} + * @instance + */ this.protocolFamily = 5; - /** Timestamp value */ + /** + * Timestamp value + * @type {number} + * @instance + */ this.timestamp = 0; - /** Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word */ + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + * @type {number} + * @instance + */ this.pduLength = 0; - /** zero-filled array of padding */ + /** + * zero-filled array of padding + * @type {number} + * @instance + */ this.padding = 0; - /** Entity that is sending message */ + /** + * Entity that is sending message + * @type {EntityID} + * @instance + */ this.originatingEntityID = new dis.EntityID(); - /** Entity that is intended to receive message */ + /** + * Entity that is intended to receive message + * @type {EntityID} + * @instance + */ this.receivingEntityID = new dis.EntityID(); + /** + * @param {InputStream} inputStream + */ dis.SimulationManagementFamilyPdu.prototype.initFromBinary = function(inputStream) { this.protocolVersion = inputStream.readUByte(); @@ -59,6 +102,9 @@ dis.SimulationManagementFamilyPdu = function() this.receivingEntityID.initFromBinary(inputStream); }; + /** + * @param {OutputStream} outputStream + */ dis.SimulationManagementFamilyPdu.prototype.encodeToBinary = function(outputStream) { outputStream.writeUByte(this.protocolVersion); diff --git a/src/dis/SimulationManagementWithReliabilityFamilyPdu.js b/src/dis/SimulationManagementWithReliabilityFamilyPdu.js index b55f276..9fb04ee 100644 --- a/src/dis/SimulationManagementWithReliabilityFamilyPdu.js +++ b/src/dis/SimulationManagementWithReliabilityFamilyPdu.js @@ -17,35 +17,78 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.SimulationManagementWithReliabilityFamilyPdu = function() { - /** The version of the protocol. 5=DIS-1995, 6=DIS-1998. */ + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + * @type {number} + * @instance + */ this.protocolVersion = 6; - /** Exercise ID */ + /** + * Exercise ID + * @type {number} + * @instance + */ this.exerciseID = 0; - /** Type of pdu, unique for each PDU class */ + /** + * Type of pdu, unique for each PDU class + * @type {number} + * @instance + */ this.pduType = 0; - /** value that refers to the protocol family, eg SimulationManagement, et */ + /** + * value that refers to the protocol family, eg SimulationManagement, et + * @type {number} + * @instance + */ this.protocolFamily = 10; - /** Timestamp value */ + /** + * Timestamp value + * @type {number} + * @instance + */ this.timestamp = 0; - /** Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word */ + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + * @type {number} + * @instance + */ this.pduLength = 0; - /** zero-filled array of padding */ + /** + * zero-filled array of padding + * @type {number} + * @instance + */ this.padding = 0; - /** Object originatig the request */ + /** + * Object originatig the request + * @type {EntityID} + * @instance + */ this.originatingEntityID = new dis.EntityID(); - /** Object with which this point object is associated */ + /** + * Object with which this point object is associated + * @type {EntityID} + * @instance + */ this.receivingEntityID = new dis.EntityID(); + /** + * @param {InputStream} inputStream + */ dis.SimulationManagementWithReliabilityFamilyPdu.prototype.initFromBinary = function(inputStream) { this.protocolVersion = inputStream.readUByte(); @@ -59,6 +102,9 @@ dis.SimulationManagementWithReliabilityFamilyPdu = function() this.receivingEntityID.initFromBinary(inputStream); }; + /** + * @param {OutputStream} outputStream + */ dis.SimulationManagementWithReliabilityFamilyPdu.prototype.encodeToBinary = function(outputStream) { outputStream.writeUByte(this.protocolVersion); diff --git a/src/dis/SixByteChunk.js b/src/dis/SixByteChunk.js index 14b655a..4e4d71c 100644 --- a/src/dis/SixByteChunk.js +++ b/src/dis/SixByteChunk.js @@ -17,11 +17,22 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.SixByteChunk = function() { - /** six bytes of arbitrary data */ + /** + * six bytes of arbitrary data + * @type {Array} + * @instance + */ this.otherParameters = new Array(0, 0, 0, 0, 0, 0); + /** + * @param {InputStream} inputStream + */ dis.SixByteChunk.prototype.initFromBinary = function(inputStream) { for(var idx = 0; idx < 6; idx++) @@ -30,6 +41,9 @@ dis.SixByteChunk = function() } }; + /** + * @param {OutputStream} outputStream + */ dis.SixByteChunk.prototype.encodeToBinary = function(outputStream) { for(var idx = 0; idx < 6; idx++) diff --git a/src/dis/SphericalHarmonicAntennaPattern.js b/src/dis/SphericalHarmonicAntennaPattern.js index 2a1e7bf..5af214f 100644 --- a/src/dis/SphericalHarmonicAntennaPattern.js +++ b/src/dis/SphericalHarmonicAntennaPattern.js @@ -17,15 +17,29 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.SphericalHarmonicAntennaPattern = function() { + /** + * @type {number} + * @instance + */ this.harmonicOrder = 0; + /** + * @param {InputStream} inputStream + */ dis.SphericalHarmonicAntennaPattern.prototype.initFromBinary = function(inputStream) { this.harmonicOrder = inputStream.readByte(); }; + /** + * @param {OutputStream} outputStream + */ dis.SphericalHarmonicAntennaPattern.prototype.encodeToBinary = function(outputStream) { outputStream.writeByte(this.harmonicOrder); diff --git a/src/dis/StartResumePdu.js b/src/dis/StartResumePdu.js index b198d53..3076e23 100644 --- a/src/dis/StartResumePdu.js +++ b/src/dis/StartResumePdu.js @@ -17,44 +17,99 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.StartResumePdu = function() { - /** The version of the protocol. 5=DIS-1995, 6=DIS-1998. */ + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + * @type {number} + * @instance + */ this.protocolVersion = 6; - /** Exercise ID */ + /** + * Exercise ID + * @type {number} + * @instance + */ this.exerciseID = 0; - /** Type of pdu, unique for each PDU class */ + /** + * Type of pdu, unique for each PDU class + * @type {number} + * @instance + */ this.pduType = 13; - /** value that refers to the protocol family, eg SimulationManagement, et */ + /** + * value that refers to the protocol family, eg SimulationManagement, et + * @type {number} + * @instance + */ this.protocolFamily = 5; - /** Timestamp value */ + /** + * Timestamp value + * @type {number} + * @instance + */ this.timestamp = 0; - /** Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word */ + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + * @type {number} + * @instance + */ this.pduLength = 0; - /** zero-filled array of padding */ + /** + * zero-filled array of padding + * @type {number} + * @instance + */ this.padding = 0; - /** Entity that is sending message */ + /** + * Entity that is sending message + * @type {EntityID} + * @instance + */ this.originatingEntityID = new dis.EntityID(); - /** Entity that is intended to receive message */ + /** + * Entity that is intended to receive message + * @type {EntityID} + * @instance + */ this.receivingEntityID = new dis.EntityID(); - /** UTC time at which the simulation shall start or resume */ + /** + * UTC time at which the simulation shall start or resume + * @type {ClockTime} + * @instance + */ this.realWorldTime = new dis.ClockTime(); - /** Simulation clock time at which the simulation shall start or resume */ + /** + * Simulation clock time at which the simulation shall start or resume + * @type {ClockTime} + * @instance + */ this.simulationTime = new dis.ClockTime(); - /** Identifier for the request */ + /** + * Identifier for the request + * @type {number} + * @instance + */ this.requestID = 0; + /** + * @param {InputStream} inputStream + */ dis.StartResumePdu.prototype.initFromBinary = function(inputStream) { this.protocolVersion = inputStream.readUByte(); @@ -71,6 +126,9 @@ dis.StartResumePdu = function() this.requestID = inputStream.readUInt(); }; + /** + * @param {OutputStream} outputStream + */ dis.StartResumePdu.prototype.encodeToBinary = function(outputStream) { outputStream.writeUByte(this.protocolVersion); diff --git a/src/dis/StartResumeReliablePdu.js b/src/dis/StartResumeReliablePdu.js index 12ab7be..cf3c63d 100644 --- a/src/dis/StartResumeReliablePdu.js +++ b/src/dis/StartResumeReliablePdu.js @@ -17,53 +17,120 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.StartResumeReliablePdu = function() { - /** The version of the protocol. 5=DIS-1995, 6=DIS-1998. */ + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + * @type {number} + * @instance + */ this.protocolVersion = 6; - /** Exercise ID */ + /** + * Exercise ID + * @type {number} + * @instance + */ this.exerciseID = 0; - /** Type of pdu, unique for each PDU class */ + /** + * Type of pdu, unique for each PDU class + * @type {number} + * @instance + */ this.pduType = 53; - /** value that refers to the protocol family, eg SimulationManagement, et */ + /** + * value that refers to the protocol family, eg SimulationManagement, et + * @type {number} + * @instance + */ this.protocolFamily = 10; - /** Timestamp value */ + /** + * Timestamp value + * @type {number} + * @instance + */ this.timestamp = 0; - /** Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word */ + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + * @type {number} + * @instance + */ this.pduLength = 0; - /** zero-filled array of padding */ + /** + * zero-filled array of padding + * @type {number} + * @instance + */ this.padding = 0; - /** Object originatig the request */ + /** + * Object originatig the request + * @type {EntityID} + * @instance + */ this.originatingEntityID = new dis.EntityID(); - /** Object with which this point object is associated */ + /** + * Object with which this point object is associated + * @type {EntityID} + * @instance + */ this.receivingEntityID = new dis.EntityID(); - /** time in real world for this operation to happen */ + /** + * time in real world for this operation to happen + * @type {ClockTime} + * @instance + */ this.realWorldTime = new dis.ClockTime(); - /** time in simulation for the simulation to resume */ + /** + * time in simulation for the simulation to resume + * @type {ClockTime} + * @instance + */ this.simulationTime = new dis.ClockTime(); - /** level of reliability service used for this transaction */ + /** + * level of reliability service used for this transaction + * @type {number} + * @instance + */ this.requiredReliabilityService = 0; - /** padding */ + /** + * padding + * @type {number} + * @instance + */ this.pad1 = 0; - /** padding */ + /** + * padding + * @type {number} + * @instance + */ this.pad2 = 0; - /** Request ID */ + /** + * Request ID + * @type {number} + * @instance + */ this.requestID = 0; + /** + * @param {InputStream} inputStream + */ dis.StartResumeReliablePdu.prototype.initFromBinary = function(inputStream) { this.protocolVersion = inputStream.readUByte(); @@ -83,6 +150,9 @@ dis.StartResumeReliablePdu = function() this.requestID = inputStream.readUInt(); }; + /** + * @param {OutputStream} outputStream + */ dis.StartResumeReliablePdu.prototype.encodeToBinary = function(outputStream) { outputStream.writeUByte(this.protocolVersion); diff --git a/src/dis/StopFreezePdu.js b/src/dis/StopFreezePdu.js index 1bf044e..f1c6e14 100644 --- a/src/dis/StopFreezePdu.js +++ b/src/dis/StopFreezePdu.js @@ -17,50 +17,113 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.StopFreezePdu = function() { - /** The version of the protocol. 5=DIS-1995, 6=DIS-1998. */ + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + * @type {number} + * @instance + */ this.protocolVersion = 6; - /** Exercise ID */ + /** + * Exercise ID + * @type {number} + * @instance + */ this.exerciseID = 0; - /** Type of pdu, unique for each PDU class */ + /** + * Type of pdu, unique for each PDU class + * @type {number} + * @instance + */ this.pduType = 14; - /** value that refers to the protocol family, eg SimulationManagement, et */ + /** + * value that refers to the protocol family, eg SimulationManagement, et + * @type {number} + * @instance + */ this.protocolFamily = 5; - /** Timestamp value */ + /** + * Timestamp value + * @type {number} + * @instance + */ this.timestamp = 0; - /** Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word */ + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + * @type {number} + * @instance + */ this.pduLength = 0; - /** zero-filled array of padding */ + /** + * zero-filled array of padding + * @type {number} + * @instance + */ this.padding = 0; - /** Entity that is sending message */ + /** + * Entity that is sending message + * @type {EntityID} + * @instance + */ this.originatingEntityID = new dis.EntityID(); - /** Entity that is intended to receive message */ + /** + * Entity that is intended to receive message + * @type {EntityID} + * @instance + */ this.receivingEntityID = new dis.EntityID(); - /** UTC time at which the simulation shall stop or freeze */ + /** + * UTC time at which the simulation shall stop or freeze + * @type {ClockTime} + * @instance + */ this.realWorldTime = new dis.ClockTime(); - /** Reason the simulation was stopped or frozen */ + /** + * Reason the simulation was stopped or frozen + * @type {number} + * @instance + */ this.reason = 0; - /** Internal behavior of the simulation and its appearance while frozento the other participants */ + /** + * Internal behavior of the simulation and its appearance while frozento the other participants + * @type {number} + * @instance + */ this.frozenBehavior = 0; - /** padding */ + /** + * padding + * @type {number} + * @instance + */ this.padding1 = 0; - /** Request ID that is unique */ + /** + * Request ID that is unique + * @type {EntityID} + * @instance + */ this.requestID = 0; + /** + * @param {InputStream} inputStream + */ dis.StopFreezePdu.prototype.initFromBinary = function(inputStream) { this.protocolVersion = inputStream.readUByte(); @@ -79,6 +142,9 @@ dis.StopFreezePdu = function() this.requestID = inputStream.readUInt(); }; + /** + * @param {OutputStream} outputStream + */ dis.StopFreezePdu.prototype.encodeToBinary = function(outputStream) { outputStream.writeUByte(this.protocolVersion); diff --git a/src/dis/StopFreezeReliablePdu.js b/src/dis/StopFreezeReliablePdu.js index ae2b003..230bca1 100644 --- a/src/dis/StopFreezeReliablePdu.js +++ b/src/dis/StopFreezeReliablePdu.js @@ -17,53 +17,120 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.StopFreezeReliablePdu = function() { - /** The version of the protocol. 5=DIS-1995, 6=DIS-1998. */ + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + * @type {number} + * @instance + */ this.protocolVersion = 6; - /** Exercise ID */ + /** + * Exercise ID + * @type {number} + * @instance + */ this.exerciseID = 0; - /** Type of pdu, unique for each PDU class */ + /** + * Type of pdu, unique for each PDU class + * @type {number} + * @instance + */ this.pduType = 54; - /** value that refers to the protocol family, eg SimulationManagement, et */ + /** + * value that refers to the protocol family, eg SimulationManagement, et + * @type {number} + * @instance + */ this.protocolFamily = 10; - /** Timestamp value */ + /** + * Timestamp value + * @type {number} + * @instance + */ this.timestamp = 0; - /** Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word */ + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + * @type {number} + * @instance + */ this.pduLength = 0; - /** zero-filled array of padding */ + /** + * zero-filled array of padding + * @type {number} + * @instance + */ this.padding = 0; - /** Object originatig the request */ + /** + * Object originatig the request + * @type {EntityID} + * @instance + */ this.originatingEntityID = new dis.EntityID(); - /** Object with which this point object is associated */ + /** + * Object with which this point object is associated + * @type {EntityID} + * @instance + */ this.receivingEntityID = new dis.EntityID(); - /** time in real world for this operation to happen */ + /** + * time in real world for this operation to happen + * @type {ClockTime} + * @instance + */ this.realWorldTime = new dis.ClockTime(); - /** Reason for stopping/freezing simulation */ + /** + * Reason for stopping/freezing simulation + * @type {number} + * @instance + */ this.reason = 0; - /** internal behvior of the simulation while frozen */ + /** + * internal behvior of the simulation while frozen + * @type {number} + * @instance + */ this.frozenBehavior = 0; - /** reliablity level */ + /** + * reliablity level + * @type {number} + * @instance + */ this.requiredReliablityService = 0; - /** padding */ + /** + * padding + * @type {number} + * @instance + */ this.pad1 = 0; - /** Request ID */ + /** + * Request ID + * @type {number} + * @instance + */ this.requestID = 0; + /** + * @param {InputStream} inputStream + */ dis.StopFreezeReliablePdu.prototype.initFromBinary = function(inputStream) { this.protocolVersion = inputStream.readUByte(); @@ -83,6 +150,9 @@ dis.StopFreezeReliablePdu = function() this.requestID = inputStream.readUInt(); }; + /** + * @param {OutputStream} outputStream + */ dis.StopFreezeReliablePdu.prototype.encodeToBinary = function(outputStream) { outputStream.writeUByte(this.protocolVersion); diff --git a/src/dis/SupplyQuantity.js b/src/dis/SupplyQuantity.js index a382552..4535f6e 100644 --- a/src/dis/SupplyQuantity.js +++ b/src/dis/SupplyQuantity.js @@ -17,20 +17,38 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.SupplyQuantity = function() { - /** Type of supply */ + /** + * Type of supply + * @type {EntityType} + * @instance + */ this.supplyType = new dis.EntityType(); - /** quantity to be supplied */ + /** + * quantity to be supplied + * @type {number} + * @instance + */ this.quantity = 0; + /** + * @param {InputStream} inputStream + */ dis.SupplyQuantity.prototype.initFromBinary = function(inputStream) { this.supplyType.initFromBinary(inputStream); this.quantity = inputStream.readUByte(); }; + /** + * @param {OutputStream} outputStream + */ dis.SupplyQuantity.prototype.encodeToBinary = function(outputStream) { this.supplyType.encodeToBinary(outputStream); diff --git a/src/dis/SyntheticEnvironmentFamilyPdu.js b/src/dis/SyntheticEnvironmentFamilyPdu.js index 94b2166..fb17189 100644 --- a/src/dis/SyntheticEnvironmentFamilyPdu.js +++ b/src/dis/SyntheticEnvironmentFamilyPdu.js @@ -17,29 +17,64 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.SyntheticEnvironmentFamilyPdu = function() { - /** The version of the protocol. 5=DIS-1995, 6=DIS-1998. */ + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + * @type {number} + * @instance + */ this.protocolVersion = 6; - /** Exercise ID */ + /** + * Exercise ID + * @type {number} + * @instance + */ this.exerciseID = 0; - /** Type of pdu, unique for each PDU class */ + /** + * Type of pdu, unique for each PDU class + * @type {number} + * @instance + */ this.pduType = 0; - /** value that refers to the protocol family, eg SimulationManagement, et */ + /** + * value that refers to the protocol family, eg SimulationManagement, et + * @type {number} + * @instance + */ this.protocolFamily = 9; - /** Timestamp value */ + /** + * Timestamp value + * @type {number} + * @instance + */ this.timestamp = 0; - /** Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word */ + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + * @type {number} + * @instance + */ this.pduLength = 0; - /** zero-filled array of padding */ + /** + * zero-filled array of padding + * @type {number} + * @instance + */ this.padding = 0; + /** + * @param {InputStream} inputStream + */ dis.SyntheticEnvironmentFamilyPdu.prototype.initFromBinary = function(inputStream) { this.protocolVersion = inputStream.readUByte(); @@ -51,6 +86,9 @@ dis.SyntheticEnvironmentFamilyPdu = function() this.padding = inputStream.readShort(); }; + /** + * @param {OutputStream} outputStream + */ dis.SyntheticEnvironmentFamilyPdu.prototype.encodeToBinary = function(outputStream) { outputStream.writeUByte(this.protocolVersion); diff --git a/src/dis/SystemID.js b/src/dis/SystemID.js index 2a10f6f..3a52f0f 100644 --- a/src/dis/SystemID.js +++ b/src/dis/SystemID.js @@ -17,20 +17,43 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.SystemID = function() { - /** System Type */ + /** + * System Type + * @type {number} + * @instance + */ this.systemType = 0; - /** System name, an enumeration */ + /** + * System name, an enumeration + * @type {number} + * @instance + */ this.systemName = 0; - /** System mode */ + /** + * System mode + * @type {number} + * @instance + */ this.systemMode = 0; - /** Change Options */ + /** + * Change Options + * @type {number} + * @instance + */ this.changeOptions = 0; + /** + * @param {InputStream} inputStream + */ dis.SystemID.prototype.initFromBinary = function(inputStream) { this.systemType = inputStream.readUShort(); @@ -39,6 +62,9 @@ dis.SystemID = function() this.changeOptions = inputStream.readUByte(); }; + /** + * @param {OutputStream} outputStream + */ dis.SystemID.prototype.encodeToBinary = function(outputStream) { outputStream.writeUShort(this.systemType); diff --git a/src/dis/TrackJamTarget.js b/src/dis/TrackJamTarget.js index 4eb1c6f..9e792aa 100644 --- a/src/dis/TrackJamTarget.js +++ b/src/dis/TrackJamTarget.js @@ -17,17 +17,36 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.TrackJamTarget = function() { - /** track/jam target */ + /** + * track/jam target + * @type {EntityID} + * @instance + */ this.trackJam = new dis.EntityID(); - /** Emitter ID */ + /** + * Emitter ID + * @type {number} + * @instance + */ this.emitterID = 0; - /** beam ID */ + /** + * beam ID + * @type {number} + * @instance + */ this.beamID = 0; + /** + * @param {InputStream} inputStream + */ dis.TrackJamTarget.prototype.initFromBinary = function(inputStream) { this.trackJam.initFromBinary(inputStream); @@ -35,6 +54,9 @@ dis.TrackJamTarget = function() this.beamID = inputStream.readUByte(); }; + /** + * @param {OutputStream} outputStream + */ dis.TrackJamTarget.prototype.encodeToBinary = function(outputStream) { this.trackJam.encodeToBinary(outputStream); diff --git a/src/dis/TransferControlRequestPdu.js b/src/dis/TransferControlRequestPdu.js index 2d22bd7..d1e141b 100644 --- a/src/dis/TransferControlRequestPdu.js +++ b/src/dis/TransferControlRequestPdu.js @@ -17,53 +17,120 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.TransferControlRequestPdu = function() { - /** The version of the protocol. 5=DIS-1995, 6=DIS-1998. */ + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + * @type {number} + * @instance + */ this.protocolVersion = 6; - /** Exercise ID */ + /** + * Exercise ID + * @type {number} + * @instance + */ this.exerciseID = 0; - /** Type of pdu, unique for each PDU class */ + /** + * Type of pdu, unique for each PDU class + * @type {number} + * @instance + */ this.pduType = 35; - /** value that refers to the protocol family, eg SimulationManagement, et */ + /** + * value that refers to the protocol family, eg SimulationManagement, et + * @type {number} + * @instance + */ this.protocolFamily = 7; - /** Timestamp value */ + /** + * Timestamp value + * @type {number} + * @instance + */ this.timestamp = 0; - /** Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word */ + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + * @type {number} + * @instance + */ this.pduLength = 0; - /** zero-filled array of padding */ + /** + * zero-filled array of padding + * @type {number} + * @instance + */ this.padding = 0; - /** ID of entity originating request */ + /** + * ID of entity originating request + * @type {EntityID} + * @instance + */ this.orginatingEntityID = new dis.EntityID(); - /** ID of entity receiving request */ + /** + * ID of entity receiving request + * @type {EntityID} + * @instance + */ this.recevingEntityID = new dis.EntityID(); - /** ID ofrequest */ + /** + * ID ofrequest + * @type {number} + * @instance + */ this.requestID = 0; - /** required level of reliabliity service. */ + /** + * required level of reliabliity service. + * @type {number} + * @instance + */ this.requiredReliabilityService = 0; - /** type of transfer desired */ + /** + * type of transfer desired + * @type {number} + * @instance + */ this.tranferType = 0; - /** The entity for which control is being requested to transfer */ + /** + * The entity for which control is being requested to transfer + * @type {EntityID} + * @instance + */ this.transferEntityID = new dis.EntityID(); - /** number of record sets to transfer */ + /** + * number of record sets to transfer + * @type {number} + * @instance + */ this.numberOfRecordSets = 0; - /** ^^^This is wrong--the RecordSet class needs more work */ + /** + * ^^^This is wrong--the RecordSet class needs more work + * @type {Array} + * @instance + */ this.recordSets = new Array(); + /** + * @param {InputStream} inputStream + */ dis.TransferControlRequestPdu.prototype.initFromBinary = function(inputStream) { this.protocolVersion = inputStream.readUByte(); @@ -89,6 +156,9 @@ dis.TransferControlRequestPdu = function() }; + /** + * @param {OutputStream} outputStream + */ dis.TransferControlRequestPdu.prototype.encodeToBinary = function(outputStream) { outputStream.writeUByte(this.protocolVersion); diff --git a/src/dis/TransmitterPdu.js b/src/dis/TransmitterPdu.js index 633e8ef..a871b52 100644 --- a/src/dis/TransmitterPdu.js +++ b/src/dis/TransmitterPdu.js @@ -17,92 +17,211 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.TransmitterPdu = function() { - /** The version of the protocol. 5=DIS-1995, 6=DIS-1998. */ + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + * @type {number} + * @instance + */ this.protocolVersion = 6; - /** Exercise ID */ + /** + * Exercise ID + * @type {number} + * @instance + */ this.exerciseID = 0; - /** Type of pdu, unique for each PDU class */ + /** + * Type of pdu, unique for each PDU class + * @type {number} + * @instance + */ this.pduType = 25; - /** value that refers to the protocol family, eg SimulationManagement, et */ + /** + * value that refers to the protocol family, eg SimulationManagement, et + * @type {number} + * @instance + */ this.protocolFamily = 4; - /** Timestamp value */ + /** + * Timestamp value + * @type {number} + * @instance + */ this.timestamp = 0; - /** Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word */ + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + * @type {number} + * @instance + */ this.pduLength = 0; - /** zero-filled array of padding */ + /** + * zero-filled array of padding + * @type {number} + * @instance + */ this.padding = 0; - /** ID of the entity that is the source of the communication, ie contains the radio */ + /** + * ID of the entity that is the source of the communication, ie contains the radio + * @type {EntityID} + * @instance + */ this.entityId = new dis.EntityID(); - /** particular radio within an entity */ + /** + * particular radio within an entity + * @type {number} + * @instance + */ this.radioId = 0; - /** linear accelleration of entity */ + /** + * linear accelleration of entity + * @type {RadioEntityType} + * @instance + */ this.radioEntityType = new dis.RadioEntityType(); - /** transmit state */ + /** + * transmit state + * @type {number} + * @instance + */ this.transmitState = 0; - /** input source */ + /** + * input source + * @type {number} + * @instance + */ this.inputSource = 0; - /** padding */ + /** + * padding + * @type {number} + * @instance + */ this.padding1 = 0; - /** Location of antenna */ + /** + * Location of antenna + * @type {Vector3Double} + * @instance + */ this.antennaLocation = new dis.Vector3Double(); - /** relative location of antenna, in entity coordinates */ + /** + * relative location of antenna, in entity coordinates + * @type {Vector3Float} + * @instance + */ this.relativeAntennaLocation = new dis.Vector3Float(); - /** antenna pattern type */ + /** + * antenna pattern type + * @type {number} + * @instance + */ this.antennaPatternType = 0; - /** atenna pattern length */ + /** + * atenna pattern length + * @type {number} + * @instance + */ this.antennaPatternCount = 0; - /** frequency */ + /** + * frequency + * @type {number} + * @instance + */ this.frequency = 0; - /** transmit frequency Bandwidth */ + /** + * transmit frequency Bandwidth + * @type {number} + * @instance + */ this.transmitFrequencyBandwidth = 0; - /** transmission power */ + /** + * transmission power + * @type {number} + * @instance + */ this.power = 0; - /** modulation */ + /** + * modulation + * @type {ModulationType} + * @instance + */ this.modulationType = new dis.ModulationType(); - /** crypto system enumeration */ + /** + * crypto system enumeration + * @type {number} + * @instance + */ this.cryptoSystem = 0; - /** crypto system key identifer */ + /** + * crypto system key identifer + * @type {number} + * @instance + */ this.cryptoKeyId = 0; - /** how many modulation parameters we have */ + /** + * how many modulation parameters we have + * @type {number} + * @instance + */ this.modulationParameterCount = 0; - /** padding2 */ + /** + * padding2 + * @type {number} + * @instance + */ this.padding2 = 0; - /** padding3 */ + /** + * padding3 + * @type {number} + * @instance + */ this.padding3 = 0; - /** variable length list of modulation parameters */ + /** + * variable length list of modulation parameters + * @type {Array} + * @instance + */ this.modulationParametersList = new Array(); - /** variable length list of antenna pattern records */ + /** + * variable length list of antenna pattern records + * @type {Array} + * @instance + */ this.antennaPatternList = new Array(); + /** + * @param {InputStream} inputStream + */ dis.TransmitterPdu.prototype.initFromBinary = function(inputStream) { this.protocolVersion = inputStream.readUByte(); @@ -147,6 +266,9 @@ dis.TransmitterPdu = function() }; + /** + * @param {OutputStream} outputStream + */ dis.TransmitterPdu.prototype.encodeToBinary = function(outputStream) { outputStream.writeUByte(this.protocolVersion); diff --git a/src/dis/UaPdu.js b/src/dis/UaPdu.js index 3f628a8..46d66d2 100644 --- a/src/dis/UaPdu.js +++ b/src/dis/UaPdu.js @@ -17,64 +17,147 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.UaPdu = function() { - /** The version of the protocol. 5=DIS-1995, 6=DIS-1998. */ + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + * @type {number} + * @instance + */ this.protocolVersion = 6; - /** Exercise ID */ + /** + * Exercise ID + * @type {number} + * @instance + */ this.exerciseID = 0; - /** Type of pdu, unique for each PDU class */ + /** + * Type of pdu, unique for each PDU class + * @type {number} + * @instance + */ this.pduType = 29; - /** value that refers to the protocol family, eg SimulationManagement, et */ + /** + * value that refers to the protocol family, eg SimulationManagement, et + * @type {number} + * @instance + */ this.protocolFamily = 6; - /** Timestamp value */ + /** + * Timestamp value + * @type {number} + * @instance + */ this.timestamp = 0; - /** Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word */ + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + * @type {number} + * @instance + */ this.pduLength = 0; - /** zero-filled array of padding */ + /** + * zero-filled array of padding + * @type {number} + * @instance + */ this.padding = 0; - /** ID of the entity that is the source of the emission */ + /** + * ID of the entity that is the source of the emission + * @type {EntityID} + * @instance + */ this.emittingEntityID = new dis.EntityID(); - /** ID of event */ + /** + * ID of event + * @type {EventID} + * @instance + */ this.eventID = new dis.EventID(); - /** This field shall be used to indicate whether the data in the UA PDU represent a state update or data that have changed since issuance of the last UA PDU */ + /** + * This field shall be used to indicate whether the data in the UA PDU represent a state update or data that have changed since issuance of the last UA PDU + * @type {number} + * @instance + */ this.stateChangeIndicator = 0; - /** padding */ + /** + * padding + * @type {number} + * @instance + */ this.pad = 0; - /** This field indicates which database record (or file) shall be used in the definition of passive signature (unintentional) emissions of the entity. The indicated database record (or file) shall define all noise generated as a function of propulsion plant configurations and associated auxiliaries. */ + /** + * This field indicates which database record (or file) shall be used in the definition of passive signature (unintentional) emissions of the entity. The indicated database record (or file) shall define all noise generated as a function of propulsion plant configurations and associated auxiliaries. + * @type {number} + * @instance + */ this.passiveParameterIndex = 0; - /** This field shall specify the entity propulsion plant configuration. This field is used to determine the passive signature characteristics of an entity. */ + /** + * This field shall specify the entity propulsion plant configuration. This field is used to determine the passive signature characteristics of an entity. + * @type {number} + * @instance + */ this.propulsionPlantConfiguration = 0; - /** This field shall represent the number of shafts on a platform */ + /** + * This field shall represent the number of shafts on a platform + * @type {number} + * @instance + */ this.numberOfShafts = 0; - /** This field shall indicate the number of APAs described in the current UA PDU */ + /** + * This field shall indicate the number of APAs described in the current UA PDU + * @type {number} + * @instance + */ this.numberOfAPAs = 0; - /** This field shall specify the number of UA emitter systems being described in the current UA PDU */ + /** + * This field shall specify the number of UA emitter systems being described in the current UA PDU + * @type {number} + * @instance + */ this.numberOfUAEmitterSystems = 0; - /** shaft RPM values */ + /** + * shaft RPM values + * @type {Array} + * @instance + */ this.shaftRPMs = new Array(); - /** apaData */ + /** + * apaData + * @type {Array} + * @instance + */ this.apaData = new Array(); + /** + * @type {Array} + * @instance + */ this.emitterSystems = new Array(); + /** + * @param {InputStream} inputStream + */ dis.UaPdu.prototype.initFromBinary = function(inputStream) { this.protocolVersion = inputStream.readUByte(); @@ -116,6 +199,9 @@ dis.UaPdu = function() }; + /** + * @param {OutputStream} outputStream + */ dis.UaPdu.prototype.encodeToBinary = function(outputStream) { outputStream.writeUByte(this.protocolVersion); diff --git a/src/dis/UnsignedIntegerWrapper.js b/src/dis/UnsignedIntegerWrapper.js index 7b8ba9a..b8ecd8e 100644 --- a/src/dis/UnsignedIntegerWrapper.js +++ b/src/dis/UnsignedIntegerWrapper.js @@ -17,16 +17,30 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.UnsignedIntegerWrapper = function() { - /** name can't be too accurate or the generated source code will have reserved word problems */ + /** + * name can't be too accurate or the generated source code will have reserved word problems + * @type {number} + * @instance + */ this.wrapper = 0; + /** + * @param {InputStream} inputStream + */ dis.UnsignedIntegerWrapper.prototype.initFromBinary = function(inputStream) { this.wrapper = inputStream.readUInt(); }; + /** + * @param {OutputStream} outputStream + */ dis.UnsignedIntegerWrapper.prototype.encodeToBinary = function(outputStream) { outputStream.writeUInt(this.wrapper); diff --git a/src/dis/VariableDatum.js b/src/dis/VariableDatum.js index 36fb320..b6dca57 100644 --- a/src/dis/VariableDatum.js +++ b/src/dis/VariableDatum.js @@ -17,17 +17,36 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.VariableDatum = function() { - /** ID of the variable datum */ + /** + * ID of the variable datum + * @type {number} + * @instance + */ this.variableDatumID = 0; - /** length of the variable datums, in bits. Note that this is not programmatically tied to the size of the variableData. The variable data field may be 64 bits long but only 16 bits of it could actually be used. */ + /** + * length of the variable datums, in bits. Note that this is not programmatically tied to the size of the variableData. The variable data field may be 64 bits long but only 16 bits of it could actually be used. + * @type {number} + * @instance + */ this.variableDatumLength = 0; - /** data can be any length, but must increase in 8 byte quanta. This requires some postprocessing patches. Note that setting the data allocates a new internal array to account for the possibly increased size. The default initial size is 64 bits. */ + /** + * data can be any length, but must increase in 8 byte quanta. This requires some postprocessing patches. Note that setting the data allocates a new internal array to account for the possibly increased size. The default initial size is 64 bits. + * @type {Array} + * @instance + */ this.variableDatumData = new Array(); + /** + * @param {InputStream} inputStream + */ dis.VariableDatum.prototype.initFromBinary = function(inputStream) { this.variableDatumID = inputStream.readUInt(); @@ -41,6 +60,9 @@ dis.VariableDatum = function() }; + /** + * @param {OutputStream} outputStream + */ dis.VariableDatum.prototype.encodeToBinary = function(outputStream) { outputStream.writeUInt(this.variableDatumID); diff --git a/src/dis/Vector3Double.js b/src/dis/Vector3Double.js index 53b2b5d..7aaeacc 100644 --- a/src/dis/Vector3Double.js +++ b/src/dis/Vector3Double.js @@ -17,17 +17,36 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.Vector3Double = function() { - /** X value */ + /** + * X value + * @type {number} + * @instance + */ this.x = 0; - /** Y value */ + /** + * Y value + * @type {number} + * @instance + */ this.y = 0; - /** Z value */ + /** + * Z value + * @type {number} + * @instance + */ this.z = 0; + /** + * @param {InputStream} inputStream + */ dis.Vector3Double.prototype.initFromBinary = function(inputStream) { this.x = inputStream.readFloat64(); @@ -35,6 +54,9 @@ dis.Vector3Double = function() this.z = inputStream.readFloat64(); }; + /** + * @param {OutputStream} outputStream + */ dis.Vector3Double.prototype.encodeToBinary = function(outputStream) { outputStream.writeFloat64(this.x); diff --git a/src/dis/Vector3Float.js b/src/dis/Vector3Float.js index d50c88e..cdb648a 100644 --- a/src/dis/Vector3Float.js +++ b/src/dis/Vector3Float.js @@ -17,17 +17,36 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.Vector3Float = function() { - /** X value */ + /** + * X value + * @type {number} + * @instance + */ this.x = 0; - /** y Value */ + /** + * y Value + * @type {number} + * @instance + */ this.y = 0; - /** Z value */ + /** + * Z value + * @type {number} + * @instance + */ this.z = 0; + /** + * @param {InputStream} inputStream + */ dis.Vector3Float.prototype.initFromBinary = function(inputStream) { this.x = inputStream.readFloat32(); @@ -35,6 +54,9 @@ dis.Vector3Float = function() this.z = inputStream.readFloat32(); }; + /** + * @param {OutputStream} outputStream + */ dis.Vector3Float.prototype.encodeToBinary = function(outputStream) { outputStream.writeFloat32(this.x); diff --git a/src/dis/VectoringNozzleSystemData.js b/src/dis/VectoringNozzleSystemData.js index 1fff9c6..024f9bb 100644 --- a/src/dis/VectoringNozzleSystemData.js +++ b/src/dis/VectoringNozzleSystemData.js @@ -17,20 +17,38 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.VectoringNozzleSystemData = function() { - /** horizontal deflection angle */ + /** + * horizontal deflection angle + * @type {number} + * @instance + */ this.horizontalDeflectionAngle = 0; - /** vertical deflection angle */ + /** + * vertical deflection angle + * @type {number} + * @instance + */ this.verticalDeflectionAngle = 0; + /** + * @param {InputStream} inputStream + */ dis.VectoringNozzleSystemData.prototype.initFromBinary = function(inputStream) { this.horizontalDeflectionAngle = inputStream.readFloat32(); this.verticalDeflectionAngle = inputStream.readFloat32(); }; + /** + * @param {OutputStream} outputStream + */ dis.VectoringNozzleSystemData.prototype.encodeToBinary = function(outputStream) { outputStream.writeFloat32(this.horizontalDeflectionAngle); diff --git a/src/dis/WarfareFamilyPdu.js b/src/dis/WarfareFamilyPdu.js index a28e116..9a7d9ac 100644 --- a/src/dis/WarfareFamilyPdu.js +++ b/src/dis/WarfareFamilyPdu.js @@ -17,35 +17,78 @@ if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.WarfareFamilyPdu = function() { - /** The version of the protocol. 5=DIS-1995, 6=DIS-1998. */ + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + * @type {number} + * @instance + */ this.protocolVersion = 6; - /** Exercise ID */ + /** + * Exercise ID + * @type {number} + * @instance + */ this.exerciseID = 0; - /** Type of pdu, unique for each PDU class */ + /** + * Type of pdu, unique for each PDU class + * @type {number} + * @instance + */ this.pduType = 0; - /** value that refers to the protocol family, eg SimulationManagement, et */ + /** + * value that refers to the protocol family, eg SimulationManagement, et + * @type {number} + * @instance + */ this.protocolFamily = 2; - /** Timestamp value */ + /** + * Timestamp value + * @type {number} + * @instance + */ this.timestamp = 0; - /** Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word */ + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + * @type {number} + * @instance + */ this.pduLength = 0; - /** zero-filled array of padding */ + /** + * zero-filled array of padding + * @type {number} + * @instance + */ this.padding = 0; - /** ID of the entity that shot */ + /** + * ID of the entity that shot + * @type {EntityID} + * @instance + */ this.firingEntityID = new dis.EntityID(); - /** ID of the entity that is being shot at */ + /** + * ID of the entity that is being shot at + * @type {EntityID} + * @instance + */ this.targetEntityID = new dis.EntityID(); + /** + * @param {InputStream} inputStream + */ dis.WarfareFamilyPdu.prototype.initFromBinary = function(inputStream) { this.protocolVersion = inputStream.readUByte(); @@ -59,6 +102,9 @@ dis.WarfareFamilyPdu = function() this.targetEntityID.initFromBinary(inputStream); }; + /** + * @param {OutputStream} outputStream + */ dis.WarfareFamilyPdu.prototype.encodeToBinary = function(outputStream) { outputStream.writeUByte(this.protocolVersion); diff --git a/src/disSupporting/Chunk.js b/src/disSupporting/Chunk.js index 4888601..af462f4 100644 --- a/src/disSupporting/Chunk.js +++ b/src/disSupporting/Chunk.js @@ -5,20 +5,45 @@ if (typeof dis === "undefined") if (typeof exports === "undefined") exports = {}; -// Replaces (n)ByteChunk functions -// chunkSize: specify the size of the chunk, ie 1 = 1 byte chunk, 8 = 8 byte chunk, etc. -// usage: var foo = new Chunk(4) // for a 4 byte chunk +/** + * Replaces (n)ByteChunk functions + * @constructor + * @param {number} chunkSize - specify the size of the chunk, ie 1 = 1 byte chunk, 8 = 8 byte chunk, etc. + * @memberof dis + * @example var foo = new Chunk(4) // for a 4 byte chunk + */ dis.Chunk = function(chunkSize, isSigned = true) { + /** + * @type {Array} + * @instance + */ this.data = new Array(chunkSize).fill(0); + + /** + * @type {number} + * @instance + */ this.chunkSize = chunkSize; + + /** + * @type {number} + * @instance + */ this.isSigned = isSigned; + /** + * @param {InputStream} inputStream + */ dis.Chunk.prototype.initFromBinary = function(inputStream) { for(var i = 0; i < this.chunkSize; i++) { this.data[i] = this.isSigned ? inputStream.readByte() : inputStream.readUByte(); } } + + /** + * @param {OutputStream} outputStream + */ dis.Chunk.prototype.encodeToBinary = function(outputStream) { for(var i = 0; i < this.chunkSize; i++) { this.isSigned ? outputStream.writeByte(this.data[i]) : outputStream.writeUByte(this.data[i]); diff --git a/src/disSupporting/CoordinateConversion.js b/src/disSupporting/CoordinateConversion.js index cace5a0..ee82e14 100644 --- a/src/disSupporting/CoordinateConversion.js +++ b/src/disSupporting/CoordinateConversion.js @@ -5,14 +5,37 @@ if (typeof dis === "undefined") if (typeof exports === "undefined") exports = {}; +/** + * @constructor + * @memberof dis + */ dis.CoordinateConversion = function() { - + /** + * @type {number} + * @instance + */ this.RADIANS_TO_DEGREES = 180.0/Math.PI; + + /** + * @type {number} + * @instance + */ this.DEGREES_TO_RADIANS = Math.PI/180.0; - this.a = 6378137.0; //semi major axis (WGS 84) - this.b = 6356752.3142; //semi minor axis (WGS 84) + /** + * semi major axis (WGS 84) + * @type {number} + * @instance + */ + this.a = 6378137.0; + + /** + * semi minor axis (WGS 84) + * @type {number} + * @instance + */ + this.b = 6356752.3142; /** * Converts DIS xyz world coordinates to latitude and longitude (IN DEGREES). This algorithm may not be 100% accurate @@ -20,8 +43,8 @@ dis.CoordinateConversion = function() * else. These formulas were obtained from Military Handbook 600008. The code itself has been * translated from C to Java to Javascript over the years, so hold onto your hats. * - * @param position {x:, y:, z:} - * @return {latitude:, longitude: altitude:} + * @param {Vector3Float} position + * @return {LatLonAlt} */ dis.CoordinateConversion.prototype.convertDisToLatLongInDegrees = function(position) { @@ -90,8 +113,8 @@ dis.CoordinateConversion = function() * Converts lat long and geodetic height (elevation) into DIS XYZ * This algorithm also uses the WGS84 ellipsoid, though you can change the values * of a and b for a different ellipsoid. Adapted from Military Handbook 600008 - * @param latLonAlt {lat: lon: alt:} in degrees and meters - * @return {x: y: z:} in meters + * @param {LatLonAltShort} latLonAlt in degrees and meters + * @return {Vector3Float} in meters */ dis.CoordinateConversion.prototype.getXYZfromLatLonAltDegrees = function(latLonAlt) { diff --git a/src/disSupporting/DisAppearance.js b/src/disSupporting/DisAppearance.js index d7a10e5..b3711e9 100644 --- a/src/disSupporting/DisAppearance.js +++ b/src/disSupporting/DisAppearance.js @@ -57,19 +57,24 @@ if (typeof dis === "undefined") if (typeof exports === "undefined") exports = {}; -/** Constructor. Takes the integer value extracted from the DIS Entity State Field appearance - * - * @param {type} integerValue the entity appearance from the espdu - * @returns {undefined} +/** + * Constructor. Takes the integer value extracted from the DIS Entity State Field appearance + * @constructor + * @memberof dis + * @param {number} integerValue - the entity appearance from the espdu */ dis.DisAppearance = function(integerValue) { + /** + * @type {number} + * @instance + */ this.entityAppearance = integerValue; } /** * Test code for creating the correct bitmask - * @returns {undefined} + * @returns {number} */ dis.DisAppearance.prototype.getTestMask = function() { @@ -83,10 +88,9 @@ dis.DisAppearance.prototype.getTestMask = function() }; /** - * - * @param {integer} startPosition - * @param {integer} finishPosition - * @returns {integer} + * @param {number} startPosition + * @param {number} finishPosition + * @returns {number} */ dis.DisAppearance.prototype.getBitField = function(startPosition, finishPosition) { @@ -112,11 +116,11 @@ dis.DisAppearance.prototype.getBitField = function(startPosition, finishPosition return fieldValue; }; -/** Set the "bit" position in a number to 1 - * - * @param {integer} num the number whose bit we are setting. Typically zero. - * @param {integer} bit which bit to set - * @return {integer} the number passed in, with the "bit"th bit flipped on. +/** + * Set the "bit" position in a number to 1 + * @param {number} num the number whose bit we are setting. Typically zero. + * @param {number} bit which bit to set + * @return {number} the number passed in, with the "bit"th bit flipped on. **/ dis.DisAppearance.prototype.bit_set = function(num, bit) { diff --git a/src/disSupporting/InputStream.js b/src/disSupporting/InputStream.js index 160f7cb..ffd9a51 100644 --- a/src/disSupporting/InputStream.js +++ b/src/disSupporting/InputStream.js @@ -9,25 +9,50 @@ if (typeof exports === "undefined") var Long = require('long'); +/** + * @constructor + * @memberof dis + * @param {ArrayBuffer} binaryData + */ dis.InputStream = function(binaryData) { - this.dataView = new DataView(binaryData, 0); // data, byte offset - this.currentPosition = 0; // ptr to "current" position in array + /** + * data, byte offset + * @type {DataView} + * @instance + */ + this.dataView = new DataView(binaryData, 0); + /** + * ptr to "current" position in array + * @type {number} + * @instance + */ + this.currentPosition = 0; + + /** + * @returns {number} + */ dis.InputStream.prototype.readUByte = function() { var data = this.dataView.getUint8(this.currentPosition); this.currentPosition = this.currentPosition + 1; return data; }; - + + /** + * @returns {number} + */ dis.InputStream.prototype.readByte = function() { var data = this.dataView.getInt8(this.currentPosition); this.currentPosition = this.currentPosition + 1; return data; }; - + + /** + * @returns {number} + */ dis.InputStream.prototype.readUShort = function() { var data = this.dataView.getUint16(this.currentPosition); @@ -35,6 +60,9 @@ dis.InputStream = function(binaryData) return data; }; + /** + * @returns {number} + */ dis.InputStream.prototype.readShort = function() { var data = this.dataView.getInt16(this.currentPosition); @@ -42,6 +70,9 @@ dis.InputStream = function(binaryData) return data; }; + /** + * @returns {number} + */ dis.InputStream.prototype.readUInt = function() { var data = this.dataView.getUint32(this.currentPosition); @@ -49,6 +80,9 @@ dis.InputStream = function(binaryData) return data; }; + /** + * @returns {number} + */ dis.InputStream.prototype.readInt = function() { var data = this.dataView.getInt32(this.currentPosition); @@ -56,7 +90,10 @@ dis.InputStream = function(binaryData) return data; }; - /** Read a long integer. Assumes big endian format. Uses the BigInteger package. */ + /** + * Read a long integer. Assumes big endian format. Uses the BigInteger package. + * @returns {number} + */ dis.InputStream.prototype.readLongInt = function() { var data1 = this.dataView.getInt32(this.currentPosition); @@ -66,6 +103,9 @@ dis.InputStream = function(binaryData) }; + /** + * @returns {number} + */ dis.InputStream.prototype.readFloat32 = function() { var data = this.dataView.getFloat32(this.currentPosition); @@ -73,19 +113,25 @@ dis.InputStream = function(binaryData) return data; }; + /** + * @returns {number} + */ dis.InputStream.prototype.readFloat64 = function() { var data = this.dataView.getFloat64(this.currentPosition); this.currentPosition = this.currentPosition + 8; return data; }; - + + /** + * @returns {string} + */ dis.InputStream.prototype.readLong = function() { - var high = this.dataView.getInt32(this.currentPosition); - var low = this.dataView.getInt32(this.currentPosition + 4); - var long = new Long(low, high); - return long.toString(); + var high = this.dataView.getInt32(this.currentPosition); + var low = this.dataView.getInt32(this.currentPosition + 4); + var long = new Long(low, high); + return long.toString(); }; }; diff --git a/src/disSupporting/OutputStream.js b/src/disSupporting/OutputStream.js index 002459d..fa4ed91 100644 --- a/src/disSupporting/OutputStream.js +++ b/src/disSupporting/OutputStream.js @@ -8,13 +8,31 @@ if (typeof exports === "undefined") var Long = require('long'); /** - * @param binaryDataBuffer ArrayBuffer -*/ + * @constructor + * @memberof dis + * @param {ArrayBuffer} binaryDataBuffer + */ dis.OutputStream = function(binaryDataBuffer) { + /** + * @type {ArrayBuffer} + * @instance + */ this.binaryData = binaryDataBuffer; - this.dataView = new DataView(this.binaryData); // data, byte offset - this.currentPosition = 0; // ptr to current position in array + + /** + * data, byte offset + * @type {DataView} + * @instance + */ + this.dataView = new DataView(this.binaryData); + + /** + * ptr to current position in array + * @type {number} + * @instance + */ + this.currentPosition = 0; /** * Returns a byte array trimmed to the maximum number of bytes written @@ -30,55 +48,81 @@ dis.OutputStream = function(binaryDataBuffer) return trimmedData; }; - + /** + * @param {number} userData + */ dis.OutputStream.prototype.writeUByte = function(userData) { this.dataView.setUint8(this.currentPosition, userData); this.currentPosition = this.currentPosition + 1; }; + /** + * @param {number} userData + */ dis.OutputStream.prototype.writeByte = function(userData) { this.dataView.setInt8(this.currentPosition, userData); this.currentPosition = this.currentPosition + 1; }; + /** + * @param {number} userData + */ dis.OutputStream.prototype.writeUShort = function(userData) { this.dataView.setUint16(this.currentPosition, userData); this.currentPosition = this.currentPosition + 2; }; + /** + * @param {number} userData + */ dis.OutputStream.prototype.writeShort = function(userData) { this.dataView.setInt16(this.currentPosition, userData); this.currentPosition = this.currentPosition + 2; }; - + + /** + * @param {number} userData + */ dis.OutputStream.prototype.writeUInt = function(userData) { this.dataView.setUint32(this.currentPosition, userData); this.currentPosition = this.currentPosition + 4; }; - + + /** + * @param {number} userData + */ dis.OutputStream.prototype.writeInt = function(userData) { this.dataView.setInt32(this.currentPosition, userData); this.currentPosition = this.currentPosition + 4; }; - + + /** + * @param {number} userData + */ dis.OutputStream.prototype.writeFloat32 = function(userData) { this.dataView.setFloat32(this.currentPosition, userData); this.currentPosition = this.currentPosition + 4; }; - + + /** + * @param {number} userData + */ dis.OutputStream.prototype.writeFloat64 = function(userData) { this.dataView.setFloat64(this.currentPosition, userData); this.currentPosition = this.currentPosition + 8; }; - + + /** + * @param {number} userData + */ dis.OutputStream.prototype.writeLong = function(userData) { var long = new Long.fromString(userData); diff --git a/src/disSupporting/PduFactory.js b/src/disSupporting/PduFactory.js index 98a7d79..c194cd1 100644 --- a/src/disSupporting/PduFactory.js +++ b/src/disSupporting/PduFactory.js @@ -6,20 +6,21 @@ if (typeof dis === "undefined") if (typeof exports === "undefined") exports = {}; - /** - * The PDU factory is responsible for decoding binary data and turning - * it into the appropriate type of PDU. - * - * The websocket will typically send the web page a IEEE 1278.1 binary - * array of data. It could be any one of dozens of PDUs. The start of - * all PDUs is the same--they have the same header. One of the fields in - * the header is the PduType, an 8 bit integer with a unqiue value for - * each type of PDU. We have to peak at that value, decide what type - * of PDU to create of the binary we have received, and then decode it. - * - * * @DMcG - */ - +/** + * The PDU factory is responsible for decoding binary data and turning + * it into the appropriate type of PDU. + * + * The websocket will typically send the web page a IEEE 1278.1 binary + * array of data. It could be any one of dozens of PDUs. The start of + * all PDUs is the same--they have the same header. One of the fields in + * the header is the PduType, an 8 bit integer with a unqiue value for + * each type of PDU. We have to peak at that value, decide what type + * of PDU to create of the binary we have received, and then decode it. + * @constructor + * @name PduFactory + * @memberof dis + * @author DMcG + */ dis.PduFactory = function() { @@ -29,7 +30,7 @@ if (typeof exports === "undefined") * decode incoming binary data and * return the correct type of PDU. * - * @param {type} data the IEEE 1278.1 binary data + * @param {ArrayBuffer} data the IEEE 1278.1 binary data * @returns {Pdu} Returns an instance of some PDU, be it espdu, fire, detonation, etc. Exception if PduType not known. */ dis.PduFactory.prototype.createPdu = function(data) diff --git a/src/disSupporting/RangeCoordinates.js b/src/disSupporting/RangeCoordinates.js index 384df52..07666eb 100644 --- a/src/disSupporting/RangeCoordinates.js +++ b/src/disSupporting/RangeCoordinates.js @@ -33,9 +33,6 @@ * * @DMcG * - * @param {float} lat latitude in degrees of the origin of the local tangent plane coordinate system - * @param {float} lon longitude, in degrees, of origin - * @param {float} alt altitude, in meters, of the origin of the local tangent plane coordinate system */ if (typeof dis === "undefined") @@ -52,35 +49,70 @@ if (typeof exports === "undefined") * aka an ENU coordinate system. Methods for converting from that coordinate system * to the DIS (ECEF) coordinate system or geotetic coordinate systems are provided. * - * @param {type} lat latitude, in degrees, of where the local tangent plane is located - * @param {type} lon longitude, in degrees, of the origin of the local tangent plane - * @param {type} alt altitude, in meters, of the origin of the local tangent plane + * @constructor + * @memberof dis + * @param {number} lat latitude, in degrees, of where the local tangent plane is located + * @param {number} lon longitude, in degrees, of the origin of the local tangent plane + * @param {number} alt altitude, in meters, of the origin of the local tangent plane * @returns {RangeCoordinates} An object that can do coordinate system conversions */ dis.RangeCoordinates = function(lat, lon, alt) { + /** + * @type {number} + * @instance + */ this.RADIANS_PER_DEGREE = 2 * Math.PI / 360.0; + + /** + * @type {number} + * @instance + */ this.DEGREES_PER_RADIAN = 360.0 / (2* Math.PI); - /** WGS84 semimajor axis (constant) */ + /** + * WGS84 semimajor axis (constant) + * @type {number} + * @instance + */ this.a = 6378137.0; - /** WGS84 semiminor axis (constant) */ + /** + * WGS84 semiminor axis (constant) + * @type {number} + * @instance + */ this.b = 6356752.3142; - /** Ellipsoidal Flatness (constant) */ + /** + * Ellipsoidal Flatness (constant) + * @type {number} + * @instance + */ this.f = (this.a - this.b) / this.a; // Should be 3.3528107 X 10^-3 - /** Eccentricity (constant) */ + /** + * Eccentricity (constant) + * @type {number} + * @instance + */ this.e = Math.sqrt(this.f * (2 - this.f)); // Should be 8.1819191 X 10^-2 - // The origin of the local, East-North-Up (ENU) coordinate system, in lat/lon degrees and meters. + /** + * The origin of the local, East-North-Up (ENU) coordinate system, in lat/lon degrees and meters. + * @type {LatLonAlt} + * @instance + */ this.ENUOrigin = {}; this.ENUOrigin.latitude = lat; this.ENUOrigin.longitude = lon; this.ENUOrigin.altitude = alt; - // Find the origin of the ENU in earth-centered, earth-fixed ECEF aka DIS coordinates + /** + * Find the origin of the ENU in earth-centered, earth-fixed ECEF aka DIS coordinates + * @type {Vector3Float} + * @instance + */ this.ENUOriginInECEF = {}; this.ENUOriginInECEF = this.latLonAltDegreesToECEF(lat, lon, alt); }; @@ -89,8 +121,8 @@ dis.RangeCoordinates = function(lat, lon, alt) * latitude to the Z-axis running through the center of the earth. * This is NOT the same as the distance to the center of the earth. * - * @param {float} lambda the latitude, in radians. - * @returns {float} distance in meters from the latitude to the axis of the earth + * @param {number} lambda the latitude, in radians. + * @returns {number} distance in meters from the latitude to the axis of the earth */ dis.RangeCoordinates.prototype.N = function(lambda) { @@ -103,8 +135,8 @@ dis.RangeCoordinates = function(lat, lon, alt) * Converts a latitude, longitude, and altitude object to DIS rectilinear * coordinates, aka earth-centered, earth-fixed, rectilinear. * - * @param {latitude:longitude:altitude:} latLonAlt The lat/lon/alt, in degrees and meters - * @returns {x, y, z} rectilienar coordinates in ECEF, aka DIS coordinates + * @param {LatLonAlt} latLonAlt The lat/lon/alt, in degrees and meters + * @returns {Vector3Float} rectilienar coordinates in ECEF, aka DIS coordinates */ dis.RangeCoordinates.prototype.latLonAltDegreesObjectToECEF = function(latLonAlt) { @@ -115,10 +147,10 @@ dis.RangeCoordinates = function(lat, lon, alt) * Converts a latitude, longitude, and altitude to DIS rectilinear * coordinates, aka earth-centered, earth-fixed, rectilinear. * - * @param {float} latitude (in radians) - * @param {float} longitude (in radians) - * @param {float} altitude (in meters) - * @returns {x, y, z} rectilienar coordinates in ECEF-r, aka DIS coordinates + * @param {number} latitude (in radians) + * @param {number} longitude (in radians) + * @param {number} altitude (in meters) + * @returns {Vector3Float} rectilienar coordinates in ECEF-r, aka DIS coordinates */ dis.RangeCoordinates.prototype.latLonAltRadiansToECEF = function(latitude, longitude, altitude) { @@ -146,12 +178,12 @@ dis.RangeCoordinates = function(lat, lon, alt) return {x:X, y:Y, z:Z}; }; - /* + /** * - * @param {type} latitude in degrees - * @param {type} longitude in degrees - * @param {type} altitude in meters - * @returns {x,y,z} coordinates in ECEF, in meters aka DIS global coordinates + * @param {number} latitude in degrees + * @param {number} longitude in degrees + * @param {number} altitude in meters + * @returns {Vector3Float} coordinates in ECEF, in meters aka DIS global coordinates */ dis.RangeCoordinates.prototype.latLonAltDegreesToECEF = function(latitude, longitude, altitude) { @@ -165,8 +197,8 @@ dis.RangeCoordinates = function(lat, lon, alt) * translated from C to Java to Javascript over the years, so hold onto your hats. (This is * copied from other sources than those listed above. Seems to work, though.) * - * @param position {x:, y:, z:} - * @return {latitude:, longitude: altitude:} + * @param {Vector3Float} position + * @return {LatLonAlt} */ dis.RangeCoordinates.prototype.ECEFObjectToLatLongAltInDegrees = function(position) { @@ -204,7 +236,7 @@ dis.RangeCoordinates = function(lat, lon, alt) { answer[1] = Math.atan(y/x) - Math.PI; } - /** + /* * Longitude calculation done. Now calculate latitude. * NOTE: The handbook mentions using the calculated phi (latitude) value to recalculate B * using tan B = (1-f) tan phi and then performing the entire calculation again to get more accurate values. @@ -216,7 +248,7 @@ dis.RangeCoordinates = function(lat, lon, alt) var tanPhi = (z + (ePrimeSquared * b * (Math.pow(Math.sin(BZero), 3))) ) /(W - (a * eSquared * (Math.pow(Math.cos(BZero), 3)))); var phi = Math.atan(tanPhi); answer[0] = phi; - /** + /* * Latitude done, now get the elevation. Note: The handbook states that near the poles, it is preferable to use * h = (Z / sin phi ) - rSubN + (eSquared * rSubN). Our applications are never near the poles, so this formula * was left unimplemented. @@ -236,8 +268,8 @@ dis.RangeCoordinates = function(lat, lon, alt) * Converts an ECEF position to the local ENU coordinate system. Units are meters, * and the origin of the ENU coordinate system is set in the constructor. * - * @param {x:y:z:} ecefPosition ecef position (in meters) - * @returns {x:y:z:} object with x, y, and z local coordinates, ENU + * @param {Vector3Float} ecefPosition ecef position (in meters) + * @returns {Vector3Float} object with x, y, and z local coordinates, ENU */ dis.RangeCoordinates.prototype.ECEFObjectToENU = function(ecefPosition) { @@ -248,10 +280,10 @@ dis.RangeCoordinates = function(lat, lon, alt) * Converts an ECEF position to the local ENU coordinate system. Units are meters, * and the origin of the ENU coordinate system is set in the constructor. * - * @param {float} X the X coordinate of the ECEF position - * @param {float} Y the Y coordinate - * @param {float} Z the Z coordinate - * @returns {x:y:z:} object with x, y, and z local coordinates, ENU + * @param {number} X the X coordinate of the ECEF position + * @param {number} Y the Y coordinate + * @param {number} Z the Z coordinate + * @returns {Vector3Float} object with x, y, and z local coordinates, ENU */ dis.RangeCoordinates.prototype.ECEFtoENU = function(X, Y, Z) { @@ -274,8 +306,8 @@ dis.RangeCoordinates = function(lat, lon, alt) /** * Converts a local coordinate system / ENU/ Local Tangent Plane object to ECEF, aka DIS coordinates. * - * @param enuPosition {x:y:z:} local coordinate object - * @returns {x:y:z:} point in ECEF / DIS coordinate system + * @param {Vector3Float} enuPosition local coordinate object + * @returns {Vector3Float} point in ECEF / DIS coordinate system */ dis.RangeCoordinates.prototype.ENUObjectToECEF = function(enuPosition) { @@ -285,10 +317,10 @@ dis.RangeCoordinates = function(lat, lon, alt) /** * Converts a local coordinate system / ENU/ Local Tangent Plane point to ECEF, aka DIS coordinates. * - * @param localX {float} local coordinate system X - * @param localY {float} local coordinate system Y - * @param localZ {float} local coordinate system Z - * @returns {x:y:z:} point in ECEF / DIS coordinate system + * @param {number} localX local coordinate system X + * @param {number} localY local coordinate system Y + * @param {number} localZ local coordinate system Z + * @returns {Vector3Float} point in ECEF / DIS coordinate system */ dis.RangeCoordinates.prototype.ENUtoECEF = function(localX, localY, localZ) { @@ -300,7 +332,7 @@ dis.RangeCoordinates = function(lat, lon, alt) var refLong = this.ENUOrigin.longitude; var refLat = this.ENUOrigin.latitude; - /** original code this was copied from + /* original code this was copied from function [X, Y, Z] = enu2xyz(refLat, refLong, refH, e, n, u) % Convert east, north, up coordinates (labeled e, n, u) to ECEF diff --git a/src/disSupporting/StringConversion.js b/src/disSupporting/StringConversion.js index 71c0b54..f86ee77 100644 --- a/src/disSupporting/StringConversion.js +++ b/src/disSupporting/StringConversion.js @@ -17,8 +17,8 @@ if (typeof exports === "undefined") * * It is recommended that only ASCII character set (character set = 1) * be used. - * - * @returns {undefined} + * @constructor + * @memberof dis */ dis.StringConversion = function() { @@ -28,8 +28,8 @@ dis.StringConversion = function() * Given a string, returns a DIS marking field. The character set is set to * 1, for ascii. The length is clamped to 11, and zero-filled if the string * is shorter than 11. - * - * @returns {array} disMarking field, 12 bytes long, character set = 1 (ascii) in 0, zero-filled to 11 character codes + * @param {string} markingString + * @returns {Array} disMarking field, 12 bytes long, character set = 1 (ascii) in 0, zero-filled to 11 character codes */ dis.StringConversion.prototype.StringToDisMarking = function(markingString) { @@ -63,7 +63,7 @@ dis.StringConversion.prototype.StringToDisMarking = function(markingString) /** * Given a DIS marking field, returns a string. Assumes always ascii. * - * @param {array} disMarking dis marking field, [0] = character set, the rest character codes + * @param {Array} disMarking dis marking field, [0] = character set, the rest character codes * @returns {string} string equivalent of the marking field */ dis.StringConversion.prototype.DisMarkingToString = function(disMarking) diff --git a/src/disSupporting/jsdoc-types.js b/src/disSupporting/jsdoc-types.js new file mode 100644 index 0000000..a901343 --- /dev/null +++ b/src/disSupporting/jsdoc-types.js @@ -0,0 +1,23 @@ +/** + * @namespace dis + */ + +/** + * @typedef {Object} LatLonAlt + * @memberof dis + * @property {number} latitude + * @property {number} longitude + * @property {number} altitude + */ + +/** + * Unfortunate re-typing of original LatLonAlt because one function + * in CoordinateConversion uses different variable names. + * + * TODO: Remove when getXYZfromLatLonAltDegrees uses LatLonAlt. + * @typedef {Object} LatLonAltShort + * @memberof dis + * @property {number} lat + * @property {number} lon + * @property {number} alt + */ \ No newline at end of file diff --git a/types-module.js b/types-module.js new file mode 100644 index 0000000..3da7b70 --- /dev/null +++ b/types-module.js @@ -0,0 +1,8 @@ + +let fs = require("fs"); +let filename = "types/types.d.ts"; + +let typeString = fs.readFileSync(filename, { encoding: 'utf8'}).toString(); +typeString = typeString.replace('declare namespace dis', 'declare module "open-dis"'); + +fs.writeFileSync(filename, typeString); \ No newline at end of file diff --git a/types/types.d.ts b/types/types.d.ts new file mode 100644 index 0000000..f7fae6b --- /dev/null +++ b/types/types.d.ts @@ -0,0 +1,6412 @@ +declare module "open-dis" { + class AcknowledgePdu { + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + */ + protocolVersion: number; + /** + * Exercise ID + */ + exerciseID: number; + /** + * Type of pdu, unique for each PDU class + */ + pduType: number; + /** + * value that refers to the protocol family, eg SimulationManagement, et + */ + protocolFamily: number; + /** + * Timestamp value + */ + timestamp: number; + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + */ + pduLength: number; + /** + * zero-filled array of padding + */ + padding: number; + /** + * Entity that is sending message + */ + originatingEntityID: number; + /** + * Entity that is intended to receive message + */ + receivingEntityID: number; + /** + * type of message being acknowledged + */ + acknowledgeFlag: number; + /** + * Whether or not the receiving entity was able to comply with the request + */ + responseFlag: number; + /** + * Request ID that is unique + */ + requestID: number; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class AcknowledgeReliablePdu { + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + */ + protocolVersion: number; + /** + * Exercise ID + */ + exerciseID: number; + /** + * Type of pdu, unique for each PDU class + */ + pduType: number; + /** + * value that refers to the protocol family, eg SimulationManagement, et + */ + protocolFamily: number; + /** + * Timestamp value + */ + timestamp: number; + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + */ + pduLength: number; + /** + * zero-filled array of padding + */ + padding: number; + /** + * Object originatig the request + */ + originatingEntityID: EntityID; + /** + * Object with which this point object is associated + */ + receivingEntityID: EntityID; + /** + * ack flags + */ + acknowledgeFlag: number; + /** + * response flags + */ + responseFlag: number; + /** + * Request ID + */ + requestID: number; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class AcousticBeamData { + /** + * beam data length + */ + beamDataLength: number; + /** + * beamIDNumber + */ + beamIDNumber: number; + /** + * padding + */ + pad2: number; + /** + * fundamental data parameters + */ + fundamentalDataParameters: AcousticBeamFundamentalParameter; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class AcousticBeamFundamentalParameter { + /** + * parameter index + */ + activeEmissionParameterIndex: number; + /** + * scan pattern + */ + scanPattern: number; + /** + * beam center azimuth + */ + beamCenterAzimuth: number; + /** + * azimuthal beamwidth + */ + azimuthalBeamwidth: number; + /** + * beam center + */ + beamCenterDE: number; + /** + * DE beamwidth (vertical beamwidth) + */ + deBeamwidth: number; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class AcousticEmitter { + /** + * the system for a particular UA emitter, and an enumeration + */ + acousticName: number; + /** + * The function of the acoustic system + */ + function: number; + /** + * The UA emitter identification number relative to a specific system + */ + acousticIdNumber: number; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class AcousticEmitterSystem { + /** + * This field shall specify the system for a particular UA emitter. + */ + acousticName: number; + /** + * This field shall describe the function of the acoustic system. + */ + acousticFunction: number; + /** + * This field shall specify the UA emitter identification number relative to a specific system. This field shall be represented by an 8-bit unsigned integer. This field allows the differentiation of multiple systems on an entity, even if in some instances two or more of the systems may be identical UA emitter types. Numbering of systems shall begin with the value 1. + */ + acousticID: number; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class AcousticEmitterSystemData { + /** + * Length of emitter system data + */ + emitterSystemDataLength: number; + /** + * Number of beams + */ + numberOfBeams: number; + /** + * padding + */ + pad2: number; + /** + * This field shall specify the system for a particular UA emitter. + */ + acousticEmitterSystem: AcousticEmitterSystem; + /** + * Represents the location wrt the entity + */ + emitterLocation: Vector3Float; + /** + * For each beam in numberOfBeams, an emitter system. This is not right--the beam records need to be at the end of the PDU, rather than attached to each system. + */ + beamRecords: AcousticBeamData[]; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class ActionRequestPdu { + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + */ + protocolVersion: number; + /** + * Exercise ID + */ + exerciseID: number; + /** + * Type of pdu, unique for each PDU class + */ + pduType: number; + /** + * value that refers to the protocol family, eg SimulationManagement, et + */ + protocolFamily: number; + /** + * Timestamp value + */ + timestamp: number; + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + */ + pduLength: number; + /** + * zero-filled array of padding + */ + padding: number; + /** + * Entity that is sending message + */ + originatingEntityID: EntityID; + /** + * Entity that is intended to receive message + */ + receivingEntityID: EntityID; + /** + * Request ID that is unique + */ + requestID: EntityID; + /** + * identifies the action being requested + */ + actionID: number; + /** + * Number of fixed datum records + */ + numberOfFixedDatumRecords: number; + /** + * Number of variable datum records + */ + numberOfVariableDatumRecords: number; + /** + * variable length list of fixed datums + */ + fixedDatums: FixedDatum[]; + /** + * variable length list of variable length datums + */ + variableDatums: VariableDatum[]; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class ActionRequestReliablePdu { + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + */ + protocolVersion: number; + /** + * Exercise ID + */ + exerciseID: number; + /** + * Type of pdu, unique for each PDU class + */ + pduType: number; + /** + * value that refers to the protocol family, eg SimulationManagement, et + */ + protocolFamily: number; + /** + * Timestamp value + */ + timestamp: number; + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + */ + pduLength: number; + /** + * zero-filled array of padding + */ + padding: number; + /** + * Object originatig the request + */ + originatingEntityID: EntityID; + /** + * Object with which this point object is associated + */ + receivingEntityID: EntityID; + /** + * level of reliability service used for this transaction + */ + requiredReliabilityService: number; + /** + * padding + */ + pad1: number; + /** + * padding + */ + pad2: number; + /** + * request ID + */ + requestID: number; + /** + * request ID + */ + actionID: number; + /** + * Fixed datum record count + */ + numberOfFixedDatumRecords: number; + /** + * variable datum record count + */ + numberOfVariableDatumRecords: number; + /** + * Fixed datum records + */ + fixedDatumRecords: FixedDatum[]; + /** + * Variable datum records + */ + variableDatumRecords: VariableDatum[]; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class ActionResponsePdu { + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + */ + protocolVersion: number; + /** + * Exercise ID + */ + exerciseID: number; + /** + * Type of pdu, unique for each PDU class + */ + pduType: number; + /** + * value that refers to the protocol family, eg SimulationManagement, et + */ + protocolFamily: number; + /** + * Timestamp value + */ + timestamp: number; + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + */ + pduLength: number; + /** + * zero-filled array of padding + */ + padding: number; + /** + * Entity that is sending message + */ + originatingEntityID: EntityID; + /** + * Entity that is intended to receive message + */ + receivingEntityID: EntityID; + /** + * Request ID that is unique + */ + requestID: EntityID; + /** + * Status of response + */ + requestStatus: number; + /** + * Number of fixed datum records + */ + numberOfFixedDatumRecords: number; + /** + * Number of variable datum records + */ + numberOfVariableDatumRecords: number; + /** + * variable length list of fixed datums + */ + fixedDatums: FixedDatum[]; + /** + * variable length list of variable length datums + */ + variableDatums: VariableDatum[]; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class ActionResponseReliablePdu { + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + */ + protocolVersion: number; + /** + * Exercise ID + */ + exerciseID: number; + /** + * Type of pdu, unique for each PDU class + */ + pduType: number; + /** + * value that refers to the protocol family, eg SimulationManagement, et + */ + protocolFamily: number; + /** + * Timestamp value + */ + timestamp: number; + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + */ + pduLength: number; + /** + * zero-filled array of padding + */ + padding: number; + /** + * Object originatig the request + */ + originatingEntityID: EntityID; + /** + * Object with which this point object is associated + */ + receivingEntityID: EntityID; + /** + * request ID + */ + requestID: number; + /** + * status of response + */ + responseStatus: number; + /** + * Fixed datum record count + */ + numberOfFixedDatumRecords: number; + /** + * variable datum record count + */ + numberOfVariableDatumRecords: number; + /** + * Fixed datum records + */ + fixedDatumRecords: FixedDatum[]; + /** + * Variable datum records + */ + variableDatumRecords: VariableDatum[]; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class AggregateID { + /** + * The site ID + */ + site: number; + /** + * The application ID + */ + application: number; + /** + * the aggregate ID + */ + aggregateID: number; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class AggregateMarking { + /** + * The character set + */ + characterSet: number; + /** + * The characters + */ + characters: number[]; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class AggregateStatePdu { + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + */ + protocolVersion: number; + /** + * Exercise ID + */ + exerciseID: number; + /** + * Type of pdu, unique for each PDU class + */ + pduType: number; + /** + * value that refers to the protocol family, eg SimulationManagement, et + */ + protocolFamily: number; + /** + * Timestamp value + */ + timestamp: number; + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + */ + pduLength: number; + /** + * zero-filled array of padding + */ + padding: number; + /** + * ID of aggregated entities + */ + aggregateID: EntityID; + /** + * force ID + */ + forceID: number; + /** + * state of aggregate + */ + aggregateState: number; + /** + * entity type of the aggregated entities + */ + aggregateType: EntityType; + /** + * formation of aggregated entities + */ + formation: number; + /** + * marking for aggregate; first char is charset type, rest is char data + */ + aggregateMarking: AggregateMarking; + /** + * dimensions of bounding box for the aggregated entities, origin at the center of mass + */ + dimensions: Vector3Float; + /** + * orientation of the bounding box + */ + orientation: Orientation; + /** + * center of mass of the aggregation + */ + centerOfMass: Vector3Double; + /** + * velocity of aggregation + */ + velocity: Vector3Float; + /** + * number of aggregates + */ + numberOfDisAggregates: number; + /** + * number of entities + */ + numberOfDisEntities: number; + /** + * number of silent aggregate types + */ + numberOfSilentAggregateTypes: number; + /** + * number of silent entity types + */ + numberOfSilentEntityTypes: number; + /** + * aggregates list + */ + aggregateIDList: AggregateID[]; + /** + * entity ID list + */ + entityIDList: EntityID[]; + /** + * ^^^padding to put the start of the next list on a 32 bit boundary. This needs to be fixed + */ + pad2: number; + /** + * silent entity types + */ + silentAggregateSystemList: EntityType[]; + /** + * silent entity types + */ + silentEntitySystemList: EntityType[]; + /** + * number of variable datum records + */ + numberOfVariableDatumRecords: number; + /** + * variableDatums + */ + variableDatumList: VariableDatum[]; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class AggregateType { + /** + * Kind of entity + */ + aggregateKind: number; + /** + * Domain of entity (air, surface, subsurface, space, etc) + */ + domain: number; + /** + * country to which the design of the entity is attributed + */ + country: number; + /** + * category of entity + */ + category: number; + /** + * subcategory of entity + */ + subcategory: number; + /** + * specific info based on subcategory field, sql has a reserved word for specific + */ + specificInfo: number; + extra: number; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class AngularVelocityVector { + /** + * velocity about the x axis + */ + x: number; + /** + * velocity about the y axis + */ + y: number; + /** + * velocity about the z axis + */ + z: number; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class AntennaLocation { + /** + * Location of the radiating portion of the antenna in world coordinates + */ + antennaLocation: Vector3Double; + /** + * Location of the radiating portion of the antenna in entity coordinates + */ + relativeAntennaLocation: Vector3Double; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class ApaData { + /** + * Index of APA parameter + */ + parameterIndex: number; + /** + * Index of APA parameter + */ + parameterValue: number; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class ArealObjectStatePdu { + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + */ + protocolVersion: number; + /** + * Exercise ID + */ + exerciseID: number; + /** + * Type of pdu, unique for each PDU class + */ + pduType: number; + /** + * value that refers to the protocol family, eg SimulationManagement, et + */ + protocolFamily: number; + /** + * Timestamp value + */ + timestamp: number; + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + */ + pduLength: number; + /** + * zero-filled array of padding + */ + padding: number; + /** + * Object in synthetic environment + */ + objectID: EntityID; + /** + * Object with which this point object is associated + */ + referencedObjectID: EntityID; + /** + * unique update number of each state transition of an object + */ + updateNumber: number; + /** + * force ID + */ + forceID: number; + /** + * modifications enumeration + */ + modifications: number; + /** + * Object type + */ + objectType: EntityType; + /** + * Object appearance + */ + objectAppearance: Chunk; + /** + * Number of points + */ + numberOfPoints: number; + /** + * requesterID + */ + requesterID: SimulationAddress; + /** + * receiver ID + */ + receivingID: SimulationAddress; + /** + * location of object + */ + objectLocation: Vector3Double[]; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class ArticulationParameter { + parameterTypeDesignator: number; + changeIndicator: number; + partAttachedTo: number; + parameterType: number; + parameterValue: number; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class BeamAntennaPattern { + /** + * The rotation that transformst he reference coordinate sytem into the beam coordinate system. Either world coordinates or entity coordinates may be used as the reference coordinate system, as specified by teh reference system field of the antenna pattern record. + */ + beamDirection: Orientation; + azimuthBeamwidth: number; + elevationBeamwidth: number; + referenceSystem: number; + padding1: number; + padding2: number; + /** + * Magnigute of the z-component in beam coordinates at some arbitrary single point in the mainbeam and in the far field of the antenna. + */ + ez: number; + /** + * Magnigute of the x-component in beam coordinates at some arbitrary single point in the mainbeam and in the far field of the antenna. + */ + ex: number; + /** + * THe phase angle between Ez and Ex in radians. + */ + phase: number; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class BeamData { + /** + * Specifies the beam azimuth an elevation centers and corresponding half-angles to describe the scan volume + */ + beamAzimuthCenter: number; + /** + * Specifies the beam azimuth sweep to determine scan volume + */ + beamAzimuthSweep: number; + /** + * Specifies the beam elevation center to determine scan volume + */ + beamElevationCenter: number; + /** + * Specifies the beam elevation sweep to determine scan volume + */ + beamElevationSweep: number; + /** + * allows receiver to synchronize its regenerated scan pattern to that of the emmitter. Specifies the percentage of time a scan is through its pattern from its origion. + */ + beamSweepSync: number; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class BurstDescriptor { + /** + * What munition was used in the burst + */ + munition: EntityType; + /** + * type of warhead + */ + warhead: number; + /** + * type of fuse used + */ + fuse: number; + /** + * how many of the munition were fired + */ + quantity: number; + /** + * rate at which the munition was fired + */ + rate: number; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class ClockTime { + /** + * Hours in UTC + */ + hour: number; + /** + * Time past the hour + */ + timePastHour: number; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class CollisionElasticPdu { + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + */ + protocolVersion: number; + /** + * Exercise ID + */ + exerciseID: number; + /** + * Type of pdu, unique for each PDU class + */ + pduType: number; + /** + * value that refers to the protocol family, eg SimulationManagement, et + */ + protocolFamily: number; + /** + * Timestamp value + */ + timestamp: number; + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + */ + pduLength: number; + /** + * zero-filled array of padding + */ + padding: number; + /** + * ID of the entity that issued the collision PDU + */ + issuingEntityID: EntityID; + /** + * ID of entity that has collided with the issuing entity ID + */ + collidingEntityID: EntityID; + /** + * ID of event + */ + collisionEventID: EventID; + /** + * some padding + */ + pad: number; + /** + * velocity at collision + */ + contactVelocity: Vector3Float; + /** + * mass of issuing entity + */ + mass: number; + /** + * Location with respect to entity the issuing entity collided with + */ + location: Vector3Float; + /** + * tensor values + */ + collisionResultXX: number; + /** + * tensor values + */ + collisionResultXY: number; + /** + * tensor values + */ + collisionResultXZ: number; + /** + * tensor values + */ + collisionResultYY: number; + /** + * tensor values + */ + collisionResultYZ: number; + /** + * tensor values + */ + collisionResultZZ: number; + /** + * This record shall represent the normal vector to the surface at the point of collision detection. The surface normal shall be represented in world coordinates. + */ + unitSurfaceNormal: Vector3Float; + /** + * This field shall represent the degree to which energy is conserved in a collision + */ + coefficientOfRestitution: number; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class CollisionPdu { + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + */ + protocolVersion: number; + /** + * Exercise ID + */ + exerciseID: number; + /** + * Type of pdu, unique for each PDU class + */ + pduType: number; + /** + * value that refers to the protocol family, eg SimulationManagement, et + */ + protocolFamily: number; + /** + * Timestamp value + */ + timestamp: number; + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + */ + pduLength: number; + /** + * zero-filled array of padding + */ + padding: number; + /** + * ID of the entity that issued the collision PDU + */ + issuingEntityID: EntityID; + /** + * ID of entity that has collided with the issuing entity ID + */ + collidingEntityID: EntityID; + /** + * ID of event + */ + eventID: EventID; + /** + * ID of event + */ + collisionType: EventID; + /** + * some padding + */ + pad: number; + /** + * velocity at collision + */ + velocity: Vector3Float; + /** + * mass of issuing entity + */ + mass: number; + /** + * Location with respect to entity the issuing entity collided with + */ + location: Vector3Float; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class CommentPdu { + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + */ + protocolVersion: number; + /** + * Exercise ID + */ + exerciseID: number; + /** + * Type of pdu, unique for each PDU class + */ + pduType: number; + /** + * value that refers to the protocol family, eg SimulationManagement, et + */ + protocolFamily: number; + /** + * Timestamp value + */ + timestamp: number; + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + */ + pduLength: number; + /** + * zero-filled array of padding + */ + padding: number; + /** + * Entity that is sending message + */ + originatingEntityID: EntityID; + /** + * Entity that is intended to receive message + */ + receivingEntityID: EntityID; + /** + * Number of fixed datum records + */ + numberOfFixedDatumRecords: number; + /** + * Number of variable datum records + */ + numberOfVariableDatumRecords: number; + /** + * variable length list of fixed datums + */ + fixedDatums: FixedDatum[]; + /** + * variable length list of variable length datums + */ + variableDatums: VariableDatum[]; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class CommentReliablePdu { + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + */ + protocolVersion: number; + /** + * Exercise ID + */ + exerciseID: number; + /** + * Type of pdu, unique for each PDU class + */ + pduType: number; + /** + * value that refers to the protocol family, eg SimulationManagement, et + */ + protocolFamily: number; + /** + * Timestamp value + */ + timestamp: number; + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + */ + pduLength: number; + /** + * zero-filled array of padding + */ + padding: number; + /** + * Object originatig the request + */ + originatingEntityID: EntityID; + /** + * Object with which this point object is associated + */ + receivingEntityID: EntityID; + /** + * Fixed datum record count + */ + numberOfFixedDatumRecords: number; + /** + * variable datum record count + */ + numberOfVariableDatumRecords: number; + /** + * Fixed datum records + */ + fixedDatumRecords: FixedDatum[]; + /** + * Variable datum records + */ + variableDatumRecords: VariableDatum[]; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class CreateEntityPdu { + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + */ + protocolVersion: number; + /** + * Exercise ID + */ + exerciseID: number; + /** + * Type of pdu, unique for each PDU class + */ + pduType: number; + /** + * value that refers to the protocol family, eg SimulationManagement, et + */ + protocolFamily: number; + /** + * Timestamp value + */ + timestamp: number; + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + */ + pduLength: number; + /** + * zero-filled array of padding + */ + padding: number; + /** + * Entity that is sending message + */ + originatingEntityID: EntityID; + /** + * Entity that is intended to receive message + */ + receivingEntityID: EntityID; + /** + * Identifier for the request + */ + requestID: number; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class CreateEntityReliablePdu { + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + */ + protocolVersion: number; + /** + * Exercise ID + */ + exerciseID: number; + /** + * Type of pdu, unique for each PDU class + */ + pduType: number; + /** + * value that refers to the protocol family, eg SimulationManagement, et + */ + protocolFamily: number; + /** + * Timestamp value + */ + timestamp: number; + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + */ + pduLength: number; + /** + * zero-filled array of padding + */ + padding: number; + /** + * Object originatig the request + */ + originatingEntityID: EntityID; + /** + * Object with which this point object is associated + */ + receivingEntityID: EntityID; + /** + * level of reliability service used for this transaction + */ + requiredReliabilityService: number; + /** + * padding + */ + pad1: number; + /** + * padding + */ + pad2: number; + /** + * Request ID + */ + requestID: number; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class DataPdu { + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + */ + protocolVersion: number; + /** + * Exercise ID + */ + exerciseID: number; + /** + * Type of pdu, unique for each PDU class + */ + pduType: number; + /** + * value that refers to the protocol family, eg SimulationManagement, et + */ + protocolFamily: number; + /** + * Timestamp value + */ + timestamp: number; + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + */ + pduLength: number; + /** + * zero-filled array of padding + */ + padding: number; + /** + * Entity that is sending message + */ + originatingEntityID: EntityID; + /** + * Entity that is intended to receive message + */ + receivingEntityID: EntityID; + /** + * ID of request + */ + requestID: number; + /** + * padding + */ + padding1: number; + /** + * Number of fixed datum records + */ + numberOfFixedDatumRecords: number; + /** + * Number of variable datum records + */ + numberOfVariableDatumRecords: number; + /** + * variable length list of fixed datums + */ + fixedDatums: FixedDatum[]; + /** + * variable length list of variable length datums + */ + variableDatums: VariableDatum[]; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class DataQueryPdu { + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + */ + protocolVersion: number; + /** + * Exercise ID + */ + exerciseID: number; + /** + * Type of pdu, unique for each PDU class + */ + pduType: number; + /** + * value that refers to the protocol family, eg SimulationManagement, et + */ + protocolFamily: number; + /** + * Timestamp value + */ + timestamp: number; + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + */ + pduLength: number; + /** + * zero-filled array of padding + */ + padding: number; + /** + * Entity that is sending message + */ + originatingEntityID: EntityID; + /** + * Entity that is intended to receive message + */ + receivingEntityID: EntityID; + /** + * ID of request + */ + requestID: number; + /** + * time issues between issues of Data PDUs. Zero means send once only. + */ + timeInterval: number; + /** + * Number of fixed datum records + */ + numberOfFixedDatumRecords: number; + /** + * Number of variable datum records + */ + numberOfVariableDatumRecords: number; + /** + * variable length list of fixed datums + */ + fixedDatums: FixedDatum[]; + /** + * variable length list of variable length datums + */ + variableDatums: VariableDatum[]; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class DataQueryReliablePdu { + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + */ + protocolVersion: number; + /** + * Exercise ID + */ + exerciseID: number; + /** + * Type of pdu, unique for each PDU class + */ + pduType: number; + /** + * value that refers to the protocol family, eg SimulationManagement, et + */ + protocolFamily: number; + /** + * Timestamp value + */ + timestamp: number; + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + */ + pduLength: number; + /** + * zero-filled array of padding + */ + padding: number; + /** + * Object originatig the request + */ + originatingEntityID: EntityID; + /** + * Object with which this point object is associated + */ + receivingEntityID: EntityID; + /** + * level of reliability service used for this transaction + */ + requiredReliabilityService: number; + /** + * padding + */ + pad1: number; + /** + * padding + */ + pad2: number; + /** + * request ID + */ + requestID: number; + /** + * time interval between issuing data query PDUs + */ + timeInterval: number; + /** + * Fixed datum record count + */ + numberOfFixedDatumRecords: number; + /** + * variable datum record count + */ + numberOfVariableDatumRecords: number; + /** + * Fixed datum records + */ + fixedDatumRecords: FixedDatum[]; + /** + * Variable datum records + */ + variableDatumRecords: VariableDatum[]; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class DataReliablePdu { + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + */ + protocolVersion: number; + /** + * Exercise ID + */ + exerciseID: number; + /** + * Type of pdu, unique for each PDU class + */ + pduType: number; + /** + * value that refers to the protocol family, eg SimulationManagement, et + */ + protocolFamily: number; + /** + * Timestamp value + */ + timestamp: number; + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + */ + pduLength: number; + /** + * zero-filled array of padding + */ + padding: number; + /** + * Object originatig the request + */ + originatingEntityID: EntityID; + /** + * Object with which this point object is associated + */ + receivingEntityID: EntityID; + /** + * Request ID + */ + requestID: number; + /** + * level of reliability service used for this transaction + */ + requiredReliabilityService: number; + /** + * padding + */ + pad1: number; + /** + * padding + */ + pad2: number; + /** + * Fixed datum record count + */ + numberOfFixedDatumRecords: number; + /** + * variable datum record count + */ + numberOfVariableDatumRecords: number; + /** + * Fixed datum records + */ + fixedDatumRecords: FixedDatum[]; + /** + * Variable datum records + */ + variableDatumRecords: VariableDatum[]; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class DeadReckoningParameter { + /** + * enumeration of what dead reckoning algorighm to use + */ + deadReckoningAlgorithm: number; + /** + * other parameters to use in the dead reckoning algorithm + */ + otherParameters: number[]; + /** + * Linear acceleration of the entity + */ + entityLinearAcceleration: Vector3Float; + /** + * angular velocity of the entity + */ + entityAngularVelocity: Vector3Float; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class DesignatorPdu { + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + */ + protocolVersion: number; + /** + * Exercise ID + */ + exerciseID: number; + /** + * Type of pdu, unique for each PDU class + */ + pduType: number; + /** + * value that refers to the protocol family, eg SimulationManagement, et + */ + protocolFamily: number; + /** + * Timestamp value + */ + timestamp: number; + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + */ + pduLength: number; + /** + * zero-filled array of padding + */ + padding: number; + /** + * ID of the entity designating + */ + designatingEntityID: EntityID; + /** + * This field shall specify a unique emitter database number assigned to differentiate between otherwise similar or identical emitter beams within an emitter system. + */ + codeName: number; + /** + * ID of the entity being designated + */ + designatedEntityID: EntityID; + /** + * This field shall identify the designator code being used by the designating entity + */ + designatorCode: number; + /** + * This field shall identify the designator output power in watts + */ + designatorPower: number; + /** + * This field shall identify the designator wavelength in units of microns + */ + designatorWavelength: number; + /** + * designtor spot wrt the designated entity + */ + designatorSpotWrtDesignated: Vector3Float; + /** + * designtor spot wrt the designated entity + */ + designatorSpotLocation: Vector3Float; + /** + * Dead reckoning algorithm + */ + deadReckoningAlgorithm: number; + /** + * padding + */ + padding1: number; + /** + * padding + */ + padding2: number; + /** + * linear accelleration of entity + */ + entityLinearAcceleration: Vector3Float; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class DetonationPdu { + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + */ + protocolVersion: number; + /** + * Exercise ID + */ + exerciseID: number; + /** + * Type of pdu, unique for each PDU class + */ + pduType: number; + /** + * value that refers to the protocol family, eg SimulationManagement, et + */ + protocolFamily: number; + /** + * Timestamp value + */ + timestamp: number; + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + */ + pduLength: number; + /** + * zero-filled array of padding + */ + padding: number; + /** + * ID of the entity that shot + */ + firingEntityID: EntityID; + /** + * ID of the entity that is being shot at + */ + targetEntityID: EntityID; + /** + * ID of muntion that was fired + */ + munitionID: EntityID; + /** + * ID firing event + */ + eventID: EventID; + /** + * ID firing event + */ + velocity: Vector3Float; + /** + * where the detonation is, in world coordinates + */ + locationInWorldCoordinates: Vector3Double; + /** + * Describes munition used + */ + burstDescriptor: BurstDescriptor; + /** + * location of the detonation or impact in the target entity's coordinate system. This information should be used for damage assessment. + */ + locationInEntityCoordinates: Vector3Float; + /** + * result of the explosion + */ + detonationResult: number; + /** + * How many articulation parameters we have + */ + numberOfArticulationParameters: number; + /** + * padding + */ + pad: number; + articulationParameters: ArticulationParameter[]; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class DistributedEmissionsFamilyPdu { + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + */ + protocolVersion: number; + /** + * Exercise ID + */ + exerciseID: number; + /** + * Type of pdu, unique for each PDU class + */ + pduType: number; + /** + * value that refers to the protocol family, eg SimulationManagement, et + */ + protocolFamily: number; + /** + * Timestamp value + */ + timestamp: number; + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + */ + pduLength: number; + /** + * zero-filled array of padding + */ + padding: number; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class ElectronicEmissionBeamData { + /** + * This field shall specify the length of this beams data in 32 bit words + */ + beamDataLength: number; + /** + * This field shall specify a unique emitter database number assigned to differentiate between otherwise similar or identical emitter beams within an emitter system. + */ + beamIDNumber: number; + /** + * This field shall specify a Beam Parameter Index number that shall be used by receiving entities in conjunction with the Emitter Name field to provide a pointer to the stored database parameters required to regenerate the beam. + */ + beamParameterIndex: number; + /** + * Fundamental parameter data such as frequency range, beam sweep, etc. + */ + fundamentalParameterData: FundamentalParameterData; + /** + * beam function of a particular beam + */ + beamFunction: number; + /** + * Number of track/jam targets + */ + numberOfTrackJamTargets: number; + /** + * wheher or not the receiving simulation apps can assume all the targets in the scan pattern are being tracked/jammed + */ + highDensityTrackJam: number; + /** + * padding + */ + pad4: number; + /** + * identify jamming techniques used + */ + jammingModeSequence: number; + /** + * variable length variablelist of track/jam targets + */ + trackJamTargets: TrackJamTarget[]; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class ElectronicEmissionsPdu { + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + */ + protocolVersion: number; + /** + * Exercise ID + */ + exerciseID: number; + /** + * Type of pdu, unique for each PDU class + */ + pduType: number; + /** + * value that refers to the protocol family, eg SimulationManagement, et + */ + protocolFamily: number; + /** + * Timestamp value + */ + timestamp: number; + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + */ + pduLength: number; + /** + * zero-filled array of padding + */ + padding: number; + /** + * ID of the entity emitting + */ + emittingEntityID: EntityID; + /** + * ID of event + */ + eventID: EventID; + /** + * This field shall be used to indicate if the data in the PDU represents a state update or just data that has changed since issuance of the last Electromagnetic Emission PDU [relative to the identified entity and emission system(s)]. + */ + stateUpdateIndicator: number; + /** + * This field shall specify the number of emission systems being described in the current PDU. + */ + numberOfSystems: number; + /** + * padding + */ + paddingForEmissionsPdu: number; + /** + * Electronic emmissions systems + */ + systems: ElectronicEmissionSystemData[]; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class ElectronicEmissionSystemData { + /** + * This field shall specify the length of this emitter system�s data (including beam data and its track/jam information) in 32-bit words. The length shall include the System Data Length field. + */ + systemDataLength: number; + /** + * This field shall specify the number of beams being described in the current PDU for the system being described. + */ + numberOfBeams: number; + /** + * padding. + */ + emissionsPadding2: number; + /** + * This field shall specify information about a particular emitter system + */ + emitterSystem: EmitterSystem; + /** + * Location with respect to the entity + */ + location: Vector3Float; + /** + * variable length variablelist of beam data records + */ + beamDataRecords: ElectronicEmissionBeamData[]; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class EmitterSystem { + /** + * Name of the emitter, 16 bit enumeration + */ + emitterName: number; + /** + * function of the emitter, 8 bit enumeration + */ + function: number; + /** + * emitter ID, 8 bit enumeration + */ + emitterIdNumber: number; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class EntityID { + /** + * The site ID + */ + site: number; + /** + * The application ID + */ + application: number; + /** + * the entity ID + */ + entity: number; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class EntityInformationFamilyPdu { + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + */ + protocolVersion: number; + /** + * Exercise ID + */ + exerciseID: number; + /** + * Type of pdu, unique for each PDU class + */ + pduType: number; + /** + * value that refers to the protocol family, eg SimulationManagement, et + */ + protocolFamily: number; + /** + * Timestamp value + */ + timestamp: number; + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + */ + pduLength: number; + /** + * zero-filled array of padding + */ + padding: number; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class EntityManagementFamilyPdu { + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + */ + protocolVersion: number; + /** + * Exercise ID + */ + exerciseID: number; + /** + * Type of pdu, unique for each PDU class + */ + pduType: number; + /** + * value that refers to the protocol family, eg SimulationManagement, et + */ + protocolFamily: number; + /** + * Timestamp value + */ + timestamp: number; + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + */ + pduLength: number; + /** + * zero-filled array of padding + */ + padding: number; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class EntityStatePdu { + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + */ + protocolVersion: number; + /** + * Exercise ID + */ + exerciseID: number; + /** + * Type of pdu, unique for each PDU class + */ + pduType: number; + /** + * value that refers to the protocol family, eg SimulationManagement, et + */ + protocolFamily: number; + /** + * Timestamp value + */ + timestamp: number; + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + */ + pduLength: number; + /** + * zero-filled array of padding + */ + padding: number; + /** + * Unique ID for an entity that is tied to this state information + */ + entityID: EntityID; + /** + * What force this entity is affiliated with, eg red, blue, neutral, etc + */ + forceId: number; + /** + * How many articulation parameters are in the variable length list + */ + numberOfArticulationParameters: number; + /** + * Describes the type of entity in the world + */ + entityType: EntityType; + alternativeEntityType: EntityType; + /** + * Describes the speed of the entity in the world + */ + entityLinearVelocity: Vector3Float; + /** + * describes the location of the entity in the world + */ + entityLocation: Vector3Double; + /** + * describes the orientation of the entity, in euler angles + */ + entityOrientation: Orientation; + /** + * a series of bit flags that are used to help draw the entity, such as smoking, on fire, etc. + */ + entityAppearance: number; + /** + * parameters used for dead reckoning + */ + deadReckoningParameters: DeadReckoningParameter; + /** + * characters that can be used for debugging, or to draw unique strings on the side of entities in the world + */ + marking: Marking; + /** + * a series of bit flags + */ + capabilities: number; + /** + * variable length list of articulation parameters + */ + articulationParameters: ArticulationParameter[]; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + /** + * @returns 0 uniform color, 1 camouflage + */ + getEntityAppearance_paintScheme(): number; + /** + * @param val - 0 uniform color, 1 camouflage + */ + setEntityAppearance_paintScheme(val: number): void; + /** + * @returns 0 no mobility kill, 1 mobility kill + */ + getEntityAppearance_mobility(): number; + /** + * @param val - 0 no mobility kill, 1 mobility kill + */ + setEntityAppearance_mobility(val: number): void; + /** + * @returns 0 no firepower iill, 1 firepower kill + */ + getEntityAppearance_firepower(): number; + /** + * @param val - 0 no firepower iill, 1 firepower kill + */ + setEntityAppearance_firepower(val: number): void; + /** + * @returns 0 no damage, 1 slight damage, 2 moderate, 3 destroyed + */ + getEntityAppearance_damage(): number; + /** + * @param val - 0 no damage, 1 slight damage, 2 moderate, 3 destroyed + */ + setEntityAppearance_damage(val: number): void; + /** + * @returns 0 no smoke, 1 smoke plume, 2 engine smoke, 3 engine smoke and plume + */ + getEntityAppearance_smoke(): number; + /** + * @param val - 0 no smoke, 1 smoke plume, 2 engine smoke, 3 engine smoke and plume + */ + setEntityAppearance_smoke(val: number): void; + /** + * @returns dust cloud, 0 none 1 small 2 medium 3 large + */ + getEntityAppearance_trailingEffects(): number; + /** + * @param val - dust cloud, 0 none 1 small 2 medium 3 large + */ + setEntityAppearance_trailingEffects(val: number): void; + /** + * @returns 0 NA 1 closed popped 3 popped and person visible 4 open 5 open and person visible + */ + getEntityAppearance_hatch(): number; + /** + * @param val - 0 NA 1 closed popped 3 popped and person visible 4 open 5 open and person visible + */ + setEntityAppearance_hatch(val: number): void; + /** + * @returns 0 off 1 on + */ + getEntityAppearance_headlights(): number; + /** + * @param val - 0 off 1 on + */ + setEntityAppearance_headlights(val: number): void; + /** + * @returns 0 off 1 on + */ + getEntityAppearance_tailLights(): number; + /** + * @param val - 0 off 1 on + */ + setEntityAppearance_tailLights(val: number): void; + /** + * @returns 0 off 1 on + */ + getEntityAppearance_brakeLights(): number; + /** + * @param val - 0 off 1 on + */ + setEntityAppearance_brakeLights(val: number): void; + /** + * @returns 0 off 1 on + */ + getEntityAppearance_flaming(): number; + /** + * @param val - 0 off 1 on + */ + setEntityAppearance_flaming(val: number): void; + /** + * @returns 0 not raised 1 raised + */ + getEntityAppearance_launcher(): number; + /** + * @param val - 0 not raised 1 raised + */ + setEntityAppearance_launcher(val: number): void; + /** + * @returns 0 desert 1 winter 2 forest 3 unused + */ + getEntityAppearance_camouflageType(): number; + /** + * @param val - 0 desert 1 winter 2 forest 3 unused + */ + setEntityAppearance_camouflageType(val: number): void; + } + class EntityStateUpdatePdu { + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + */ + protocolVersion: number; + /** + * Exercise ID + */ + exerciseID: number; + /** + * Type of pdu, unique for each PDU class + */ + pduType: number; + /** + * value that refers to the protocol family, eg SimulationManagement, et + */ + protocolFamily: number; + /** + * Timestamp value + */ + timestamp: number; + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + */ + pduLength: number; + /** + * zero-filled array of padding + */ + padding: number; + /** + * This field shall identify the entity issuing the PDU + */ + entityID: EntityID; + /** + * Padding + */ + padding1: number; + /** + * How many articulation parameters are in the variable length list + */ + numberOfArticulationParameters: number; + /** + * Describes the speed of the entity in the world + */ + entityLinearVelocity: Vector3Float; + /** + * describes the location of the entity in the world + */ + entityLocation: Vector3Double; + /** + * describes the orientation of the entity, in euler angles + */ + entityOrientation: Orientation; + /** + * a series of bit flags that are used to help draw the entity, such as smoking, on fire, etc. + */ + entityAppearance: number; + articulationParameters: ArticulationParameter[]; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + /** + * 0 uniform color, 1 camouflage + */ + getEntityAppearance_paintScheme(): void; + /** + * 0 uniform color, 1 camouflage + */ + setEntityAppearance_paintScheme(): void; + /** + * 0 no mobility kill, 1 mobility kill + */ + getEntityAppearance_mobility(): void; + /** + * 0 no mobility kill, 1 mobility kill + */ + setEntityAppearance_mobility(): void; + /** + * 0 no firepower iill, 1 firepower kill + */ + getEntityAppearance_firepower(): void; + /** + * 0 no firepower iill, 1 firepower kill + */ + setEntityAppearance_firepower(): void; + /** + * 0 no damage, 1 slight damage, 2 moderate, 3 destroyed + */ + getEntityAppearance_damage(): void; + /** + * 0 no damage, 1 slight damage, 2 moderate, 3 destroyed + */ + setEntityAppearance_damage(): void; + /** + * 0 no smoke, 1 smoke plume, 2 engine smoke, 3 engine smoke and plume + */ + getEntityAppearance_smoke(): void; + /** + * 0 no smoke, 1 smoke plume, 2 engine smoke, 3 engine smoke and plume + */ + setEntityAppearance_smoke(): void; + /** + * dust cloud, 0 none 1 small 2 medium 3 large + */ + getEntityAppearance_trailingEffects(): void; + /** + * dust cloud, 0 none 1 small 2 medium 3 large + */ + setEntityAppearance_trailingEffects(): void; + /** + * 0 NA 1 closed popped 3 popped and person visible 4 open 5 open and person visible + */ + getEntityAppearance_hatch(): void; + /** + * 0 NA 1 closed popped 3 popped and person visible 4 open 5 open and person visible + */ + setEntityAppearance_hatch(): void; + /** + * 0 off 1 on + */ + getEntityAppearance_headlights(): void; + /** + * 0 off 1 on + */ + setEntityAppearance_headlights(): void; + /** + * 0 off 1 on + */ + getEntityAppearance_tailLights(): void; + /** + * 0 off 1 on + */ + setEntityAppearance_tailLights(): void; + /** + * 0 off 1 on + */ + getEntityAppearance_brakeLights(): void; + /** + * 0 off 1 on + */ + setEntityAppearance_brakeLights(): void; + /** + * 0 off 1 on + */ + getEntityAppearance_flaming(): void; + /** + * 0 off 1 on + */ + setEntityAppearance_flaming(): void; + /** + * 0 not raised 1 raised + */ + getEntityAppearance_launcher(): void; + /** + * 0 not raised 1 raised + */ + setEntityAppearance_launcher(): void; + /** + * 0 desert 1 winter 2 forest 3 unused + */ + getEntityAppearance_camouflageType(): void; + /** + * 0 desert 1 winter 2 forest 3 unused + */ + setEntityAppearance_camouflageType(): void; + } + class EntityType { + /** + * Kind of entity + */ + entityKind: number; + /** + * Domain of entity (air, surface, subsurface, space, etc) + */ + domain: number; + /** + * country to which the design of the entity is attributed + */ + country: number; + /** + * category of entity + */ + category: number; + /** + * subcategory of entity + */ + subcategory: number; + /** + * specific info based on subcategory field. Renamed from specific because that is a reserved word in SQL + */ + spec: number; + extra: number; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class Environment { + /** + * Record type + */ + environmentType: number; + /** + * length, in bits + */ + length: number; + /** + * Identify the sequentially numbered record index + */ + recordIndex: number; + /** + * padding + */ + padding1: number; + /** + * Geometry or state record + */ + geometry: number; + /** + * padding to bring the total size up to a 64 bit boundry + */ + padding2: number; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class EnvironmentalProcessPdu { + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + */ + protocolVersion: number; + /** + * Exercise ID + */ + exerciseID: number; + /** + * Type of pdu, unique for each PDU class + */ + pduType: number; + /** + * value that refers to the protocol family, eg SimulationManagement, et + */ + protocolFamily: number; + /** + * Timestamp value + */ + timestamp: number; + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + */ + pduLength: number; + /** + * zero-filled array of padding + */ + padding: number; + /** + * Environmental process ID + */ + environementalProcessID: EntityID; + /** + * Environment type + */ + environmentType: EntityType; + /** + * model type + */ + modelType: number; + /** + * Environment status + */ + environmentStatus: number; + /** + * number of environment records + */ + numberOfEnvironmentRecords: number; + /** + * PDU sequence number for the environmentla process if pdu sequencing required + */ + sequenceNumber: number; + /** + * environemt records + */ + environmentRecords: Environment[]; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class EventID { + /** + * The site ID + */ + site: number; + /** + * The application ID + */ + application: number; + /** + * the number of the event + */ + eventNumber: number; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class EventReportPdu { + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + */ + protocolVersion: number; + /** + * Exercise ID + */ + exerciseID: number; + /** + * Type of pdu, unique for each PDU class + */ + pduType: number; + /** + * value that refers to the protocol family, eg SimulationManagement, et + */ + protocolFamily: number; + /** + * Timestamp value + */ + timestamp: number; + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + */ + pduLength: number; + /** + * zero-filled array of padding + */ + padding: number; + /** + * Entity that is sending message + */ + originatingEntityID: EntityID; + /** + * Entity that is intended to receive message + */ + receivingEntityID: EntityID; + /** + * Type of event + */ + eventType: number; + /** + * padding + */ + padding1: number; + /** + * Number of fixed datum records + */ + numberOfFixedDatumRecords: number; + /** + * Number of variable datum records + */ + numberOfVariableDatumRecords: number; + /** + * variable length list of fixed datums + */ + fixedDatums: FixedDatum[]; + /** + * variable length list of variable length datums + */ + variableDatums: VariableDatum[]; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class EventReportReliablePdu { + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + */ + protocolVersion: number; + /** + * Exercise ID + */ + exerciseID: number; + /** + * Type of pdu, unique for each PDU class + */ + pduType: number; + /** + * value that refers to the protocol family, eg SimulationManagement, et + */ + protocolFamily: number; + /** + * Timestamp value + */ + timestamp: number; + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + */ + pduLength: number; + /** + * zero-filled array of padding + */ + padding: number; + /** + * Object originatig the request + */ + originatingEntityID: EntityID; + /** + * Object with which this point object is associated + */ + receivingEntityID: EntityID; + /** + * Event type + */ + eventType: number; + /** + * padding + */ + pad1: number; + /** + * Fixed datum record count + */ + numberOfFixedDatumRecords: number; + /** + * variable datum record count + */ + numberOfVariableDatumRecords: number; + /** + * Fixed datum records + */ + fixedDatumRecords: FixedDatum[]; + /** + * Variable datum records + */ + variableDatumRecords: VariableDatum[]; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class FastEntityStatePdu { + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + */ + protocolVersion: number; + /** + * Exercise ID + */ + exerciseID: number; + /** + * Type of pdu, unique for each PDU class + */ + pduType: number; + /** + * value that refers to the protocol family, eg SimulationManagement, et + */ + protocolFamily: number; + /** + * Timestamp value + */ + timestamp: number; + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + */ + pduLength: number; + /** + * zero-filled array of padding + */ + padding: number; + /** + * The site ID + */ + site: number; + /** + * The application ID + */ + application: number; + /** + * the entity ID + */ + entity: number; + /** + * what force this entity is affiliated with, eg red, blue, neutral, etc + */ + forceId: number; + /** + * How many articulation parameters are in the variable length list + */ + numberOfArticulationParameters: number; + /** + * Kind of entity + */ + entityKind: number; + /** + * Domain of entity (air, surface, subsurface, space, etc) + */ + domain: number; + /** + * country to which the design of the entity is attributed + */ + country: number; + /** + * category of entity + */ + category: number; + /** + * subcategory of entity + */ + subcategory: number; + /** + * specific info based on subcategory field. Name changed from specific because that is a reserved word in SQL. + */ + specif: number; + extra: number; + /** + * Kind of entity + */ + altEntityKind: number; + /** + * Domain of entity (air, surface, subsurface, space, etc) + */ + altDomain: number; + /** + * country to which the design of the entity is attributed + */ + altCountry: number; + /** + * category of entity + */ + altCategory: number; + /** + * subcategory of entity + */ + altSubcategory: number; + /** + * specific info based on subcategory field + */ + altSpecific: number; + altExtra: number; + /** + * X velo + */ + xVelocity: number; + /** + * y Value + */ + yVelocity: number; + /** + * Z value + */ + zVelocity: number; + /** + * X value + */ + xLocation: number; + /** + * y Value + */ + yLocation: number; + /** + * Z value + */ + zLocation: number; + psi: number; + theta: number; + phi: number; + /** + * a series of bit flags that are used to help draw the entity, such as smoking, on fire, etc. + */ + entityAppearance: number; + /** + * enumeration of what dead reckoning algorighm to use + */ + deadReckoningAlgorithm: number; + /** + * other parameters to use in the dead reckoning algorithm + */ + otherParameters: number[]; + /** + * X value + */ + xAcceleration: number; + /** + * y Value + */ + yAcceleration: number; + /** + * Z value + */ + zAcceleration: number; + /** + * X value + */ + xAngularVelocity: number; + /** + * y Value + */ + yAngularVelocity: number; + /** + * Z value + */ + zAngularVelocity: number; + /** + * characters that can be used for debugging, or to draw unique strings on the side of entities in the world + */ + marking: number[]; + /** + * a series of bit flags + */ + capabilities: number; + /** + * variable length list of articulation parameters + */ + articulationParameters: ArticulationParameter[]; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + /** + * @returns 0 uniform color, 1 camouflage + */ + getEntityAppearance_paintScheme(): number; + /** + * @param val - 0 uniform color, 1 camouflage + */ + setEntityAppearance_paintScheme(val: number): void; + /** + * @returns 0 no mobility kill, 1 mobility kill + */ + getEntityAppearance_mobility(): number; + /** + * @param val - 0 no mobility kill, 1 mobility kill + */ + setEntityAppearance_mobility(val: number): void; + /** + * @returns 0 no firepower iill, 1 firepower kill + */ + getEntityAppearance_firepower(): number; + /** + * @param val - 0 no firepower iill, 1 firepower kill + */ + setEntityAppearance_firepower(val: number): void; + /** + * @returns 0 no damage, 1 slight damage, 2 moderate, 3 destroyed + */ + getEntityAppearance_damage(): number; + /** + * @param val - 0 no damage, 1 slight damage, 2 moderate, 3 destroyed + */ + setEntityAppearance_damage(val: number): void; + /** + * @returns 0 no smoke, 1 smoke plume, 2 engine smoke, 3 engine smoke and plume + */ + getEntityAppearance_smoke(): number; + /** + * @param val - 0 no smoke, 1 smoke plume, 2 engine smoke, 3 engine smoke and plume + */ + setEntityAppearance_smoke(val: number): void; + /** + * @param val - dust cloud, 0 none 1 small 2 medium 3 large + */ + getEntityAppearance_trailingEffects(val: number): void; + /** + * @param val - dust cloud, 0 none 1 small 2 medium 3 large + */ + setEntityAppearance_trailingEffects(val: number): void; + /** + * @returns 0 NA 1 closed popped 3 popped and person visible 4 open 5 open and person visible + */ + getEntityAppearance_hatch(): number; + /** + * @param val - 0 NA 1 closed popped 3 popped and person visible 4 open 5 open and person visible + */ + setEntityAppearance_hatch(val: number): void; + /** + * @returns 0 off 1 on + */ + getEntityAppearance_headlights(): number; + /** + * @param val - 0 off 1 on + */ + setEntityAppearance_headlights(val: number): void; + /** + * @returns 0 off 1 on + */ + getEntityAppearance_tailLights(): number; + /** + * @param val - 0 off 1 on + */ + setEntityAppearance_tailLights(val: number): void; + /** + * @returns 0 off 1 on + */ + getEntityAppearance_brakeLights(): number; + /** + * @param val - 0 off 1 on + */ + setEntityAppearance_brakeLights(val: number): void; + /** + * @returns 0 off 1 on + */ + getEntityAppearance_flaming(): number; + /** + * @param val - 0 off 1 on + */ + setEntityAppearance_flaming(val: number): void; + /** + * @returns 0 not raised 1 raised + */ + getEntityAppearance_launcher(): number; + /** + * @param val - 0 not raised 1 raised + */ + setEntityAppearance_launcher(val: number): void; + /** + * @returns 0 desert 1 winter 2 forest 3 unused + */ + getEntityAppearance_camouflageType(): number; + /** + * @param val - 0 desert 1 winter 2 forest 3 unused + */ + setEntityAppearance_camouflageType(val: number): void; + } + class FirePdu { + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + */ + protocolVersion: number; + /** + * Exercise ID + */ + exerciseID: number; + /** + * Type of pdu, unique for each PDU class + */ + pduType: number; + /** + * value that refers to the protocol family, eg SimulationManagement, et + */ + protocolFamily: number; + /** + * Timestamp value + */ + timestamp: number; + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + */ + pduLength: number; + /** + * zero-filled array of padding + */ + padding: number; + /** + * ID of the entity that shot + */ + firingEntityID: EntityID; + /** + * ID of the entity that is being shot at + */ + targetEntityID: EntityID; + /** + * ID of the munition that is being shot + */ + munitionID: EntityID; + /** + * ID of event + */ + eventID: EventID; + fireMissionIndex: number; + /** + * location of the firing event + */ + locationInWorldCoordinates: Vector3Double; + /** + * Describes munitions used in the firing event + */ + burstDescriptor: BurstDescriptor; + /** + * Velocity of the ammunition + */ + velocity: Vector3Float; + /** + * range to the target. Note the word range is a SQL reserved word. + */ + rangeToTarget: number; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class FixedDatum { + /** + * ID of the fixed datum + */ + fixedDatumID: number; + /** + * Value for the fixed datum + */ + fixedDatumValue: number; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class FundamentalParameterData { + /** + * center frequency of the emission in hertz. + */ + frequency: number; + /** + * Bandwidth of the frequencies corresponding to the fequency field. + */ + frequencyRange: number; + /** + * Effective radiated power for the emission in DdBm. For a radar noise jammer, indicates the peak of the transmitted power. + */ + effectiveRadiatedPower: number; + /** + * Average repetition frequency of the emission in hertz. + */ + pulseRepetitionFrequency: number; + /** + * Average pulse width of the emission in microseconds. + */ + pulseWidth: number; + /** + * Specifies the beam azimuth an elevation centers and corresponding half-angles to describe the scan volume + */ + beamAzimuthCenter: number; + /** + * Specifies the beam azimuth sweep to determine scan volume + */ + beamAzimuthSweep: number; + /** + * Specifies the beam elevation center to determine scan volume + */ + beamElevationCenter: number; + /** + * Specifies the beam elevation sweep to determine scan volume + */ + beamElevationSweep: number; + /** + * allows receiver to synchronize its regenerated scan pattern to that of the emmitter. Specifies the percentage of time a scan is through its pattern from its origion. + */ + beamSweepSync: number; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class FundamentalParameterDataIff { + /** + * ERP + */ + erp: number; + /** + * frequency + */ + frequency: number; + /** + * pgrf + */ + pgrf: number; + /** + * Pulse width + */ + pulseWidth: number; + /** + * Burst length + */ + burstLength: number; + /** + * Applicable modes enumeration + */ + applicableModes: number; + /** + * padding + */ + pad2: number; + /** + * padding + */ + pad3: number; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class GridAxisRecord { + /** + * type of environmental sample + */ + sampleType: number; + /** + * value that describes data representation + */ + dataRepresentation: number; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class GridAxisRecordRepresentation0 { + /** + * type of environmental sample + */ + sampleType: number; + /** + * value that describes data representation + */ + dataRepresentation: number; + /** + * number of bytes of environmental state data + */ + numberOfBytes: number; + /** + * variable length variablelist of data parameters ^^^this is wrong--need padding as well + */ + dataValues: Chunk[]; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class GridAxisRecordRepresentation1 { + /** + * type of environmental sample + */ + sampleType: number; + /** + * value that describes data representation + */ + dataRepresentation: number; + /** + * constant scale factor + */ + fieldScale: number; + /** + * constant offset used to scale grid data + */ + fieldOffset: number; + /** + * Number of data values + */ + numberOfValues: number; + /** + * variable length list of data parameters ^^^this is wrong--need padding as well + */ + dataValues: Chunk[]; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class GridAxisRecordRepresentation2 { + /** + * type of environmental sample + */ + sampleType: number; + /** + * value that describes data representation + */ + dataRepresentation: number; + /** + * number of values + */ + numberOfValues: number; + /** + * variable length list of data parameters ^^^this is wrong--need padding as well + */ + dataValues: Chunk[]; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class GriddedDataPdu { + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + */ + protocolVersion: number; + /** + * Exercise ID + */ + exerciseID: number; + /** + * Type of pdu, unique for each PDU class + */ + pduType: number; + /** + * value that refers to the protocol family, eg SimulationManagement, et + */ + protocolFamily: number; + /** + * Timestamp value + */ + timestamp: number; + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + */ + pduLength: number; + /** + * zero-filled array of padding + */ + padding: number; + /** + * environmental simulation application ID + */ + environmentalSimulationApplicationID: EntityID; + /** + * unique identifier for each piece of enviornmental data + */ + fieldNumber: number; + /** + * sequence number for the total set of PDUS used to transmit the data + */ + pduNumber: number; + /** + * Total number of PDUS used to transmit the data + */ + pduTotal: number; + /** + * coordinate system of the grid + */ + coordinateSystem: number; + /** + * number of grid axes for the environmental data + */ + numberOfGridAxes: number; + /** + * are domain grid axes identidal to those of the priveious domain update? + */ + constantGrid: number; + /** + * type of environment + */ + environmentType: EntityType; + /** + * orientation of the data grid + */ + orientation: Orientation; + /** + * valid time of the enviormental data sample, 64 bit unsigned int + */ + sampleTime: number; + /** + * total number of all data values for all pdus for an environmental sample + */ + totalValues: number; + /** + * total number of data values at each grid point. + */ + vectorDimension: number; + /** + * padding + */ + padding1: number; + /** + * padding + */ + padding2: number; + /** + * Grid data ^^^This is wrong + */ + gridDataList: GridAxisRecord[]; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class IffAtcNavAidsLayer1Pdu { + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + */ + protocolVersion: number; + /** + * Exercise ID + */ + exerciseID: number; + /** + * Type of pdu, unique for each PDU class + */ + pduType: number; + /** + * value that refers to the protocol family, eg SimulationManagement, et + */ + protocolFamily: number; + /** + * Timestamp value + */ + timestamp: number; + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + */ + pduLength: number; + /** + * zero-filled array of padding + */ + padding: number; + /** + * ID of the entity that is the source of the emissions + */ + emittingEntityId: EntityID; + /** + * Number generated by the issuing simulation to associate realted events. + */ + eventID: EventID; + /** + * Location wrt entity. There is some ambugiuity in the standard here, but this is the order it is listed in the table. + */ + location: Vector3Float; + /** + * System ID information + */ + systemID: SystemID; + /** + * padding + */ + pad2: number; + /** + * fundamental parameters + */ + fundamentalParameters: IffFundamentalData; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class IffAtcNavAidsLayer2Pdu { + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + */ + protocolVersion: number; + /** + * Exercise ID + */ + exerciseID: number; + /** + * Type of pdu, unique for each PDU class + */ + pduType: number; + /** + * value that refers to the protocol family, eg SimulationManagement, et + */ + protocolFamily: number; + /** + * Timestamp value + */ + timestamp: number; + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + */ + pduLength: number; + /** + * zero-filled array of padding + */ + padding: number; + /** + * ID of the entity that is the source of the emissions + */ + emittingEntityId: EntityID; + /** + * Number generated by the issuing simulation to associate realted events. + */ + eventID: EventID; + /** + * Location wrt entity. There is some ambugiuity in the standard here, but this is the order it is listed in the table. + */ + location: Vector3Float; + /** + * System ID information + */ + systemID: SystemID; + /** + * padding + */ + pad2: number; + /** + * fundamental parameters + */ + fundamentalParameters: IffFundamentalData; + /** + * layer header + */ + layerHeader: LayerHeader; + /** + * beam data + */ + beamData: BeamData; + /** + * Secondary operational data, 5.2.57 + */ + secondaryOperationalData: BeamData; + /** + * variable length list of fundamental parameters. ^^^This is wrong + */ + fundamentalIffParameters: FundamentalParameterDataIff[]; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class IffFundamentalData { + /** + * system status + */ + systemStatus: number; + /** + * Alternate parameter 4 + */ + alternateParameter4: number; + /** + * eight boolean fields + */ + informationLayers: number; + /** + * enumeration + */ + modifier: number; + /** + * parameter, enumeration + */ + parameter1: number; + /** + * parameter, enumeration + */ + parameter2: number; + /** + * parameter, enumeration + */ + parameter3: number; + /** + * parameter, enumeration + */ + parameter4: number; + /** + * parameter, enumeration + */ + parameter5: number; + /** + * parameter, enumeration + */ + parameter6: number; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class IntercomCommunicationsParameters { + /** + * Type of intercom parameters record + */ + recordType: number; + /** + * length of record-specifid field, in octets + */ + recordLength: number; + /** + * variable length variablelist of data parameters + */ + parameterValues: Chunk[]; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class IntercomControlPdu { + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + */ + protocolVersion: number; + /** + * Exercise ID + */ + exerciseID: number; + /** + * Type of pdu, unique for each PDU class + */ + pduType: number; + /** + * value that refers to the protocol family, eg SimulationManagement, et + */ + protocolFamily: number; + /** + * Timestamp value + */ + timestamp: number; + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + */ + pduLength: number; + /** + * zero-filled array of padding + */ + padding: number; + /** + * control type + */ + controlType: number; + /** + * control type + */ + communicationsChannelType: number; + /** + * Source entity ID + */ + sourceEntityID: EntityID; + /** + * The specific intercom device being simulated within an entity. + */ + sourceCommunicationsDeviceID: number; + /** + * Line number to which the intercom control refers + */ + sourceLineID: number; + /** + * priority of this message relative to transmissons from other intercom devices + */ + transmitPriority: number; + /** + * current transmit state of the line + */ + transmitLineState: number; + /** + * detailed type requested. + */ + command: number; + /** + * eid of the entity that has created this intercom channel. + */ + masterEntityID: number; + /** + * specific intercom device that has created this intercom channel + */ + masterCommunicationsDeviceID: number; + /** + * number of intercom parameters + */ + intercomParametersLength: number; + /** + * Must be + */ + intercomParameters: IntercomCommunicationsParameters[]; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class IntercomSignalPdu { + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + */ + protocolVersion: number; + /** + * Exercise ID + */ + exerciseID: number; + /** + * Type of pdu, unique for each PDU class + */ + pduType: number; + /** + * value that refers to the protocol family, eg SimulationManagement, et + */ + protocolFamily: number; + /** + * Timestamp value + */ + timestamp: number; + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + */ + pduLength: number; + /** + * zero-filled array of padding + */ + padding: number; + /** + * ID of the entitythat is the source of the communication + */ + entityId: EntityID; + /** + * particular radio within an entity + */ + communicationsDeviceID: number; + /** + * encoding scheme + */ + encodingScheme: number; + /** + * tactical data link type + */ + tdlType: number; + /** + * sample rate + */ + sampleRate: number; + /** + * data length, in bits + */ + dataLength: number; + /** + * samples + */ + samples: number; + /** + * data bytes + */ + data: Chunk[]; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class IsGroupOfPdu { + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + */ + protocolVersion: number; + /** + * Exercise ID + */ + exerciseID: number; + /** + * Type of pdu, unique for each PDU class + */ + pduType: number; + /** + * value that refers to the protocol family, eg SimulationManagement, et + */ + protocolFamily: number; + /** + * Timestamp value + */ + timestamp: number; + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + */ + pduLength: number; + /** + * zero-filled array of padding + */ + padding: number; + /** + * ID of aggregated entities + */ + groupEntityID: EntityID; + /** + * type of entities constituting the group + */ + groupedEntityCategory: number; + /** + * Number of individual entities constituting the group + */ + numberOfGroupedEntities: number; + /** + * padding + */ + pad2: number; + /** + * latitude + */ + latitude: number; + /** + * longitude + */ + longitude: number; + /** + * GED records about each individual entity in the group. ^^^this is wrong--need a database lookup to find the actual size of the list elements + */ + groupedEntityDescriptions: VariableDatum[]; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class IsPartOfPdu { + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + */ + protocolVersion: number; + /** + * Exercise ID + */ + exerciseID: number; + /** + * Type of pdu, unique for each PDU class + */ + pduType: number; + /** + * value that refers to the protocol family, eg SimulationManagement, et + */ + protocolFamily: number; + /** + * Timestamp value + */ + timestamp: number; + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + */ + pduLength: number; + /** + * zero-filled array of padding + */ + padding: number; + /** + * ID of entity originating PDU + */ + orginatingEntityID: EntityID; + /** + * ID of entity receiving PDU + */ + receivingEntityID: EntityID; + /** + * relationship of joined parts + */ + relationship: Relationship; + /** + * location of part; centroid of part in host's coordinate system. x=range, y=bearing, z=0 + */ + partLocation: Vector3Float; + /** + * named location + */ + namedLocationID: NamedLocation; + /** + * entity type + */ + partEntityType: EntityType; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class LayerHeader { + /** + * Layer number + */ + layerNumber: number; + /** + * Layer speccific information enumeration + */ + layerSpecificInformaiton: number; + /** + * information length + */ + length: number; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class LinearObjectStatePdu { + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + */ + protocolVersion: number; + /** + * Exercise ID + */ + exerciseID: number; + /** + * Type of pdu, unique for each PDU class + */ + pduType: number; + /** + * value that refers to the protocol family, eg SimulationManagement, et + */ + protocolFamily: number; + /** + * Timestamp value + */ + timestamp: number; + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + */ + pduLength: number; + /** + * zero-filled array of padding + */ + padding: number; + /** + * Object in synthetic environment + */ + objectID: EntityID; + /** + * Object with which this point object is associated + */ + referencedObjectID: EntityID; + /** + * unique update number of each state transition of an object + */ + updateNumber: number; + /** + * force ID + */ + forceID: number; + /** + * number of linear segment parameters + */ + numberOfSegments: number; + /** + * requesterID + */ + requesterID: SimulationAddress; + /** + * receiver ID + */ + receivingID: SimulationAddress; + /** + * Object type + */ + objectType: EntityType; + /** + * Linear segment parameters + */ + linearSegmentParameters: LinearSegmentParameter[]; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class LinearSegmentParameter { + /** + * number of segments + */ + segmentNumber: number; + /** + * segment appearance + */ + segmentAppearance: SixByteChunk; + /** + * location + */ + location: Vector3Double; + /** + * orientation + */ + orientation: Orientation; + /** + * segmentLength + */ + segmentLength: number; + /** + * segmentWidth + */ + segmentWidth: number; + /** + * segmentHeight + */ + segmentHeight: number; + /** + * segment Depth + */ + segmentDepth: number; + /** + * segment Depth + */ + pad1: number; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class LogisticsFamilyPdu { + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + */ + protocolVersion: number; + /** + * Exercise ID + */ + exerciseID: number; + /** + * Type of pdu, unique for each PDU class + */ + pduType: number; + /** + * value that refers to the protocol family, eg SimulationManagement, et + */ + protocolFamily: number; + /** + * Timestamp value + */ + timestamp: number; + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + */ + pduLength: number; + /** + * zero-filled array of padding + */ + padding: number; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class Marking { + /** + * The character set + */ + characterSet: number; + /** + * The characters + */ + characters: number[]; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + /** + * Returns the byte array marking, in string format. + * @returns string format marking characters + */ + getMarking(): string; + /** + * Given a string format marking, sets the bytes of the marking object + to the appropriate character values. Clamps the string to no more + than 11 characters. + * @param newMarking - string format marking + */ + setMarking(newMarking: string): void; + } + class MinefieldDataPdu { + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + */ + protocolVersion: number; + /** + * Exercise ID + */ + exerciseID: number; + /** + * Type of pdu, unique for each PDU class + */ + pduType: number; + /** + * value that refers to the protocol family, eg SimulationManagement, et + */ + protocolFamily: number; + /** + * Timestamp value + */ + timestamp: number; + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + */ + pduLength: number; + /** + * zero-filled array of padding + */ + padding: number; + /** + * Minefield ID + */ + minefieldID: EntityID; + /** + * ID of entity making request + */ + requestingEntityID: EntityID; + /** + * Minefield sequence number + */ + minefieldSequenceNumbeer: number; + /** + * request ID + */ + requestID: number; + /** + * pdu sequence number + */ + pduSequenceNumber: number; + /** + * number of pdus in response + */ + numberOfPdus: number; + /** + * how many mines are in this PDU + */ + numberOfMinesInThisPdu: number; + /** + * how many sensor type are in this PDU + */ + numberOfSensorTypes: number; + /** + * padding + */ + pad2: number; + /** + * 32 boolean fields + */ + dataFilter: number; + /** + * Mine type + */ + mineType: EntityType; + /** + * Sensor types, each 16 bits long + */ + sensorTypes: Chunk[]; + /** + * Padding to get things 32-bit aligned. ^^^this is wrong--dyanmically sized padding needed + */ + pad3: number; + /** + * Mine locations + */ + mineLocation: Vector3Float[]; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class MinefieldFamilyPdu { + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + */ + protocolVersion: number; + /** + * Exercise ID + */ + exerciseID: number; + /** + * Type of pdu, unique for each PDU class + */ + pduType: number; + /** + * value that refers to the protocol family, eg SimulationManagement, et + */ + protocolFamily: number; + /** + * Timestamp value + */ + timestamp: number; + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + */ + pduLength: number; + /** + * zero-filled array of padding + */ + padding: number; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class MinefieldQueryPdu { + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + */ + protocolVersion: number; + /** + * Exercise ID + */ + exerciseID: number; + /** + * Type of pdu, unique for each PDU class + */ + pduType: number; + /** + * value that refers to the protocol family, eg SimulationManagement, et + */ + protocolFamily: number; + /** + * Timestamp value + */ + timestamp: number; + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + */ + pduLength: number; + /** + * zero-filled array of padding + */ + padding: number; + /** + * Minefield ID + */ + minefieldID: EntityID; + /** + * EID of entity making the request + */ + requestingEntityID: EntityID; + /** + * request ID + */ + requestID: number; + /** + * Number of perimeter points for the minefield + */ + numberOfPerimeterPoints: number; + /** + * Padding + */ + pad2: number; + /** + * Number of sensor types + */ + numberOfSensorTypes: number; + /** + * data filter, 32 boolean fields + */ + dataFilter: number; + /** + * Entity type of mine being requested + */ + requestedMineType: EntityType; + /** + * perimeter points of request + */ + requestedPerimeterPoints: Point[]; + /** + * Sensor types, each 16 bits long + */ + sensorTypes: Chunk[]; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class MinefieldResponseNackPdu { + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + */ + protocolVersion: number; + /** + * Exercise ID + */ + exerciseID: number; + /** + * Type of pdu, unique for each PDU class + */ + pduType: number; + /** + * value that refers to the protocol family, eg SimulationManagement, et + */ + protocolFamily: number; + /** + * Timestamp value + */ + timestamp: number; + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + */ + pduLength: number; + /** + * zero-filled array of padding + */ + padding: number; + /** + * Minefield ID + */ + minefieldID: EntityID; + /** + * entity ID making the request + */ + requestingEntityID: EntityID; + /** + * request ID + */ + requestID: number; + /** + * how many pdus were missing + */ + numberOfMissingPdus: number; + /** + * PDU sequence numbers that were missing + */ + missingPduSequenceNumbers: Chunk[]; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class MinefieldStatePdu { + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + */ + protocolVersion: number; + /** + * Exercise ID + */ + exerciseID: number; + /** + * Type of pdu, unique for each PDU class + */ + pduType: number; + /** + * value that refers to the protocol family, eg SimulationManagement, et + */ + protocolFamily: number; + /** + * Timestamp value + */ + timestamp: number; + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + */ + pduLength: number; + /** + * zero-filled array of padding + */ + padding: number; + /** + * Minefield ID + */ + minefieldID: EntityID; + /** + * Minefield sequence + */ + minefieldSequence: number; + /** + * force ID + */ + forceID: number; + /** + * Number of permieter points + */ + numberOfPerimeterPoints: number; + /** + * type of minefield + */ + minefieldType: EntityType; + /** + * how many mine types + */ + numberOfMineTypes: number; + /** + * location of minefield in world coords + */ + minefieldLocation: Vector3Double; + /** + * orientation of minefield + */ + minefieldOrientation: Orientation; + /** + * appearance bitflags + */ + appearance: number; + /** + * protocolMode + */ + protocolMode: number; + /** + * perimeter points for the minefield + */ + perimeterPoints: Point[]; + /** + * Type of mines + */ + mineType: EntityType[]; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class ModulationType { + /** + * spread spectrum, 16 bit boolean array + */ + spreadSpectrum: number; + /** + * major + */ + major: number; + /** + * detail + */ + detail: number; + /** + * system + */ + system: number; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class NamedLocation { + /** + * station name enumeration + */ + stationName: number; + /** + * station number + */ + stationNumber: number; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class ObjectType { + /** + * Kind of entity + */ + entityKind: number; + /** + * Domain of entity (air, surface, subsurface, space, etc) + */ + domain: number; + /** + * country to which the design of the entity is attributed + */ + country: number; + /** + * category of entity + */ + category: number; + /** + * subcategory of entity + */ + subcategory: number; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class Orientation { + psi: number; + theta: number; + phi: number; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class Pdu { + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + */ + protocolVersion: number; + /** + * Exercise ID + */ + exerciseID: number; + /** + * Type of pdu, unique for each PDU class + */ + pduType: number; + /** + * value that refers to the protocol family, eg SimulationManagement, et + */ + protocolFamily: number; + /** + * Timestamp value + */ + timestamp: number; + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + */ + pduLength: number; + /** + * zero-filled array of padding + */ + padding: number; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class PduContainer { + /** + * Number of PDUs in the container list + */ + numberOfPdus: number; + /** + * List of PDUs + */ + pdus: Pdu[]; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class PduStream { + /** + * short description of this PDU stream + */ + shortDescription: number[]; + /** + * Longish description of this PDU stream + */ + longDescription: number[]; + /** + * Name of person performing recording + */ + personRecording: number[]; + /** + * Email of person performing recording + */ + authorEmail: number[]; + /** + * Start time of recording, in Unix time + */ + startTime: number; + /** + * stop time of recording, in Unix time + */ + stopTime: number; + /** + * how many PDUs in this stream + */ + pduCount: number; + /** + * variable length list of PDUs + */ + pdusInStream: number; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class Point { + /** + * x + */ + x: number; + /** + * y + */ + y: number; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class PointObjectStatePdu { + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + */ + protocolVersion: number; + /** + * Exercise ID + */ + exerciseID: number; + /** + * Type of pdu, unique for each PDU class + */ + pduType: number; + /** + * value that refers to the protocol family, eg SimulationManagement, et + */ + protocolFamily: number; + /** + * Timestamp value + */ + timestamp: number; + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + */ + pduLength: number; + /** + * zero-filled array of padding + */ + padding: number; + /** + * Object in synthetic environment + */ + objectID: EntityID; + /** + * Object with which this point object is associated + */ + referencedObjectID: EntityID; + /** + * unique update number of each state transition of an object + */ + updateNumber: number; + /** + * force ID + */ + forceID: number; + /** + * modifications + */ + modifications: number; + /** + * Object type + */ + objectType: EntityType; + /** + * Object location + */ + objectLocation: Vector3Double; + /** + * Object orientation + */ + objectOrientation: Orientation; + /** + * Object apperance + */ + objectAppearance: number; + /** + * requesterID + */ + requesterID: SimulationAddress; + /** + * receiver ID + */ + receivingID: SimulationAddress; + /** + * padding + */ + pad2: number; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class PropulsionSystemData { + /** + * powerSetting + */ + powerSetting: number; + /** + * engine RPMs + */ + engineRpm: number; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class RadioCommunicationsFamilyPdu { + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + */ + protocolVersion: number; + /** + * Exercise ID + */ + exerciseID: number; + /** + * Type of pdu, unique for each PDU class + */ + pduType: number; + /** + * value that refers to the protocol family, eg SimulationManagement, et + */ + protocolFamily: number; + /** + * Timestamp value + */ + timestamp: number; + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + */ + pduLength: number; + /** + * zero-filled array of padding + */ + padding: number; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class RadioEntityType { + /** + * Kind of entity + */ + entityKind: number; + /** + * Domain of entity (air, surface, subsurface, space, etc) + */ + domain: number; + /** + * country to which the design of the entity is attributed + */ + country: number; + /** + * category of entity + */ + category: number; + /** + * specific info based on subcategory field + */ + nomenclatureVersion: number; + nomenclature: number; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class ReceiverPdu { + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + */ + protocolVersion: number; + /** + * Exercise ID + */ + exerciseID: number; + /** + * Type of pdu, unique for each PDU class + */ + pduType: number; + /** + * value that refers to the protocol family, eg SimulationManagement, et + */ + protocolFamily: number; + /** + * Timestamp value + */ + timestamp: number; + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + */ + pduLength: number; + /** + * zero-filled array of padding + */ + padding: number; + /** + * ID of the entity that is the source of the communication, ie contains the radio + */ + entityId: EntityID; + /** + * particular radio within an entity + */ + radioId: number; + /** + * encoding scheme used, and enumeration + */ + receiverState: number; + /** + * padding + */ + padding1: number; + /** + * received power + */ + receivedPower: number; + /** + * ID of transmitter + */ + transmitterEntityId: EntityID; + /** + * ID of transmitting radio + */ + transmitterRadioId: number; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class RecordQueryReliablePdu { + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + */ + protocolVersion: number; + /** + * Exercise ID + */ + exerciseID: number; + /** + * Type of pdu, unique for each PDU class + */ + pduType: number; + /** + * value that refers to the protocol family, eg SimulationManagement, et + */ + protocolFamily: number; + /** + * Timestamp value + */ + timestamp: number; + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + */ + pduLength: number; + /** + * zero-filled array of padding + */ + padding: number; + /** + * Object originatig the request + */ + originatingEntityID: EntityID; + /** + * Object with which this point object is associated + */ + receivingEntityID: EntityID; + /** + * request ID + */ + requestID: number; + /** + * level of reliability service used for this transaction + */ + requiredReliabilityService: number; + /** + * padding. The spec is unclear and contradictory here. + */ + pad1: number; + /** + * padding + */ + pad2: number; + /** + * event type + */ + eventType: number; + /** + * time + */ + time: number; + /** + * numberOfRecords + */ + numberOfRecords: number; + /** + * record IDs + */ + recordIDs: Chunk[]; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class RecordSet { + /** + * record ID + */ + recordID: number; + /** + * record set serial number + */ + recordSetSerialNumber: number; + /** + * record length + */ + recordLength: number; + /** + * record count + */ + recordCount: number; + /** + * ^^^This is wrong--variable sized data records + */ + recordValues: number; + /** + * ^^^This is wrong--variable sized padding + */ + pad4: number; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class Relationship { + /** + * Nature of join + */ + nature: number; + /** + * position of join + */ + position: number; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class RemoveEntityPdu { + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + */ + protocolVersion: number; + /** + * Exercise ID + */ + exerciseID: number; + /** + * Type of pdu, unique for each PDU class + */ + pduType: number; + /** + * value that refers to the protocol family, eg SimulationManagement, et + */ + protocolFamily: number; + /** + * Timestamp value + */ + timestamp: number; + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + */ + pduLength: number; + /** + * zero-filled array of padding + */ + padding: number; + /** + * Entity that is sending message + */ + originatingEntityID: EntityID; + /** + * Entity that is intended to receive message + */ + receivingEntityID: EntityID; + /** + * Identifier for the request + */ + requestID: number; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class RemoveEntityReliablePdu { + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + */ + protocolVersion: number; + /** + * Exercise ID + */ + exerciseID: number; + /** + * Type of pdu, unique for each PDU class + */ + pduType: number; + /** + * value that refers to the protocol family, eg SimulationManagement, et + */ + protocolFamily: number; + /** + * Timestamp value + */ + timestamp: number; + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + */ + pduLength: number; + /** + * zero-filled array of padding + */ + padding: number; + /** + * Object originatig the request + */ + originatingEntityID: EntityID; + /** + * Object with which this point object is associated + */ + receivingEntityID: EntityID; + /** + * level of reliability service used for this transaction + */ + requiredReliabilityService: number; + /** + * padding + */ + pad1: number; + /** + * padding + */ + pad2: number; + /** + * Request ID + */ + requestID: number; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class RepairCompletePdu { + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + */ + protocolVersion: number; + /** + * Exercise ID + */ + exerciseID: number; + /** + * Type of pdu, unique for each PDU class + */ + pduType: number; + /** + * value that refers to the protocol family, eg SimulationManagement, et + */ + protocolFamily: number; + /** + * Timestamp value + */ + timestamp: number; + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + */ + pduLength: number; + /** + * zero-filled array of padding + */ + padding: number; + /** + * Entity that is receiving service + */ + receivingEntityID: EntityID; + /** + * Entity that is supplying + */ + repairingEntityID: EntityID; + /** + * Enumeration for type of repair + */ + repair: number; + /** + * padding, number prevents conflict with superclass ivar name + */ + padding2: number; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class RepairResponsePdu { + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + */ + protocolVersion: number; + /** + * Exercise ID + */ + exerciseID: number; + /** + * Type of pdu, unique for each PDU class + */ + pduType: number; + /** + * value that refers to the protocol family, eg SimulationManagement, et + */ + protocolFamily: number; + /** + * Timestamp value + */ + timestamp: number; + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + */ + pduLength: number; + /** + * zero-filled array of padding + */ + padding: number; + /** + * Entity that is receiving service + */ + receivingEntityID: EntityID; + /** + * Entity that is supplying + */ + repairingEntityID: EntityID; + /** + * Result of repair operation + */ + repairResult: number; + /** + * padding + */ + padding1: number; + /** + * padding + */ + padding2: number; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class ResupplyCancelPdu { + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + */ + protocolVersion: number; + /** + * Exercise ID + */ + exerciseID: number; + /** + * Type of pdu, unique for each PDU class + */ + pduType: number; + /** + * value that refers to the protocol family, eg SimulationManagement, et + */ + protocolFamily: number; + /** + * Timestamp value + */ + timestamp: number; + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + */ + pduLength: number; + /** + * zero-filled array of padding + */ + padding: number; + /** + * Entity that is receiving service + */ + receivingEntityID: EntityID; + /** + * Entity that is supplying + */ + supplyingEntityID: EntityID; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class ResupplyOfferPdu { + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + */ + protocolVersion: number; + /** + * Exercise ID + */ + exerciseID: number; + /** + * Type of pdu, unique for each PDU class + */ + pduType: number; + /** + * value that refers to the protocol family, eg SimulationManagement, et + */ + protocolFamily: number; + /** + * Timestamp value + */ + timestamp: number; + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + */ + pduLength: number; + /** + * zero-filled array of padding + */ + padding: number; + /** + * Entity that is receiving service + */ + receivingEntityID: EntityID; + /** + * Entity that is supplying + */ + supplyingEntityID: EntityID; + /** + * how many supplies are being offered + */ + numberOfSupplyTypes: number; + /** + * padding + */ + padding1: number; + /** + * padding + */ + padding2: number; + supplies: SupplyQuantity[]; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class ResupplyReceivedPdu { + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + */ + protocolVersion: number; + /** + * Exercise ID + */ + exerciseID: number; + /** + * Type of pdu, unique for each PDU class + */ + pduType: number; + /** + * value that refers to the protocol family, eg SimulationManagement, et + */ + protocolFamily: number; + /** + * Timestamp value + */ + timestamp: number; + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + */ + pduLength: number; + /** + * zero-filled array of padding + */ + padding: number; + /** + * Entity that is receiving service + */ + receivingEntityID: EntityID; + /** + * Entity that is supplying + */ + supplyingEntityID: EntityID; + /** + * how many supplies are being offered + */ + numberOfSupplyTypes: number; + /** + * padding + */ + padding1: number; + /** + * padding + */ + padding2: number; + supplies: SupplyQuantity[]; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class SeesPdu { + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + */ + protocolVersion: number; + /** + * Exercise ID + */ + exerciseID: number; + /** + * Type of pdu, unique for each PDU class + */ + pduType: number; + /** + * value that refers to the protocol family, eg SimulationManagement, et + */ + protocolFamily: number; + /** + * Timestamp value + */ + timestamp: number; + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + */ + pduLength: number; + /** + * zero-filled array of padding + */ + padding: number; + /** + * Originating entity ID + */ + orginatingEntityID: EntityID; + /** + * IR Signature representation index + */ + infraredSignatureRepresentationIndex: number; + /** + * acoustic Signature representation index + */ + acousticSignatureRepresentationIndex: number; + /** + * radar cross section representation index + */ + radarCrossSectionSignatureRepresentationIndex: number; + /** + * how many propulsion systems + */ + numberOfPropulsionSystems: number; + /** + * how many vectoring nozzle systems + */ + numberOfVectoringNozzleSystems: number; + /** + * variable length list of propulsion system data + */ + propulsionSystemData: PropulsionSystemData[]; + /** + * variable length list of vectoring system data + */ + vectoringSystemData: VectoringNozzleSystemData[]; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class ServiceRequestPdu { + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + */ + protocolVersion: number; + /** + * Exercise ID + */ + exerciseID: number; + /** + * Type of pdu, unique for each PDU class + */ + pduType: number; + /** + * value that refers to the protocol family, eg SimulationManagement, et + */ + protocolFamily: number; + /** + * Timestamp value + */ + timestamp: number; + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + */ + pduLength: number; + /** + * zero-filled array of padding + */ + padding: number; + /** + * Entity that is requesting service + */ + requestingEntityID: EntityID; + /** + * Entity that is providing the service + */ + servicingEntityID: EntityID; + /** + * type of service requested + */ + serviceTypeRequested: number; + /** + * How many requested + */ + numberOfSupplyTypes: number; + /** + * padding + */ + serviceRequestPadding: number; + supplies: SupplyQuantity[]; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class SetDataPdu { + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + */ + protocolVersion: number; + /** + * Exercise ID + */ + exerciseID: number; + /** + * Type of pdu, unique for each PDU class + */ + pduType: number; + /** + * value that refers to the protocol family, eg SimulationManagement, et + */ + protocolFamily: number; + /** + * Timestamp value + */ + timestamp: number; + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + */ + pduLength: number; + /** + * zero-filled array of padding + */ + padding: number; + /** + * Entity that is sending message + */ + originatingEntityID: EntityID; + /** + * Entity that is intended to receive message + */ + receivingEntityID: EntityID; + /** + * ID of request + */ + requestID: number; + /** + * padding + */ + padding1: number; + /** + * Number of fixed datum records + */ + numberOfFixedDatumRecords: number; + /** + * Number of variable datum records + */ + numberOfVariableDatumRecords: number; + /** + * variable length list of fixed datums + */ + fixedDatums: FixedDatum[]; + /** + * variable length list of variable length datums + */ + variableDatums: VariableDatum[]; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class SetDataReliablePdu { + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + */ + protocolVersion: number; + /** + * Exercise ID + */ + exerciseID: number; + /** + * Type of pdu, unique for each PDU class + */ + pduType: number; + /** + * value that refers to the protocol family, eg SimulationManagement, et + */ + protocolFamily: number; + /** + * Timestamp value + */ + timestamp: number; + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + */ + pduLength: number; + /** + * zero-filled array of padding + */ + padding: number; + /** + * Object originatig the request + */ + originatingEntityID: EntityID; + /** + * Object with which this point object is associated + */ + receivingEntityID: EntityID; + /** + * level of reliability service used for this transaction + */ + requiredReliabilityService: number; + /** + * padding + */ + pad1: number; + /** + * padding + */ + pad2: number; + /** + * Request ID + */ + requestID: number; + /** + * Fixed datum record count + */ + numberOfFixedDatumRecords: number; + /** + * variable datum record count + */ + numberOfVariableDatumRecords: number; + /** + * Fixed datum records + */ + fixedDatumRecords: FixedDatum[]; + /** + * Variable datum records + */ + variableDatumRecords: VariableDatum[]; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class SetRecordReliablePdu { + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + */ + protocolVersion: number; + /** + * Exercise ID + */ + exerciseID: number; + /** + * Type of pdu, unique for each PDU class + */ + pduType: number; + /** + * value that refers to the protocol family, eg SimulationManagement, et + */ + protocolFamily: number; + /** + * Timestamp value + */ + timestamp: number; + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + */ + pduLength: number; + /** + * zero-filled array of padding + */ + padding: number; + /** + * Object originatig the request + */ + originatingEntityID: EntityID; + /** + * Object with which this point object is associated + */ + receivingEntityID: EntityID; + /** + * request ID + */ + requestID: number; + /** + * level of reliability service used for this transaction + */ + requiredReliabilityService: number; + /** + * padding. The spec is unclear and contradictory here. + */ + pad1: number; + /** + * padding + */ + pad2: number; + /** + * Number of record sets in list + */ + numberOfRecordSets: number; + /** + * record sets + */ + recordSets: RecordSet[]; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class ShaftRPMs { + /** + * Current shaft RPMs + */ + currentShaftRPMs: number; + /** + * ordered shaft rpms + */ + orderedShaftRPMs: number; + /** + * rate of change of shaft RPMs + */ + shaftRPMRateOfChange: number; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class SignalPdu { + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + */ + protocolVersion: number; + /** + * Exercise ID + */ + exerciseID: number; + /** + * Type of pdu, unique for each PDU class + */ + pduType: number; + /** + * value that refers to the protocol family, eg SimulationManagement, et + */ + protocolFamily: number; + /** + * Timestamp value + */ + timestamp: number; + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + */ + pduLength: number; + /** + * zero-filled array of padding + */ + padding: number; + /** + * ID of the entity that is the source of the communication, ie contains the radio + */ + entityId: EntityID; + /** + * particular radio within an entity + */ + radioId: number; + /** + * encoding scheme used, and enumeration + */ + encodingScheme: number; + /** + * tdl type + */ + tdlType: number; + /** + * sample rate + */ + sampleRate: number; + /** + * length of data, in bits + */ + dataLength: number; + /** + * number of samples. If the PDU contains encoded audio, this should be zero. + */ + samples: number; + /** + * list of eight bit values. Must be padded to fall on a 32 bit boundary. + */ + data: Chunk[]; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class SimulationAddress { + /** + * The site ID + */ + site: number; + /** + * The application ID + */ + application: number; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class SimulationManagementFamilyPdu { + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + */ + protocolVersion: number; + /** + * Exercise ID + */ + exerciseID: number; + /** + * Type of pdu, unique for each PDU class + */ + pduType: number; + /** + * value that refers to the protocol family, eg SimulationManagement, et + */ + protocolFamily: number; + /** + * Timestamp value + */ + timestamp: number; + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + */ + pduLength: number; + /** + * zero-filled array of padding + */ + padding: number; + /** + * Entity that is sending message + */ + originatingEntityID: EntityID; + /** + * Entity that is intended to receive message + */ + receivingEntityID: EntityID; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class SimulationManagementWithReliabilityFamilyPdu { + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + */ + protocolVersion: number; + /** + * Exercise ID + */ + exerciseID: number; + /** + * Type of pdu, unique for each PDU class + */ + pduType: number; + /** + * value that refers to the protocol family, eg SimulationManagement, et + */ + protocolFamily: number; + /** + * Timestamp value + */ + timestamp: number; + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + */ + pduLength: number; + /** + * zero-filled array of padding + */ + padding: number; + /** + * Object originatig the request + */ + originatingEntityID: EntityID; + /** + * Object with which this point object is associated + */ + receivingEntityID: EntityID; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class SixByteChunk { + /** + * six bytes of arbitrary data + */ + otherParameters: number[]; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class SphericalHarmonicAntennaPattern { + harmonicOrder: number; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class StartResumePdu { + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + */ + protocolVersion: number; + /** + * Exercise ID + */ + exerciseID: number; + /** + * Type of pdu, unique for each PDU class + */ + pduType: number; + /** + * value that refers to the protocol family, eg SimulationManagement, et + */ + protocolFamily: number; + /** + * Timestamp value + */ + timestamp: number; + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + */ + pduLength: number; + /** + * zero-filled array of padding + */ + padding: number; + /** + * Entity that is sending message + */ + originatingEntityID: EntityID; + /** + * Entity that is intended to receive message + */ + receivingEntityID: EntityID; + /** + * UTC time at which the simulation shall start or resume + */ + realWorldTime: ClockTime; + /** + * Simulation clock time at which the simulation shall start or resume + */ + simulationTime: ClockTime; + /** + * Identifier for the request + */ + requestID: number; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class StartResumeReliablePdu { + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + */ + protocolVersion: number; + /** + * Exercise ID + */ + exerciseID: number; + /** + * Type of pdu, unique for each PDU class + */ + pduType: number; + /** + * value that refers to the protocol family, eg SimulationManagement, et + */ + protocolFamily: number; + /** + * Timestamp value + */ + timestamp: number; + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + */ + pduLength: number; + /** + * zero-filled array of padding + */ + padding: number; + /** + * Object originatig the request + */ + originatingEntityID: EntityID; + /** + * Object with which this point object is associated + */ + receivingEntityID: EntityID; + /** + * time in real world for this operation to happen + */ + realWorldTime: ClockTime; + /** + * time in simulation for the simulation to resume + */ + simulationTime: ClockTime; + /** + * level of reliability service used for this transaction + */ + requiredReliabilityService: number; + /** + * padding + */ + pad1: number; + /** + * padding + */ + pad2: number; + /** + * Request ID + */ + requestID: number; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class StopFreezePdu { + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + */ + protocolVersion: number; + /** + * Exercise ID + */ + exerciseID: number; + /** + * Type of pdu, unique for each PDU class + */ + pduType: number; + /** + * value that refers to the protocol family, eg SimulationManagement, et + */ + protocolFamily: number; + /** + * Timestamp value + */ + timestamp: number; + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + */ + pduLength: number; + /** + * zero-filled array of padding + */ + padding: number; + /** + * Entity that is sending message + */ + originatingEntityID: EntityID; + /** + * Entity that is intended to receive message + */ + receivingEntityID: EntityID; + /** + * UTC time at which the simulation shall stop or freeze + */ + realWorldTime: ClockTime; + /** + * Reason the simulation was stopped or frozen + */ + reason: number; + /** + * Internal behavior of the simulation and its appearance while frozento the other participants + */ + frozenBehavior: number; + /** + * padding + */ + padding1: number; + /** + * Request ID that is unique + */ + requestID: EntityID; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class StopFreezeReliablePdu { + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + */ + protocolVersion: number; + /** + * Exercise ID + */ + exerciseID: number; + /** + * Type of pdu, unique for each PDU class + */ + pduType: number; + /** + * value that refers to the protocol family, eg SimulationManagement, et + */ + protocolFamily: number; + /** + * Timestamp value + */ + timestamp: number; + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + */ + pduLength: number; + /** + * zero-filled array of padding + */ + padding: number; + /** + * Object originatig the request + */ + originatingEntityID: EntityID; + /** + * Object with which this point object is associated + */ + receivingEntityID: EntityID; + /** + * time in real world for this operation to happen + */ + realWorldTime: ClockTime; + /** + * Reason for stopping/freezing simulation + */ + reason: number; + /** + * internal behvior of the simulation while frozen + */ + frozenBehavior: number; + /** + * reliablity level + */ + requiredReliablityService: number; + /** + * padding + */ + pad1: number; + /** + * Request ID + */ + requestID: number; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class SupplyQuantity { + /** + * Type of supply + */ + supplyType: EntityType; + /** + * quantity to be supplied + */ + quantity: number; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class SyntheticEnvironmentFamilyPdu { + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + */ + protocolVersion: number; + /** + * Exercise ID + */ + exerciseID: number; + /** + * Type of pdu, unique for each PDU class + */ + pduType: number; + /** + * value that refers to the protocol family, eg SimulationManagement, et + */ + protocolFamily: number; + /** + * Timestamp value + */ + timestamp: number; + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + */ + pduLength: number; + /** + * zero-filled array of padding + */ + padding: number; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class SystemID { + /** + * System Type + */ + systemType: number; + /** + * System name, an enumeration + */ + systemName: number; + /** + * System mode + */ + systemMode: number; + /** + * Change Options + */ + changeOptions: number; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class TrackJamTarget { + /** + * track/jam target + */ + trackJam: EntityID; + /** + * Emitter ID + */ + emitterID: number; + /** + * beam ID + */ + beamID: number; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class TransferControlRequestPdu { + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + */ + protocolVersion: number; + /** + * Exercise ID + */ + exerciseID: number; + /** + * Type of pdu, unique for each PDU class + */ + pduType: number; + /** + * value that refers to the protocol family, eg SimulationManagement, et + */ + protocolFamily: number; + /** + * Timestamp value + */ + timestamp: number; + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + */ + pduLength: number; + /** + * zero-filled array of padding + */ + padding: number; + /** + * ID of entity originating request + */ + orginatingEntityID: EntityID; + /** + * ID of entity receiving request + */ + recevingEntityID: EntityID; + /** + * ID ofrequest + */ + requestID: number; + /** + * required level of reliabliity service. + */ + requiredReliabilityService: number; + /** + * type of transfer desired + */ + tranferType: number; + /** + * The entity for which control is being requested to transfer + */ + transferEntityID: EntityID; + /** + * number of record sets to transfer + */ + numberOfRecordSets: number; + /** + * ^^^This is wrong--the RecordSet class needs more work + */ + recordSets: RecordSet[]; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class TransmitterPdu { + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + */ + protocolVersion: number; + /** + * Exercise ID + */ + exerciseID: number; + /** + * Type of pdu, unique for each PDU class + */ + pduType: number; + /** + * value that refers to the protocol family, eg SimulationManagement, et + */ + protocolFamily: number; + /** + * Timestamp value + */ + timestamp: number; + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + */ + pduLength: number; + /** + * zero-filled array of padding + */ + padding: number; + /** + * ID of the entity that is the source of the communication, ie contains the radio + */ + entityId: EntityID; + /** + * particular radio within an entity + */ + radioId: number; + /** + * linear accelleration of entity + */ + radioEntityType: RadioEntityType; + /** + * transmit state + */ + transmitState: number; + /** + * input source + */ + inputSource: number; + /** + * padding + */ + padding1: number; + /** + * Location of antenna + */ + antennaLocation: Vector3Double; + /** + * relative location of antenna, in entity coordinates + */ + relativeAntennaLocation: Vector3Float; + /** + * antenna pattern type + */ + antennaPatternType: number; + /** + * atenna pattern length + */ + antennaPatternCount: number; + /** + * frequency + */ + frequency: number; + /** + * transmit frequency Bandwidth + */ + transmitFrequencyBandwidth: number; + /** + * transmission power + */ + power: number; + /** + * modulation + */ + modulationType: ModulationType; + /** + * crypto system enumeration + */ + cryptoSystem: number; + /** + * crypto system key identifer + */ + cryptoKeyId: number; + /** + * how many modulation parameters we have + */ + modulationParameterCount: number; + /** + * padding2 + */ + padding2: number; + /** + * padding3 + */ + padding3: number; + /** + * variable length list of modulation parameters + */ + modulationParametersList: ModulationType[]; + /** + * variable length list of antenna pattern records + */ + antennaPatternList: BeamAntennaPattern[]; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class UaPdu { + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + */ + protocolVersion: number; + /** + * Exercise ID + */ + exerciseID: number; + /** + * Type of pdu, unique for each PDU class + */ + pduType: number; + /** + * value that refers to the protocol family, eg SimulationManagement, et + */ + protocolFamily: number; + /** + * Timestamp value + */ + timestamp: number; + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + */ + pduLength: number; + /** + * zero-filled array of padding + */ + padding: number; + /** + * ID of the entity that is the source of the emission + */ + emittingEntityID: EntityID; + /** + * ID of event + */ + eventID: EventID; + /** + * This field shall be used to indicate whether the data in the UA PDU represent a state update or data that have changed since issuance of the last UA PDU + */ + stateChangeIndicator: number; + /** + * padding + */ + pad: number; + /** + * This field indicates which database record (or file) shall be used in the definition of passive signature (unintentional) emissions of the entity. The indicated database record (or file) shall define all noise generated as a function of propulsion plant configurations and associated auxiliaries. + */ + passiveParameterIndex: number; + /** + * This field shall specify the entity propulsion plant configuration. This field is used to determine the passive signature characteristics of an entity. + */ + propulsionPlantConfiguration: number; + /** + * This field shall represent the number of shafts on a platform + */ + numberOfShafts: number; + /** + * This field shall indicate the number of APAs described in the current UA PDU + */ + numberOfAPAs: number; + /** + * This field shall specify the number of UA emitter systems being described in the current UA PDU + */ + numberOfUAEmitterSystems: number; + /** + * shaft RPM values + */ + shaftRPMs: ShaftRPMs[]; + /** + * apaData + */ + apaData: ApaData[]; + emitterSystems: AcousticEmitterSystemData[]; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class UnsignedIntegerWrapper { + /** + * name can't be too accurate or the generated source code will have reserved word problems + */ + wrapper: number; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class VariableDatum { + /** + * ID of the variable datum + */ + variableDatumID: number; + /** + * length of the variable datums, in bits. Note that this is not programmatically tied to the size of the variableData. The variable data field may be 64 bits long but only 16 bits of it could actually be used. + */ + variableDatumLength: number; + /** + * data can be any length, but must increase in 8 byte quanta. This requires some postprocessing patches. Note that setting the data allocates a new internal array to account for the possibly increased size. The default initial size is 64 bits. + */ + variableDatumData: Chunk[]; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class Vector3Double { + /** + * X value + */ + x: number; + /** + * Y value + */ + y: number; + /** + * Z value + */ + z: number; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class Vector3Float { + /** + * X value + */ + x: number; + /** + * y Value + */ + y: number; + /** + * Z value + */ + z: number; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class VectoringNozzleSystemData { + /** + * horizontal deflection angle + */ + horizontalDeflectionAngle: number; + /** + * vertical deflection angle + */ + verticalDeflectionAngle: number; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class WarfareFamilyPdu { + /** + * The version of the protocol. 5=DIS-1995, 6=DIS-1998. + */ + protocolVersion: number; + /** + * Exercise ID + */ + exerciseID: number; + /** + * Type of pdu, unique for each PDU class + */ + pduType: number; + /** + * value that refers to the protocol family, eg SimulationManagement, et + */ + protocolFamily: number; + /** + * Timestamp value + */ + timestamp: number; + /** + * Length, in bytes, of the PDU. Changed name from length to avoid use of Hibernate QL reserved word + */ + pduLength: number; + /** + * zero-filled array of padding + */ + padding: number; + /** + * ID of the entity that shot + */ + firingEntityID: EntityID; + /** + * ID of the entity that is being shot at + */ + targetEntityID: EntityID; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + /** + * Replaces (n)ByteChunk functions + * @example + * var foo = new Chunk(4) // for a 4 byte chunk + * @param chunkSize - specify the size of the chunk, ie 1 = 1 byte chunk, 8 = 8 byte chunk, etc. + */ + class Chunk { + constructor(chunkSize: number); + data: number[]; + chunkSize: number; + isSigned: number; + initFromBinary(inputStream: InputStream): void; + encodeToBinary(outputStream: OutputStream): void; + } + class CoordinateConversion { + RADIANS_TO_DEGREES: number; + DEGREES_TO_RADIANS: number; + /** + * semi major axis (WGS 84) + */ + a: number; + /** + * semi minor axis (WGS 84) + */ + b: number; + /** + * Converts DIS xyz world coordinates to latitude and longitude (IN DEGREES). This algorithm may not be 100% accurate + near the poles. Uses WGS84 , though you can change the ellipsoid constants a and b if you want to use something + else. These formulas were obtained from Military Handbook 600008. The code itself has been + translated from C to Java to Javascript over the years, so hold onto your hats. + */ + convertDisToLatLongInDegrees(position: Vector3Float): LatLonAlt; + /** + * Converts lat long and geodetic height (elevation) into DIS XYZ + This algorithm also uses the WGS84 ellipsoid, though you can change the values + of a and b for a different ellipsoid. Adapted from Military Handbook 600008 + * @param latLonAlt - in degrees and meters + * @returns in meters + */ + getXYZfromLatLonAltDegrees(latLonAlt: LatLonAltShort): Vector3Float; + } + /** + * Constructor. Takes the integer value extracted from the DIS Entity State Field appearance + * @param integerValue - the entity appearance from the espdu + */ + class DisAppearance { + constructor(integerValue: number); + entityAppearance: number; + /** + * Test code for creating the correct bitmask + */ + getTestMask(): number; + getBitField(startPosition: number, finishPosition: number): number; + /** + * Set the "bit" position in a number to 1 + * @param num - the number whose bit we are setting. Typically zero. + * @param bit - which bit to set + * @returns the number passed in, with the "bit"th bit flipped on. + */ + bit_set(num: number, bit: number): number; + } + class InputStream { + constructor(binaryData: ArrayBuffer); + /** + * data, byte offset + */ + dataView: DataView; + /** + * ptr to "current" position in array + */ + currentPosition: number; + readUByte(): number; + readByte(): number; + readUShort(): number; + readShort(): number; + readUInt(): number; + readInt(): number; + /** + * Read a long integer. Assumes big endian format. Uses the BigInteger package. + */ + readLongInt(): number; + readFloat32(): number; + readFloat64(): number; + readLong(): string; + } + type LatLonAlt = { + latitude: number; + longitude: number; + altitude: number; + }; + /** + * Unfortunate re-typing of original LatLonAlt because one function + in CoordinateConversion uses different variable names. + + TODO: Remove when getXYZfromLatLonAltDegrees uses LatLonAlt. + */ + type LatLonAltShort = { + lat: number; + lon: number; + alt: number; + }; + class OutputStream { + constructor(binaryDataBuffer: ArrayBuffer); + binaryData: ArrayBuffer; + /** + * data, byte offset + */ + dataView: DataView; + /** + * ptr to current position in array + */ + currentPosition: number; + /** + * Returns a byte array trimmed to the maximum number of bytes written + to the stream. Eg, if we initialize with a 500 byte bufer, and we + only write 10 bytes to the output stream, this will return the first + ten bytes of the array. + * @returns Only the data written + */ + toByteArray(): ArrayBuffer; + writeUByte(userData: number): void; + writeByte(userData: number): void; + writeUShort(userData: number): void; + writeShort(userData: number): void; + writeUInt(userData: number): void; + writeInt(userData: number): void; + writeFloat32(userData: number): void; + writeFloat64(userData: number): void; + writeLong(userData: number): void; + } + /** + * The PDU factory is responsible for decoding binary data and turning + it into the appropriate type of PDU. + + The websocket will typically send the web page a IEEE 1278.1 binary + array of data. It could be any one of dozens of PDUs. The start of + all PDUs is the same--they have the same header. One of the fields in + the header is the PduType, an 8 bit integer with a unqiue value for + each type of PDU. We have to peak at that value, decide what type + of PDU to create of the binary we have received, and then decode it. + */ + class PduFactory { + /** + * decode incoming binary data and + return the correct type of PDU. + * @param data - the IEEE 1278.1 binary data + * @returns Returns an instance of some PDU, be it espdu, fire, detonation, etc. Exception if PduType not known. + */ + createPdu(data: ArrayBuffer): Pdu; + } + /** + * Constructor, creates an object that can do coordinate systems conversions. + Takes a geodetic point that is the origin of a tangent plane to the surface + of the earth. This is useful for doing local simulation work. The local + coordinate system has postive x east, positive y north, and positive Z up, + aka an ENU coordinate system. Methods for converting from that coordinate system + to the DIS (ECEF) coordinate system or geotetic coordinate systems are provided. + * @param lat - latitude, in degrees, of where the local tangent plane is located + * @param lon - longitude, in degrees, of the origin of the local tangent plane + * @param alt - altitude, in meters, of the origin of the local tangent plane + */ + class RangeCoordinates { + constructor(lat: number, lon: number, alt: number); + RADIANS_PER_DEGREE: number; + DEGREES_PER_RADIAN: number; + /** + * WGS84 semimajor axis (constant) + */ + a: number; + /** + * WGS84 semiminor axis (constant) + */ + b: number; + /** + * Ellipsoidal Flatness (constant) + */ + f: number; + /** + * Eccentricity (constant) + */ + e: number; + /** + * The origin of the local, East-North-Up (ENU) coordinate system, in lat/lon degrees and meters. + */ + ENUOrigin: LatLonAlt; + /** + * Find the origin of the ENU in earth-centered, earth-fixed ECEF aka DIS coordinates + */ + ENUOriginInECEF: Vector3Float; + /** + * Determines N, the distance from a normal plane at the given + latitude to the Z-axis running through the center of the earth. + This is NOT the same as the distance to the center of the earth. + * @param lambda - the latitude, in radians. + * @returns distance in meters from the latitude to the axis of the earth + */ + N(lambda: number): number; + /** + * Converts a latitude, longitude, and altitude object to DIS rectilinear + coordinates, aka earth-centered, earth-fixed, rectilinear. + * @param latLonAlt - The lat/lon/alt, in degrees and meters + * @returns rectilienar coordinates in ECEF, aka DIS coordinates + */ + latLonAltDegreesObjectToECEF(latLonAlt: LatLonAlt): Vector3Float; + /** + * Converts a latitude, longitude, and altitude to DIS rectilinear + coordinates, aka earth-centered, earth-fixed, rectilinear. + * @param latitude - (in radians) + * @param longitude - (in radians) + * @param altitude - (in meters) + * @returns rectilienar coordinates in ECEF-r, aka DIS coordinates + */ + latLonAltRadiansToECEF(latitude: number, longitude: number, altitude: number): Vector3Float; + /** + * @param latitude - in degrees + * @param longitude - in degrees + * @param altitude - in meters + * @returns coordinates in ECEF, in meters aka DIS global coordinates + */ + latLonAltDegreesToECEF(latitude: number, longitude: number, altitude: number): Vector3Float; + /** + * Converts DIS xyz world coordinates to latitude and longitude (IN DEGREES). This algorithm may not be 100% accurate + near the poles. Uses WGS84 , though you can change the ellipsoid constants a and b if you want to use something + else. These formulas were obtained from Military Handbook 600008. The code itself has been + translated from C to Java to Javascript over the years, so hold onto your hats. (This is + copied from other sources than those listed above. Seems to work, though.) + */ + ECEFObjectToLatLongAltInDegrees(position: Vector3Float): LatLonAlt; + /** + * Converts an ECEF position to the local ENU coordinate system. Units are meters, + and the origin of the ENU coordinate system is set in the constructor. + * @param ecefPosition - ecef position (in meters) + * @returns object with x, y, and z local coordinates, ENU + */ + ECEFObjectToENU(ecefPosition: Vector3Float): Vector3Float; + /** + * Converts an ECEF position to the local ENU coordinate system. Units are meters, + and the origin of the ENU coordinate system is set in the constructor. + * @param X - the X coordinate of the ECEF position + * @param Y - the Y coordinate + * @param Z - the Z coordinate + * @returns object with x, y, and z local coordinates, ENU + */ + ECEFtoENU(X: number, Y: number, Z: number): Vector3Float; + /** + * Converts a local coordinate system / ENU/ Local Tangent Plane object to ECEF, aka DIS coordinates. + * @param enuPosition - local coordinate object + * @returns point in ECEF / DIS coordinate system + */ + ENUObjectToECEF(enuPosition: Vector3Float): Vector3Float; + /** + * Converts a local coordinate system / ENU/ Local Tangent Plane point to ECEF, aka DIS coordinates. + * @param localX - local coordinate system X + * @param localY - local coordinate system Y + * @param localZ - local coordinate system Z + * @returns point in ECEF / DIS coordinate system + */ + ENUtoECEF(localX: number, localY: number, localZ: number): Vector3Float; + } + /** + * Utility class that converts between strings and the DIS ESPDU marking + field. The marking field is 12 bytes long, with the first byte being + the character set used, and the remaining 11 bytes character codes in + that character set. This is often used for debugging or "billboard" + displays in 3D; it's intended for humans. The string character values + are clamped (or filled) to exactly 11 bytes, so "This is a long string" + will be clamped to "This is a l" (in charachter codes) and "foo" will + be filled to "foo\0\0\0\0\0\0\0\0".

+ + It is recommended that only ASCII character set (character set = 1) + be used. + */ + class StringConversion { + /** + * Given a string, returns a DIS marking field. The character set is set to + 1, for ascii. The length is clamped to 11, and zero-filled if the string + is shorter than 11. + * @returns disMarking field, 12 bytes long, character set = 1 (ascii) in 0, zero-filled to 11 character codes + */ + StringToDisMarking(markingString: string): number[]; + /** + * Given a DIS marking field, returns a string. Assumes always ascii. + * @param disMarking - dis marking field, [0] = character set, the rest character codes + * @returns string equivalent of the marking field + */ + DisMarkingToString(disMarking: number[]): string; + } +} +