{"action":"closed","number":130,"pull_request":{"url":"https://api.github.com/repos/SiliconStudio/paradox/pulls/130","id":25606644,"html_url":"https://github.com/SiliconStudio/paradox/pull/130","diff_url":"https://github.com/SiliconStudio/paradox/pull/130.diff","patch_url":"https://github.com/SiliconStudio/paradox/pull/130.patch","issue_url":"https://api.github.com/repos/SiliconStudio/paradox/issues/130","number":130,"state":"closed","locked":false,"title":"GeometricPrimitive.Plane allows for separate tessellation values for X/Y axes.","user":{"login":"Discosultan","id":2970736,"avatar_url":"https://avatars.githubusercontent.com/u/2970736?v=3","gravatar_id":"","url":"https://api.github.com/users/Discosultan","html_url":"https://github.com/Discosultan","followers_url":"https://api.github.com/users/Discosultan/followers","following_url":"https://api.github.com/users/Discosultan/following{/other_user}","gists_url":"https://api.github.com/users/Discosultan/gists{/gist_id}","starred_url":"https://api.github.com/users/Discosultan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Discosultan/subscriptions","organizations_url":"https://api.github.com/users/Discosultan/orgs","repos_url":"https://api.github.com/users/Discosultan/repos","events_url":"https://api.github.com/users/Discosultan/events{/privacy}","received_events_url":"https://api.github.com/users/Discosultan/received_events","type":"User","site_admin":false},"body":"Before considering this pull request, I have s few questions:\r\n\r\n1) Are there any tests which are covering GeometricPrimitives API?\r\n\r\n2) This is a breaking change. I quess that is okay considering Paradox Game Engine is in beta state? An alternative, which wouldn't break existing behavior, would be to create an overload instead.\r\n\r\nThe problem this pull request tries to solve is that for example when generating terrain from the plane primitive, only a single parameter is used for tessellation. This doesn't allow for rectangular grid to be made up of square cells. Currently X and Y axes can only have the same number of quads (notice the stretched floor):\r\n\r\n![rectangular cells](http://az695587.vo.msecnd.net/images/shapes_1.PNG)\r\n\r\nWith this change the number of quads per axis can be configured separately, so for this example, I can create square cells within a rectangular grid:\r\n\r\n![square cells](http://az695587.vo.msecnd.net/images/shapes_2.PNG)\r\n","created_at":"2014-12-05T22:57:49Z","updated_at":"2015-02-04T17:08:51Z","closed_at":"2015-02-04T17:08:51Z","merged_at":null,"merge_commit_sha":"0b34abda351e94a3bd226a382f461066d669f463","assignee":null,"milestone":{"url":"https://api.github.com/repos/SiliconStudio/paradox/milestones/12","labels_url":"https://api.github.com/repos/SiliconStudio/paradox/milestones/12/labels","id":891075,"number":12,"title":"beta07","description":"","creator":{"login":"xoofx","id":715038,"avatar_url":"https://avatars.githubusercontent.com/u/715038?v=3","gravatar_id":"","url":"https://api.github.com/users/xoofx","html_url":"https://github.com/xoofx","followers_url":"https://api.github.com/users/xoofx/followers","following_url":"https://api.github.com/users/xoofx/following{/other_user}","gists_url":"https://api.github.com/users/xoofx/gists{/gist_id}","starred_url":"https://api.github.com/users/xoofx/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/xoofx/subscriptions","organizations_url":"https://api.github.com/users/xoofx/orgs","repos_url":"https://api.github.com/users/xoofx/repos","events_url":"https://api.github.com/users/xoofx/events{/privacy}","received_events_url":"https://api.github.com/users/xoofx/received_events","type":"User","site_admin":false},"open_issues":2,"closed_issues":4,"state":"open","created_at":"2014-12-04T06:49:28Z","updated_at":"2015-02-04T17:08:51Z","due_on":null,"closed_at":null},"commits_url":"https://api.github.com/repos/SiliconStudio/paradox/pulls/130/commits","review_comments_url":"https://api.github.com/repos/SiliconStudio/paradox/pulls/130/comments","review_comment_url":"https://api.github.com/repos/SiliconStudio/paradox/pulls/comments/{number}","comments_url":"https://api.github.com/repos/SiliconStudio/paradox/issues/130/comments","statuses_url":"https://api.github.com/repos/SiliconStudio/paradox/statuses/30e071ed3c90147edc748f02035e1650df7bf653","head":{"label":"Discosultan:master","ref":"master","sha":"30e071ed3c90147edc748f02035e1650df7bf653","user":{"login":"Discosultan","id":2970736,"avatar_url":"https://avatars.githubusercontent.com/u/2970736?v=3","gravatar_id":"","url":"https://api.github.com/users/Discosultan","html_url":"https://github.com/Discosultan","followers_url":"https://api.github.com/users/Discosultan/followers","following_url":"https://api.github.com/users/Discosultan/following{/other_user}","gists_url":"https://api.github.com/users/Discosultan/gists{/gist_id}","starred_url":"https://api.github.com/users/Discosultan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Discosultan/subscriptions","organizations_url":"https://api.github.com/users/Discosultan/orgs","repos_url":"https://api.github.com/users/Discosultan/repos","events_url":"https://api.github.com/users/Discosultan/events{/privacy}","received_events_url":"https://api.github.com/users/Discosultan/received_events","type":"User","site_admin":false},"repo":{"id":26882447,"name":"paradox","full_name":"Discosultan/paradox","owner":{"login":"Discosultan","id":2970736,"avatar_url":"https://avatars.githubusercontent.com/u/2970736?v=3","gravatar_id":"","url":"https://api.github.com/users/Discosultan","html_url":"https://github.com/Discosultan","followers_url":"https://api.github.com/users/Discosultan/followers","following_url":"https://api.github.com/users/Discosultan/following{/other_user}","gists_url":"https://api.github.com/users/Discosultan/gists{/gist_id}","starred_url":"https://api.github.com/users/Discosultan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Discosultan/subscriptions","organizations_url":"https://api.github.com/users/Discosultan/orgs","repos_url":"https://api.github.com/users/Discosultan/repos","events_url":"https://api.github.com/users/Discosultan/events{/privacy}","received_events_url":"https://api.github.com/users/Discosultan/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/Discosultan/paradox","description":"Paradox Game Engine","fork":true,"url":"https://api.github.com/repos/Discosultan/paradox","forks_url":"https://api.github.com/repos/Discosultan/paradox/forks","keys_url":"https://api.github.com/repos/Discosultan/paradox/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Discosultan/paradox/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Discosultan/paradox/teams","hooks_url":"https://api.github.com/repos/Discosultan/paradox/hooks","issue_events_url":"https://api.github.com/repos/Discosultan/paradox/issues/events{/number}","events_url":"https://api.github.com/repos/Discosultan/paradox/events","assignees_url":"https://api.github.com/repos/Discosultan/paradox/assignees{/user}","branches_url":"https://api.github.com/repos/Discosultan/paradox/branches{/branch}","tags_url":"https://api.github.com/repos/Discosultan/paradox/tags","blobs_url":"https://api.github.com/repos/Discosultan/paradox/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Discosultan/paradox/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Discosultan/paradox/git/refs{/sha}","trees_url":"https://api.github.com/repos/Discosultan/paradox/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Discosultan/paradox/statuses/{sha}","languages_url":"https://api.github.com/repos/Discosultan/paradox/languages","stargazers_url":"https://api.github.com/repos/Discosultan/paradox/stargazers","contributors_url":"https://api.github.com/repos/Discosultan/paradox/contributors","subscribers_url":"https://api.github.com/repos/Discosultan/paradox/subscribers","subscription_url":"https://api.github.com/repos/Discosultan/paradox/subscription","commits_url":"https://api.github.com/repos/Discosultan/paradox/commits{/sha}","git_commits_url":"https://api.github.com/repos/Discosultan/paradox/git/commits{/sha}","comments_url":"https://api.github.com/repos/Discosultan/paradox/comments{/number}","issue_comment_url":"https://api.github.com/repos/Discosultan/paradox/issues/comments/{number}","contents_url":"https://api.github.com/repos/Discosultan/paradox/contents/{+path}","compare_url":"https://api.github.com/repos/Discosultan/paradox/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Discosultan/paradox/merges","archive_url":"https://api.github.com/repos/Discosultan/paradox/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Discosultan/paradox/downloads","issues_url":"https://api.github.com/repos/Discosultan/paradox/issues{/number}","pulls_url":"https://api.github.com/repos/Discosultan/paradox/pulls{/number}","milestones_url":"https://api.github.com/repos/Discosultan/paradox/milestones{/number}","notifications_url":"https://api.github.com/repos/Discosultan/paradox/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Discosultan/paradox/labels{/name}","releases_url":"https://api.github.com/repos/Discosultan/paradox/releases{/id}","created_at":"2014-11-19T21:27:15Z","updated_at":"2014-12-05T22:40:46Z","pushed_at":"2014-12-05T22:40:36Z","git_url":"git://github.com/Discosultan/paradox.git","ssh_url":"git@github.com:Discosultan/paradox.git","clone_url":"https://github.com/Discosultan/paradox.git","svn_url":"https://github.com/Discosultan/paradox","homepage":"http://paradox3d.net","size":15131,"stargazers_count":0,"watchers_count":0,"language":"C#","has_issues":false,"has_downloads":true,"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":"SiliconStudio:master","ref":"master","sha":"ceba0b113502491c206046a0ed874f435102fcfa","user":{"login":"SiliconStudio","id":4505864,"avatar_url":"https://avatars.githubusercontent.com/u/4505864?v=3","gravatar_id":"","url":"https://api.github.com/users/SiliconStudio","html_url":"https://github.com/SiliconStudio","followers_url":"https://api.github.com/users/SiliconStudio/followers","following_url":"https://api.github.com/users/SiliconStudio/following{/other_user}","gists_url":"https://api.github.com/users/SiliconStudio/gists{/gist_id}","starred_url":"https://api.github.com/users/SiliconStudio/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SiliconStudio/subscriptions","organizations_url":"https://api.github.com/users/SiliconStudio/orgs","repos_url":"https://api.github.com/users/SiliconStudio/repos","events_url":"https://api.github.com/users/SiliconStudio/events{/privacy}","received_events_url":"https://api.github.com/users/SiliconStudio/received_events","type":"Organization","site_admin":false},"repo":{"id":23534015,"name":"paradox","full_name":"SiliconStudio/paradox","owner":{"login":"SiliconStudio","id":4505864,"avatar_url":"https://avatars.githubusercontent.com/u/4505864?v=3","gravatar_id":"","url":"https://api.github.com/users/SiliconStudio","html_url":"https://github.com/SiliconStudio","followers_url":"https://api.github.com/users/SiliconStudio/followers","following_url":"https://api.github.com/users/SiliconStudio/following{/other_user}","gists_url":"https://api.github.com/users/SiliconStudio/gists{/gist_id}","starred_url":"https://api.github.com/users/SiliconStudio/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SiliconStudio/subscriptions","organizations_url":"https://api.github.com/users/SiliconStudio/orgs","repos_url":"https://api.github.com/users/SiliconStudio/repos","events_url":"https://api.github.com/users/SiliconStudio/events{/privacy}","received_events_url":"https://api.github.com/users/SiliconStudio/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/SiliconStudio/paradox","description":"Paradox Game Engine","fork":false,"url":"https://api.github.com/repos/SiliconStudio/paradox","forks_url":"https://api.github.com/repos/SiliconStudio/paradox/forks","keys_url":"https://api.github.com/repos/SiliconStudio/paradox/keys{/key_id}","collaborators_url":"https://api.github.com/repos/SiliconStudio/paradox/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/SiliconStudio/paradox/teams","hooks_url":"https://api.github.com/repos/SiliconStudio/paradox/hooks","issue_events_url":"https://api.github.com/repos/SiliconStudio/paradox/issues/events{/number}","events_url":"https://api.github.com/repos/SiliconStudio/paradox/events","assignees_url":"https://api.github.com/repos/SiliconStudio/paradox/assignees{/user}","branches_url":"https://api.github.com/repos/SiliconStudio/paradox/branches{/branch}","tags_url":"https://api.github.com/repos/SiliconStudio/paradox/tags","blobs_url":"https://api.github.com/repos/SiliconStudio/paradox/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/SiliconStudio/paradox/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/SiliconStudio/paradox/git/refs{/sha}","trees_url":"https://api.github.com/repos/SiliconStudio/paradox/git/trees{/sha}","statuses_url":"https://api.github.com/repos/SiliconStudio/paradox/statuses/{sha}","languages_url":"https://api.github.com/repos/SiliconStudio/paradox/languages","stargazers_url":"https://api.github.com/repos/SiliconStudio/paradox/stargazers","contributors_url":"https://api.github.com/repos/SiliconStudio/paradox/contributors","subscribers_url":"https://api.github.com/repos/SiliconStudio/paradox/subscribers","subscription_url":"https://api.github.com/repos/SiliconStudio/paradox/subscription","commits_url":"https://api.github.com/repos/SiliconStudio/paradox/commits{/sha}","git_commits_url":"https://api.github.com/repos/SiliconStudio/paradox/git/commits{/sha}","comments_url":"https://api.github.com/repos/SiliconStudio/paradox/comments{/number}","issue_comment_url":"https://api.github.com/repos/SiliconStudio/paradox/issues/comments/{number}","contents_url":"https://api.github.com/repos/SiliconStudio/paradox/contents/{+path}","compare_url":"https://api.github.com/repos/SiliconStudio/paradox/compare/{base}...{head}","merges_url":"https://api.github.com/repos/SiliconStudio/paradox/merges","archive_url":"https://api.github.com/repos/SiliconStudio/paradox/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/SiliconStudio/paradox/downloads","issues_url":"https://api.github.com/repos/SiliconStudio/paradox/issues{/number}","pulls_url":"https://api.github.com/repos/SiliconStudio/paradox/pulls{/number}","milestones_url":"https://api.github.com/repos/SiliconStudio/paradox/milestones{/number}","notifications_url":"https://api.github.com/repos/SiliconStudio/paradox/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/SiliconStudio/paradox/labels{/name}","releases_url":"https://api.github.com/repos/SiliconStudio/paradox/releases{/id}","created_at":"2014-09-01T07:23:24Z","updated_at":"2015-02-04T16:41:14Z","pushed_at":"2015-02-04T05:34:14Z","git_url":"git://github.com/SiliconStudio/paradox.git","ssh_url":"git@github.com:SiliconStudio/paradox.git","clone_url":"https://github.com/SiliconStudio/paradox.git","svn_url":"https://github.com/SiliconStudio/paradox","homepage":"http://paradox3d.net","size":16053,"stargazers_count":358,"watchers_count":358,"language":"C#","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":93,"mirror_url":null,"open_issues_count":78,"forks":93,"open_issues":78,"watchers":358,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/SiliconStudio/paradox/pulls/130"},"html":{"href":"https://github.com/SiliconStudio/paradox/pull/130"},"issue":{"href":"https://api.github.com/repos/SiliconStudio/paradox/issues/130"},"comments":{"href":"https://api.github.com/repos/SiliconStudio/paradox/issues/130/comments"},"review_comments":{"href":"https://api.github.com/repos/SiliconStudio/paradox/pulls/130/comments"},"review_comment":{"href":"https://api.github.com/repos/SiliconStudio/paradox/pulls/comments/{number}"},"commits":{"href":"https://api.github.com/repos/SiliconStudio/paradox/pulls/130/commits"},"statuses":{"href":"https://api.github.com/repos/SiliconStudio/paradox/statuses/30e071ed3c90147edc748f02035e1650df7bf653"}},"merged":false,"mergeable":false,"mergeable_state":"dirty","merged_by":null,"comments":2,"review_comments":0,"commits":2,"additions":25,"deletions":22,"changed_files":1}}