{"action":"created","comment":{"url":"https://api.github.com/repos/mrdoob/three.js/pulls/comments/55242967","id":55242967,"diff_hunk":"@@ -0,0 +1,166 @@\n+/**\n+ * @author Mugen87 / https://github.com/Mugen87\n+ *\n+ * see: http://www.blackpawn.com/texts/pqtorus/\n+ */\n+THREE.TorusKnotBufferGeometry = function ( radius, tube, tubularSegments, radialSegments, p, q, heightScale ) {\n+\n+\tTHREE.BufferGeometry.call( this );\n+\n+\tthis.type = 'TorusKnotBufferGeometry';\n+\n+\tthis.parameters = {\n+\t\tradius: radius,\n+\t\ttube: tube,\n+\t\ttubularSegments: tubularSegments,\n+\t\tradialSegments: radialSegments,\n+\t\tp: p,\n+\t\tq: q\n+\t};\n+\n+\tif( heightScale !== undefined ) console.warn( 'THREE.TorusKnotGeometry: heightScale has been deprecated. Use .scale( x, y, z ) instead.' );","path":"src/extras/geometries/TorusKnotBufferGeometry.js","position":21,"original_position":21,"commit_id":"10b8eb8cc2b2ae45feba6dd0fdc0cd09c86b8983","original_commit_id":"10b8eb8cc2b2ae45feba6dd0fdc0cd09c86b8983","user":{"login":"mrdoob","id":97088,"avatar_url":"https://avatars.githubusercontent.com/u/97088?v=3","gravatar_id":"","url":"https://api.github.com/users/mrdoob","html_url":"https://github.com/mrdoob","followers_url":"https://api.github.com/users/mrdoob/followers","following_url":"https://api.github.com/users/mrdoob/following{/other_user}","gists_url":"https://api.github.com/users/mrdoob/gists{/gist_id}","starred_url":"https://api.github.com/users/mrdoob/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mrdoob/subscriptions","organizations_url":"https://api.github.com/users/mrdoob/orgs","repos_url":"https://api.github.com/users/mrdoob/repos","events_url":"https://api.github.com/users/mrdoob/events{/privacy}","received_events_url":"https://api.github.com/users/mrdoob/received_events","type":"User","site_admin":false},"body":"Considering that this is a new class that no one has used yet we can ignore `heightScale`. We should definitely keep the check in `TorusKnowGeometry` though.","created_at":"2016-03-07T17:57:37Z","updated_at":"2016-03-07T17:57:37Z","html_url":"https://github.com/mrdoob/three.js/pull/8306#discussion_r55242967","pull_request_url":"https://api.github.com/repos/mrdoob/three.js/pulls/8306","_links":{"self":{"href":"https://api.github.com/repos/mrdoob/three.js/pulls/comments/55242967"},"html":{"href":"https://github.com/mrdoob/three.js/pull/8306#discussion_r55242967"},"pull_request":{"href":"https://api.github.com/repos/mrdoob/three.js/pulls/8306"}}},"pull_request":{"url":"https://api.github.com/repos/mrdoob/three.js/pulls/8306","id":61840492,"html_url":"https://github.com/mrdoob/three.js/pull/8306","diff_url":"https://github.com/mrdoob/three.js/pull/8306.diff","patch_url":"https://github.com/mrdoob/three.js/pull/8306.patch","issue_url":"https://api.github.com/repos/mrdoob/three.js/issues/8306","number":8306,"state":"open","locked":false,"title":"New TorusKnotBufferGeometry","user":{"login":"Mugen87","id":12612165,"avatar_url":"https://avatars.githubusercontent.com/u/12612165?v=3","gravatar_id":"","url":"https://api.github.com/users/Mugen87","html_url":"https://github.com/Mugen87","followers_url":"https://api.github.com/users/Mugen87/followers","following_url":"https://api.github.com/users/Mugen87/following{/other_user}","gists_url":"https://api.github.com/users/Mugen87/gists{/gist_id}","starred_url":"https://api.github.com/users/Mugen87/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Mugen87/subscriptions","organizations_url":"https://api.github.com/users/Mugen87/orgs","repos_url":"https://api.github.com/users/Mugen87/repos","events_url":"https://api.github.com/users/Mugen87/events{/privacy}","received_events_url":"https://api.github.com/users/Mugen87/received_events","type":"User","site_admin":false},"body":"This PR introduces `TorusKnotBufferGeometry`. Here is the corresponding [test fiddle](https://jsfiddle.net/fuwpLv10/7/).\r\n\r\nThere are some things i want to discuss:\r\n\r\n* I'm afraid that the parameter `radialSegments` and `tubularSegments` have interchanged meanings in `TorusGeometry` and `TorusKnotGeometry`. I suggest that the implementation of `TorusGeometry` is correct, where `tubularSegments` determines the amount of vertical segments of the tube and `radialSegments` the amount of horizontal segments. Maybe it's good to align this in `TorusKnotBufferGeometry`.\r\n\r\n* The `heightScale` parameter is confusing. It scales the z-component of a position on the torus curve which is quite extraordinary. Other geometries of three.js don't have such a parameter. And why is there no `widthScale` and `depthScale`? This implementation is somehow inconsistent. Is it basically possible to remove `heightScale` or mark it as deprecated?\r\n\r\nBesides, i've added the `arc` parameter so `TorusKnotBufferGeometry` and  `TorusBufferGeometry` have more similar interfaces.","created_at":"2016-03-06T11:31:22Z","updated_at":"2016-03-07T17:57:37Z","closed_at":null,"merged_at":null,"merge_commit_sha":"3572cf95d6cdfbd7555995a16fde109d3d4ef749","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/mrdoob/three.js/pulls/8306/commits","review_comments_url":"https://api.github.com/repos/mrdoob/three.js/pulls/8306/comments","review_comment_url":"https://api.github.com/repos/mrdoob/three.js/pulls/comments{/number}","comments_url":"https://api.github.com/repos/mrdoob/three.js/issues/8306/comments","statuses_url":"https://api.github.com/repos/mrdoob/three.js/statuses/10b8eb8cc2b2ae45feba6dd0fdc0cd09c86b8983","head":{"label":"Mugen87:dev","ref":"dev","sha":"10b8eb8cc2b2ae45feba6dd0fdc0cd09c86b8983","user":{"login":"Mugen87","id":12612165,"avatar_url":"https://avatars.githubusercontent.com/u/12612165?v=3","gravatar_id":"","url":"https://api.github.com/users/Mugen87","html_url":"https://github.com/Mugen87","followers_url":"https://api.github.com/users/Mugen87/followers","following_url":"https://api.github.com/users/Mugen87/following{/other_user}","gists_url":"https://api.github.com/users/Mugen87/gists{/gist_id}","starred_url":"https://api.github.com/users/Mugen87/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Mugen87/subscriptions","organizations_url":"https://api.github.com/users/Mugen87/orgs","repos_url":"https://api.github.com/users/Mugen87/repos","events_url":"https://api.github.com/users/Mugen87/events{/privacy}","received_events_url":"https://api.github.com/users/Mugen87/received_events","type":"User","site_admin":false},"repo":{"id":44012154,"name":"three.js","full_name":"Mugen87/three.js","owner":{"login":"Mugen87","id":12612165,"avatar_url":"https://avatars.githubusercontent.com/u/12612165?v=3","gravatar_id":"","url":"https://api.github.com/users/Mugen87","html_url":"https://github.com/Mugen87","followers_url":"https://api.github.com/users/Mugen87/followers","following_url":"https://api.github.com/users/Mugen87/following{/other_user}","gists_url":"https://api.github.com/users/Mugen87/gists{/gist_id}","starred_url":"https://api.github.com/users/Mugen87/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Mugen87/subscriptions","organizations_url":"https://api.github.com/users/Mugen87/orgs","repos_url":"https://api.github.com/users/Mugen87/repos","events_url":"https://api.github.com/users/Mugen87/events{/privacy}","received_events_url":"https://api.github.com/users/Mugen87/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/Mugen87/three.js","description":"JavaScript 3D library.","fork":true,"url":"https://api.github.com/repos/Mugen87/three.js","forks_url":"https://api.github.com/repos/Mugen87/three.js/forks","keys_url":"https://api.github.com/repos/Mugen87/three.js/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Mugen87/three.js/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Mugen87/three.js/teams","hooks_url":"https://api.github.com/repos/Mugen87/three.js/hooks","issue_events_url":"https://api.github.com/repos/Mugen87/three.js/issues/events{/number}","events_url":"https://api.github.com/repos/Mugen87/three.js/events","assignees_url":"https://api.github.com/repos/Mugen87/three.js/assignees{/user}","branches_url":"https://api.github.com/repos/Mugen87/three.js/branches{/branch}","tags_url":"https://api.github.com/repos/Mugen87/three.js/tags","blobs_url":"https://api.github.com/repos/Mugen87/three.js/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Mugen87/three.js/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Mugen87/three.js/git/refs{/sha}","trees_url":"https://api.github.com/repos/Mugen87/three.js/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Mugen87/three.js/statuses/{sha}","languages_url":"https://api.github.com/repos/Mugen87/three.js/languages","stargazers_url":"https://api.github.com/repos/Mugen87/three.js/stargazers","contributors_url":"https://api.github.com/repos/Mugen87/three.js/contributors","subscribers_url":"https://api.github.com/repos/Mugen87/three.js/subscribers","subscription_url":"https://api.github.com/repos/Mugen87/three.js/subscription","commits_url":"https://api.github.com/repos/Mugen87/three.js/commits{/sha}","git_commits_url":"https://api.github.com/repos/Mugen87/three.js/git/commits{/sha}","comments_url":"https://api.github.com/repos/Mugen87/three.js/comments{/number}","issue_comment_url":"https://api.github.com/repos/Mugen87/three.js/issues/comments{/number}","contents_url":"https://api.github.com/repos/Mugen87/three.js/contents/{+path}","compare_url":"https://api.github.com/repos/Mugen87/three.js/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Mugen87/three.js/merges","archive_url":"https://api.github.com/repos/Mugen87/three.js/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Mugen87/three.js/downloads","issues_url":"https://api.github.com/repos/Mugen87/three.js/issues{/number}","pulls_url":"https://api.github.com/repos/Mugen87/three.js/pulls{/number}","milestones_url":"https://api.github.com/repos/Mugen87/three.js/milestones{/number}","notifications_url":"https://api.github.com/repos/Mugen87/three.js/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Mugen87/three.js/labels{/name}","releases_url":"https://api.github.com/repos/Mugen87/three.js/releases{/id}","deployments_url":"https://api.github.com/repos/Mugen87/three.js/deployments","created_at":"2015-10-10T13:41:49Z","updated_at":"2016-02-10T19:36:47Z","pushed_at":"2016-03-07T16:17:38Z","git_url":"git://github.com/Mugen87/three.js.git","ssh_url":"git@github.com:Mugen87/three.js.git","clone_url":"https://github.com/Mugen87/three.js.git","svn_url":"https://github.com/Mugen87/three.js","homepage":"http://threejs.org/","size":369721,"stargazers_count":0,"watchers_count":0,"language":"JavaScript","has_issues":false,"has_downloads":false,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"mrdoob:dev","ref":"dev","sha":"ac0154cbe7ebbab76ed8d1b4380503f220e97ccb","user":{"login":"mrdoob","id":97088,"avatar_url":"https://avatars.githubusercontent.com/u/97088?v=3","gravatar_id":"","url":"https://api.github.com/users/mrdoob","html_url":"https://github.com/mrdoob","followers_url":"https://api.github.com/users/mrdoob/followers","following_url":"https://api.github.com/users/mrdoob/following{/other_user}","gists_url":"https://api.github.com/users/mrdoob/gists{/gist_id}","starred_url":"https://api.github.com/users/mrdoob/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mrdoob/subscriptions","organizations_url":"https://api.github.com/users/mrdoob/orgs","repos_url":"https://api.github.com/users/mrdoob/repos","events_url":"https://api.github.com/users/mrdoob/events{/privacy}","received_events_url":"https://api.github.com/users/mrdoob/received_events","type":"User","site_admin":false},"repo":{"id":576201,"name":"three.js","full_name":"mrdoob/three.js","owner":{"login":"mrdoob","id":97088,"avatar_url":"https://avatars.githubusercontent.com/u/97088?v=3","gravatar_id":"","url":"https://api.github.com/users/mrdoob","html_url":"https://github.com/mrdoob","followers_url":"https://api.github.com/users/mrdoob/followers","following_url":"https://api.github.com/users/mrdoob/following{/other_user}","gists_url":"https://api.github.com/users/mrdoob/gists{/gist_id}","starred_url":"https://api.github.com/users/mrdoob/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mrdoob/subscriptions","organizations_url":"https://api.github.com/users/mrdoob/orgs","repos_url":"https://api.github.com/users/mrdoob/repos","events_url":"https://api.github.com/users/mrdoob/events{/privacy}","received_events_url":"https://api.github.com/users/mrdoob/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/mrdoob/three.js","description":"JavaScript 3D library.","fork":false,"url":"https://api.github.com/repos/mrdoob/three.js","forks_url":"https://api.github.com/repos/mrdoob/three.js/forks","keys_url":"https://api.github.com/repos/mrdoob/three.js/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mrdoob/three.js/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mrdoob/three.js/teams","hooks_url":"https://api.github.com/repos/mrdoob/three.js/hooks","issue_events_url":"https://api.github.com/repos/mrdoob/three.js/issues/events{/number}","events_url":"https://api.github.com/repos/mrdoob/three.js/events","assignees_url":"https://api.github.com/repos/mrdoob/three.js/assignees{/user}","branches_url":"https://api.github.com/repos/mrdoob/three.js/branches{/branch}","tags_url":"https://api.github.com/repos/mrdoob/three.js/tags","blobs_url":"https://api.github.com/repos/mrdoob/three.js/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mrdoob/three.js/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mrdoob/three.js/git/refs{/sha}","trees_url":"https://api.github.com/repos/mrdoob/three.js/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mrdoob/three.js/statuses/{sha}","languages_url":"https://api.github.com/repos/mrdoob/three.js/languages","stargazers_url":"https://api.github.com/repos/mrdoob/three.js/stargazers","contributors_url":"https://api.github.com/repos/mrdoob/three.js/contributors","subscribers_url":"https://api.github.com/repos/mrdoob/three.js/subscribers","subscription_url":"https://api.github.com/repos/mrdoob/three.js/subscription","commits_url":"https://api.github.com/repos/mrdoob/three.js/commits{/sha}","git_commits_url":"https://api.github.com/repos/mrdoob/three.js/git/commits{/sha}","comments_url":"https://api.github.com/repos/mrdoob/three.js/comments{/number}","issue_comment_url":"https://api.github.com/repos/mrdoob/three.js/issues/comments{/number}","contents_url":"https://api.github.com/repos/mrdoob/three.js/contents/{+path}","compare_url":"https://api.github.com/repos/mrdoob/three.js/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mrdoob/three.js/merges","archive_url":"https://api.github.com/repos/mrdoob/three.js/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mrdoob/three.js/downloads","issues_url":"https://api.github.com/repos/mrdoob/three.js/issues{/number}","pulls_url":"https://api.github.com/repos/mrdoob/three.js/pulls{/number}","milestones_url":"https://api.github.com/repos/mrdoob/three.js/milestones{/number}","notifications_url":"https://api.github.com/repos/mrdoob/three.js/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mrdoob/three.js/labels{/name}","releases_url":"https://api.github.com/repos/mrdoob/three.js/releases{/id}","deployments_url":"https://api.github.com/repos/mrdoob/three.js/deployments","created_at":"2010-03-23T18:58:01Z","updated_at":"2016-03-07T17:23:25Z","pushed_at":"2016-03-07T17:55:28Z","git_url":"git://github.com/mrdoob/three.js.git","ssh_url":"git@github.com:mrdoob/three.js.git","clone_url":"https://github.com/mrdoob/three.js.git","svn_url":"https://github.com/mrdoob/three.js","homepage":"http://threejs.org/","size":446719,"stargazers_count":23636,"watchers_count":23636,"language":"JavaScript","has_issues":true,"has_downloads":false,"has_wiki":true,"has_pages":true,"forks_count":7560,"mirror_url":null,"open_issues_count":611,"forks":7560,"open_issues":611,"watchers":23636,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/mrdoob/three.js/pulls/8306"},"html":{"href":"https://github.com/mrdoob/three.js/pull/8306"},"issue":{"href":"https://api.github.com/repos/mrdoob/three.js/issues/8306"},"comments":{"href":"https://api.github.com/repos/mrdoob/three.js/issues/8306/comments"},"review_comments":{"href":"https://api.github.com/repos/mrdoob/three.js/pulls/8306/comments"},"review_comment":{"href":"https://api.github.com/repos/mrdoob/three.js/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/mrdoob/three.js/pulls/8306/commits"},"statuses":{"href":"https://api.github.com/repos/mrdoob/three.js/statuses/10b8eb8cc2b2ae45feba6dd0fdc0cd09c86b8983"}}}}