GitHub PullRequestReviewCommentEvent at 2014-10-15 10:30:02
Repository: dealii
Actor: luca-heltai
Payload: {"action":"created","comment":{"url":"https://api.github.com/repos/luca-heltai/dealii/pulls/comments/18885581","id":18885581,"diff_hunk":"@@ -173,6 +173,99 @@ namespace OpenCASCADE\n     const double tolerance;\n   };\n \n+\n+  /**\n+   * A Boundary object based on OpenCASCADE TopoDS_Shape where new\n+   * points are first computed by averaging the surrounding points in\n+   * the same way as FlatManifold does, and then projecting it using\n+   * OpenCASCADE utilities onto the manifold along a direction which\n+   * is an estimation of the surrounding points (hence mesh cell) normal.\n+   * The direction normal to the mesh is particularly useful because\n+   * it is the direction in which the mesh is missing nodes. For\n+   * instance, during the refinement of a cell a new node is initially\n+   * created around the baricenter of the cell. This location somehow\n+   * ensures a uniform distance from the nodes of the old cell.\n+   * Projecting such cell baricenter onto the CAD surface in the direction\n+   * normal to the original cell will then retain uniform distance from\n+   * the points of the original cell. Of course, at the stage of mesh\n+   * generation, no dof handler nor finite element are defined, and\n+   * such direction has to be estimated.\n+   * For the case in which 8 surrounding points are present, 4 different\n+   * triangles are identified with the points assigned, and the normals\n+   * of such triangles are averaged to obtain the approximation of\n+   * the normal to the cell.\n+   * The case in which 2 surrounding points are present (i.e.:a cell\n+   * edge is being refined) is of course more tricky. The average of\n+   * the CAD surface normals at the 2 surrounding points is first\n+   * computed, and then projected onto the plane normal to the\n+   * segment linking the surrounding points. This again is an attempt\n+   * to have the new point with equal distance with respect to the\n+   * surrounding points\n+   *\n+   * This class only operates with CAD faces and makes the\n+   * assumption that the shape you pass to it\n+   * contains at least a face. If that is not the case, an Exeption\n+   * thrown. In debug mode there is a sanity check to\n+   * make sure that the surrounding points (the ones used in\n+   * project_to_manifold()) actually live on the Manifold, i.e.,\n+   * calling OpenCASCADE::closest_point() on those points leaves them\n+   * untouched. If this is not the case, an ExcPointNotOnManifold is\n+   * thrown.\n+   *\n+   *\n+   * Notice that this type of Boundary descriptor may fail to give\n+   * results if the triangulation to be refined is close to the\n+   * boundary of the given TopoDS_Shape, or when the normal direction\n+   * estimated from the surrounding points does not intersect the shape.\n+   * An exception\n+   * is thrown when this appens.\n+   *\n+   * @author Luca Heltai, Andrea Mola, 2011--2014.\n+   */\n+  template <int dim, int spacedim>\n+  class NormalToMeshProjectionBoundary : public Boundary<dim,spacedim>\n+  {\n+  public:\n+    /**\n+     * Construct a Boundary object which will project points on the\n+     * TopoDS_Shape @p sh, along the given @p direction.\n+     */\n+    NormalToMeshProjectionBoundary(const TopoDS_Shape &sh,\n+                                   const double tolerance=1e-7);\n+\n+    /**\n+     * Perform the actual projection onto the manifold. This function,\n+     * in debug mode, checks that each of the @p surrounding_points is\n+     * within tolerance from the given TopoDS_Shape. If this is not\n+     * the case, an exception is thrown.\n+     *\n+     * The projected point is computed using OpenCASCADE directional\n+     * projection algorithms.","path":"include/deal.II/opencascade/boundary_lib.h","position":80,"original_position":80,"commit_id":"0a950666ba6c5e013d52ce027d12e5a2188a8d12","original_commit_id":"0a950666ba6c5e013d52ce027d12e5a2188a8d12","user":{"login":"luca-heltai","id":2919756,"avatar_url":"https://avatars.githubusercontent.com/u/2919756?v=2","gravatar_id":"","url":"https://api.github.com/users/luca-heltai","html_url":"https://github.com/luca-heltai","followers_url":"https://api.github.com/users/luca-heltai/followers","following_url":"https://api.github.com/users/luca-heltai/following{/other_user}","gists_url":"https://api.github.com/users/luca-heltai/gists{/gist_id}","starred_url":"https://api.github.com/users/luca-heltai/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/luca-heltai/subscriptions","organizations_url":"https://api.github.com/users/luca-heltai/orgs","repos_url":"https://api.github.com/users/luca-heltai/repos","events_url":"https://api.github.com/users/luca-heltai/events{/privacy}","received_events_url":"https://api.github.com/users/luca-heltai/received_events","type":"User","site_admin":false},"body":"Update this comment, specifying the same thing you wrote above.","created_at":"2014-10-15T10:30:02Z","updated_at":"2014-10-15T10:30:02Z","html_url":"https://github.com/luca-heltai/dealii/pull/4#discussion_r18885581","pull_request_url":"https://api.github.com/repos/luca-heltai/dealii/pulls/4","_links":{"self":{"href":"https://api.github.com/repos/luca-heltai/dealii/pulls/comments/18885581"},"html":{"href":"https://github.com/luca-heltai/dealii/pull/4#discussion_r18885581"},"pull_request":{"href":"https://api.github.com/repos/luca-heltai/dealii/pulls/4"}}},"pull_request":{"url":"https://api.github.com/repos/luca-heltai/dealii/pulls/4","id":22768504,"html_url":"https://github.com/luca-heltai/dealii/pull/4","diff_url":"https://github.com/luca-heltai/dealii/pull/4.diff","patch_url":"https://github.com/luca-heltai/dealii/pull/4.patch","issue_url":"https://api.github.com/repos/luca-heltai/dealii/issues/4","number":4,"state":"open","locked":false,"title":"Step 54 pr","user":{"login":"luca-heltai","id":2919756,"avatar_url":"https://avatars.githubusercontent.com/u/2919756?v=2","gravatar_id":"","url":"https://api.github.com/users/luca-heltai","html_url":"https://github.com/luca-heltai","followers_url":"https://api.github.com/users/luca-heltai/followers","following_url":"https://api.github.com/users/luca-heltai/following{/other_user}","gists_url":"https://api.github.com/users/luca-heltai/gists{/gist_id}","starred_url":"https://api.github.com/users/luca-heltai/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/luca-heltai/subscriptions","organizations_url":"https://api.github.com/users/luca-heltai/orgs","repos_url":"https://api.github.com/users/luca-heltai/repos","events_url":"https://api.github.com/users/luca-heltai/events{/privacy}","received_events_url":"https://api.github.com/users/luca-heltai/received_events","type":"User","site_admin":false},"body":"Merge Andrea Mola onto OpenCASCADE PR","created_at":"2014-10-15T08:46:53Z","updated_at":"2014-10-15T10:30:02Z","closed_at":null,"merged_at":null,"merge_commit_sha":"eccd1d9244bb9915a049f97d3c9281ed7fd55f82","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/luca-heltai/dealii/pulls/4/commits","review_comments_url":"https://api.github.com/repos/luca-heltai/dealii/pulls/4/comments","review_comment_url":"https://api.github.com/repos/luca-heltai/dealii/pulls/comments/{number}","comments_url":"https://api.github.com/repos/luca-heltai/dealii/issues/4/comments","statuses_url":"https://api.github.com/repos/luca-heltai/dealii/statuses/0a950666ba6c5e013d52ce027d12e5a2188a8d12","head":{"label":"andreamola:step-54PR","ref":"step-54PR","sha":"0a950666ba6c5e013d52ce027d12e5a2188a8d12","user":{"login":"andreamola","id":8832692,"avatar_url":"https://avatars.githubusercontent.com/u/8832692?v=2","gravatar_id":"","url":"https://api.github.com/users/andreamola","html_url":"https://github.com/andreamola","followers_url":"https://api.github.com/users/andreamola/followers","following_url":"https://api.github.com/users/andreamola/following{/other_user}","gists_url":"https://api.github.com/users/andreamola/gists{/gist_id}","starred_url":"https://api.github.com/users/andreamola/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/andreamola/subscriptions","organizations_url":"https://api.github.com/users/andreamola/orgs","repos_url":"https://api.github.com/users/andreamola/repos","events_url":"https://api.github.com/users/andreamola/events{/privacy}","received_events_url":"https://api.github.com/users/andreamola/received_events","type":"User","site_admin":false},"repo":{"id":24333302,"name":"dealii","full_name":"andreamola/dealii","owner":{"login":"andreamola","id":8832692,"avatar_url":"https://avatars.githubusercontent.com/u/8832692?v=2","gravatar_id":"","url":"https://api.github.com/users/andreamola","html_url":"https://github.com/andreamola","followers_url":"https://api.github.com/users/andreamola/followers","following_url":"https://api.github.com/users/andreamola/following{/other_user}","gists_url":"https://api.github.com/users/andreamola/gists{/gist_id}","starred_url":"https://api.github.com/users/andreamola/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/andreamola/subscriptions","organizations_url":"https://api.github.com/users/andreamola/orgs","repos_url":"https://api.github.com/users/andreamola/repos","events_url":"https://api.github.com/users/andreamola/events{/privacy}","received_events_url":"https://api.github.com/users/andreamola/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/andreamola/dealii","description":"","fork":true,"url":"https://api.github.com/repos/andreamola/dealii","forks_url":"https://api.github.com/repos/andreamola/dealii/forks","keys_url":"https://api.github.com/repos/andreamola/dealii/keys{/key_id}","collaborators_url":"https://api.github.com/repos/andreamola/dealii/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/andreamola/dealii/teams","hooks_url":"https://api.github.com/repos/andreamola/dealii/hooks","issue_events_url":"https://api.github.com/repos/andreamola/dealii/issues/events{/number}","events_url":"https://api.github.com/repos/andreamola/dealii/events","assignees_url":"https://api.github.com/repos/andreamola/dealii/assignees{/user}","branches_url":"https://api.github.com/repos/andreamola/dealii/branches{/branch}","tags_url":"https://api.github.com/repos/andreamola/dealii/tags","blobs_url":"https://api.github.com/repos/andreamola/dealii/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/andreamola/dealii/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/andreamola/dealii/git/refs{/sha}","trees_url":"https://api.github.com/repos/andreamola/dealii/git/trees{/sha}","statuses_url":"https://api.github.com/repos/andreamola/dealii/statuses/{sha}","languages_url":"https://api.github.com/repos/andreamola/dealii/languages","stargazers_url":"https://api.github.com/repos/andreamola/dealii/stargazers","contributors_url":"https://api.github.com/repos/andreamola/dealii/contributors","subscribers_url":"https://api.github.com/repos/andreamola/dealii/subscribers","subscription_url":"https://api.github.com/repos/andreamola/dealii/subscription","commits_url":"https://api.github.com/repos/andreamola/dealii/commits{/sha}","git_commits_url":"https://api.github.com/repos/andreamola/dealii/git/commits{/sha}","comments_url":"https://api.github.com/repos/andreamola/dealii/comments{/number}","issue_comment_url":"https://api.github.com/repos/andreamola/dealii/issues/comments/{number}","contents_url":"https://api.github.com/repos/andreamola/dealii/contents/{+path}","compare_url":"https://api.github.com/repos/andreamola/dealii/compare/{base}...{head}","merges_url":"https://api.github.com/repos/andreamola/dealii/merges","archive_url":"https://api.github.com/repos/andreamola/dealii/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/andreamola/dealii/downloads","issues_url":"https://api.github.com/repos/andreamola/dealii/issues{/number}","pulls_url":"https://api.github.com/repos/andreamola/dealii/pulls{/number}","milestones_url":"https://api.github.com/repos/andreamola/dealii/milestones{/number}","notifications_url":"https://api.github.com/repos/andreamola/dealii/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/andreamola/dealii/labels{/name}","releases_url":"https://api.github.com/repos/andreamola/dealii/releases{/id}","created_at":"2014-09-22T15:05:29Z","updated_at":"2014-07-24T22:48:35Z","pushed_at":"2014-10-15T08:48:23Z","git_url":"git://github.com/andreamola/dealii.git","ssh_url":"git@github.com:andreamola/dealii.git","clone_url":"https://github.com/andreamola/dealii.git","svn_url":"https://github.com/andreamola/dealii","homepage":null,"size":96425,"stargazers_count":0,"watchers_count":0,"language":null,"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":"luca-heltai:open_cascade","ref":"open_cascade","sha":"5eff777a7ae234160d1891ac3e3545e65c27ddf1","user":{"login":"luca-heltai","id":2919756,"avatar_url":"https://avatars.githubusercontent.com/u/2919756?v=2","gravatar_id":"","url":"https://api.github.com/users/luca-heltai","html_url":"https://github.com/luca-heltai","followers_url":"https://api.github.com/users/luca-heltai/followers","following_url":"https://api.github.com/users/luca-heltai/following{/other_user}","gists_url":"https://api.github.com/users/luca-heltai/gists{/gist_id}","starred_url":"https://api.github.com/users/luca-heltai/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/luca-heltai/subscriptions","organizations_url":"https://api.github.com/users/luca-heltai/orgs","repos_url":"https://api.github.com/users/luca-heltai/repos","events_url":"https://api.github.com/users/luca-heltai/events{/privacy}","received_events_url":"https://api.github.com/users/luca-heltai/received_events","type":"User","site_admin":false},"repo":{"id":22053864,"name":"dealii","full_name":"luca-heltai/dealii","owner":{"login":"luca-heltai","id":2919756,"avatar_url":"https://avatars.githubusercontent.com/u/2919756?v=2","gravatar_id":"","url":"https://api.github.com/users/luca-heltai","html_url":"https://github.com/luca-heltai","followers_url":"https://api.github.com/users/luca-heltai/followers","following_url":"https://api.github.com/users/luca-heltai/following{/other_user}","gists_url":"https://api.github.com/users/luca-heltai/gists{/gist_id}","starred_url":"https://api.github.com/users/luca-heltai/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/luca-heltai/subscriptions","organizations_url":"https://api.github.com/users/luca-heltai/orgs","repos_url":"https://api.github.com/users/luca-heltai/repos","events_url":"https://api.github.com/users/luca-heltai/events{/privacy}","received_events_url":"https://api.github.com/users/luca-heltai/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/luca-heltai/dealii","description":"","fork":true,"url":"https://api.github.com/repos/luca-heltai/dealii","forks_url":"https://api.github.com/repos/luca-heltai/dealii/forks","keys_url":"https://api.github.com/repos/luca-heltai/dealii/keys{/key_id}","collaborators_url":"https://api.github.com/repos/luca-heltai/dealii/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/luca-heltai/dealii/teams","hooks_url":"https://api.github.com/repos/luca-heltai/dealii/hooks","issue_events_url":"https://api.github.com/repos/luca-heltai/dealii/issues/events{/number}","events_url":"https://api.github.com/repos/luca-heltai/dealii/events","assignees_url":"https://api.github.com/repos/luca-heltai/dealii/assignees{/user}","branches_url":"https://api.github.com/repos/luca-heltai/dealii/branches{/branch}","tags_url":"https://api.github.com/repos/luca-heltai/dealii/tags","blobs_url":"https://api.github.com/repos/luca-heltai/dealii/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/luca-heltai/dealii/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/luca-heltai/dealii/git/refs{/sha}","trees_url":"https://api.github.com/repos/luca-heltai/dealii/git/trees{/sha}","statuses_url":"https://api.github.com/repos/luca-heltai/dealii/statuses/{sha}","languages_url":"https://api.github.com/repos/luca-heltai/dealii/languages","stargazers_url":"https://api.github.com/repos/luca-heltai/dealii/stargazers","contributors_url":"https://api.github.com/repos/luca-heltai/dealii/contributors","subscribers_url":"https://api.github.com/repos/luca-heltai/dealii/subscribers","subscription_url":"https://api.github.com/repos/luca-heltai/dealii/subscription","commits_url":"https://api.github.com/repos/luca-heltai/dealii/commits{/sha}","git_commits_url":"https://api.github.com/repos/luca-heltai/dealii/git/commits{/sha}","comments_url":"https://api.github.com/repos/luca-heltai/dealii/comments{/number}","issue_comment_url":"https://api.github.com/repos/luca-heltai/dealii/issues/comments/{number}","contents_url":"https://api.github.com/repos/luca-heltai/dealii/contents/{+path}","compare_url":"https://api.github.com/repos/luca-heltai/dealii/compare/{base}...{head}","merges_url":"https://api.github.com/repos/luca-heltai/dealii/merges","archive_url":"https://api.github.com/repos/luca-heltai/dealii/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/luca-heltai/dealii/downloads","issues_url":"https://api.github.com/repos/luca-heltai/dealii/issues{/number}","pulls_url":"https://api.github.com/repos/luca-heltai/dealii/pulls{/number}","milestones_url":"https://api.github.com/repos/luca-heltai/dealii/milestones{/number}","notifications_url":"https://api.github.com/repos/luca-heltai/dealii/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/luca-heltai/dealii/labels{/name}","releases_url":"https://api.github.com/repos/luca-heltai/dealii/releases{/id}","created_at":"2014-07-21T06:17:40Z","updated_at":"2014-07-24T22:48:35Z","pushed_at":"2014-10-10T21:58:13Z","git_url":"git://github.com/luca-heltai/dealii.git","ssh_url":"git@github.com:luca-heltai/dealii.git","clone_url":"https://github.com/luca-heltai/dealii.git","svn_url":"https://github.com/luca-heltai/dealii","homepage":null,"size":100902,"stargazers_count":1,"watchers_count":1,"language":"C++","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"open_issues_count":1,"forks":1,"open_issues":1,"watchers":1,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/luca-heltai/dealii/pulls/4"},"html":{"href":"https://github.com/luca-heltai/dealii/pull/4"},"issue":{"href":"https://api.github.com/repos/luca-heltai/dealii/issues/4"},"comments":{"href":"https://api.github.com/repos/luca-heltai/dealii/issues/4/comments"},"review_comments":{"href":"https://api.github.com/repos/luca-heltai/dealii/pulls/4/comments"},"review_comment":{"href":"https://api.github.com/repos/luca-heltai/dealii/pulls/comments/{number}"},"commits":{"href":"https://api.github.com/repos/luca-heltai/dealii/pulls/4/commits"},"statuses":{"href":"https://api.github.com/repos/luca-heltai/dealii/statuses/0a950666ba6c5e013d52ce027d12e5a2188a8d12"}}}}