{"action":"created","comment":{"url":"https://api.github.com/repos/AcademySoftwareFoundation/openvdb/pulls/comments/236372385","pull_request_review_id":178434140,"id":236372385,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIzNjM3MjM4NQ==","diff_hunk":"@@ -169,6 +205,37 @@ class OPENVDB_API AttributeArray\n     /// @note This counts each data element in a strided array\n     virtual Index dataSize() const = 0;\n \n+#if OPENVDB_ABI_VERSION_NUMBER >= 6\n+    /// Return the name of the value type of a single element in this array (e.g., \"float\" or \"vec3d\").\n+    virtual Name valueType() const = 0;\n+\n+    /// Return the name of the codec used by this array (e.g., \"trnc\" or \"fxpt\").\n+    virtual Name codecType() const = 0;\n+\n+    /// Return the size in bytes of the value type of a single element in this array.\n+    /// (e.g. \"float\" -> 4 bytes, \"vec3d\" -> 24 bytes\").\n+    virtual Index valueTypeSize() const = 0;\n+\n+    /// Return the size in bytes of the storage type of a single element of this array.\n+    /// @note If the Codec is a NullCodec, valueSize() == storageSize()\n+    virtual Index storageTypeSize() const = 0;\n+\n+    /// Return @c true if the value type is floating point\n+    virtual bool valueTypeIsFloatingPoint() const = 0;\n+\n+    /// Return @c true if the value type is scalar (not vector, quaternion or matrix)","path":"openvdb/points/AttributeArray.h","position":null,"original_position":86,"commit_id":"77b26e124964b916cb755c9a091f76924c11096e","original_commit_id":"52645ac1917f3c524e4cabe92e962b01edc3793d","user":{"login":"danrbailey","id":5251654,"node_id":"MDQ6VXNlcjUyNTE2NTQ=","avatar_url":"https://avatars0.githubusercontent.com/u/5251654?v=4","gravatar_id":"","url":"https://api.github.com/users/danrbailey","html_url":"https://github.com/danrbailey","followers_url":"https://api.github.com/users/danrbailey/followers","following_url":"https://api.github.com/users/danrbailey/following{/other_user}","gists_url":"https://api.github.com/users/danrbailey/gists{/gist_id}","starred_url":"https://api.github.com/users/danrbailey/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danrbailey/subscriptions","organizations_url":"https://api.github.com/users/danrbailey/orgs","repos_url":"https://api.github.com/users/danrbailey/repos","events_url":"https://api.github.com/users/danrbailey/events{/privacy}","received_events_url":"https://api.github.com/users/danrbailey/received_events","type":"User","site_admin":false},"body":"Thanks, just resolved that.","created_at":"2018-11-26T18:24:51Z","updated_at":"2018-11-26T18:24:51Z","html_url":"https://github.com/AcademySoftwareFoundation/openvdb/pull/281#discussion_r236372385","pull_request_url":"https://api.github.com/repos/AcademySoftwareFoundation/openvdb/pulls/281","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/AcademySoftwareFoundation/openvdb/pulls/comments/236372385"},"html":{"href":"https://github.com/AcademySoftwareFoundation/openvdb/pull/281#discussion_r236372385"},"pull_request":{"href":"https://api.github.com/repos/AcademySoftwareFoundation/openvdb/pulls/281"}},"in_reply_to_id":235353599},"pull_request":{"url":"https://api.github.com/repos/AcademySoftwareFoundation/openvdb/pulls/281","id":228850557,"node_id":"MDExOlB1bGxSZXF1ZXN0MjI4ODUwNTU3","html_url":"https://github.com/AcademySoftwareFoundation/openvdb/pull/281","diff_url":"https://github.com/AcademySoftwareFoundation/openvdb/pull/281.diff","patch_url":"https://github.com/AcademySoftwareFoundation/openvdb/pull/281.patch","issue_url":"https://api.github.com/repos/AcademySoftwareFoundation/openvdb/issues/281","number":281,"state":"open","locked":false,"title":"ABI=6 and Fast AttributeArray Copying","user":{"login":"danrbailey","id":5251654,"node_id":"MDQ6VXNlcjUyNTE2NTQ=","avatar_url":"https://avatars0.githubusercontent.com/u/5251654?v=4","gravatar_id":"","url":"https://api.github.com/users/danrbailey","html_url":"https://github.com/danrbailey","followers_url":"https://api.github.com/users/danrbailey/followers","following_url":"https://api.github.com/users/danrbailey/following{/other_user}","gists_url":"https://api.github.com/users/danrbailey/gists{/gist_id}","starred_url":"https://api.github.com/users/danrbailey/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danrbailey/subscriptions","organizations_url":"https://api.github.com/users/danrbailey/orgs","repos_url":"https://api.github.com/users/danrbailey/repos","events_url":"https://api.github.com/users/danrbailey/events{/privacy}","received_events_url":"https://api.github.com/users/danrbailey/received_events","type":"User","site_admin":false},"body":"* Added ABI=6, bumped Travis to build for ABI=6 and deprecated some older ABI builds\r\n* Add various new methods to AttributeArray for querying value and storage type and size metadata\r\n* In-memory compression for AttributeArray has now been deprecated\r\n* AttributeArray member variables have been unioned, cleaned up and packed to reduce memory from 64 bytes to 40 bytes (for an empty array)\r\n* New AttributeArray copyValues() method that can copy batches of attributes using a custom iterator to avoid the cost of doing a virtual function call per-point\r\n* Add copyValues() implementation to deletion of points to accelerate this method for ABI=6\r\n* Add extra AttributeArray read checks to error if attempting to access or write partially-read arrays","created_at":"2018-11-06T22:06:09Z","updated_at":"2018-11-26T18:24:51Z","closed_at":null,"merged_at":null,"merge_commit_sha":"aa02765f0f9faa8861740c83aad928609d393486","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/AcademySoftwareFoundation/openvdb/pulls/281/commits","review_comments_url":"https://api.github.com/repos/AcademySoftwareFoundation/openvdb/pulls/281/comments","review_comment_url":"https://api.github.com/repos/AcademySoftwareFoundation/openvdb/pulls/comments{/number}","comments_url":"https://api.github.com/repos/AcademySoftwareFoundation/openvdb/issues/281/comments","statuses_url":"https://api.github.com/repos/AcademySoftwareFoundation/openvdb/statuses/77b26e124964b916cb755c9a091f76924c11096e","head":{"label":"danrbailey:abi6","ref":"abi6","sha":"77b26e124964b916cb755c9a091f76924c11096e","user":{"login":"danrbailey","id":5251654,"node_id":"MDQ6VXNlcjUyNTE2NTQ=","avatar_url":"https://avatars0.githubusercontent.com/u/5251654?v=4","gravatar_id":"","url":"https://api.github.com/users/danrbailey","html_url":"https://github.com/danrbailey","followers_url":"https://api.github.com/users/danrbailey/followers","following_url":"https://api.github.com/users/danrbailey/following{/other_user}","gists_url":"https://api.github.com/users/danrbailey/gists{/gist_id}","starred_url":"https://api.github.com/users/danrbailey/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danrbailey/subscriptions","organizations_url":"https://api.github.com/users/danrbailey/orgs","repos_url":"https://api.github.com/users/danrbailey/repos","events_url":"https://api.github.com/users/danrbailey/events{/privacy}","received_events_url":"https://api.github.com/users/danrbailey/received_events","type":"User","site_admin":false},"repo":{"id":62845294,"node_id":"MDEwOlJlcG9zaXRvcnk2Mjg0NTI5NA==","name":"openvdb","full_name":"danrbailey/openvdb","private":false,"owner":{"login":"danrbailey","id":5251654,"node_id":"MDQ6VXNlcjUyNTE2NTQ=","avatar_url":"https://avatars0.githubusercontent.com/u/5251654?v=4","gravatar_id":"","url":"https://api.github.com/users/danrbailey","html_url":"https://github.com/danrbailey","followers_url":"https://api.github.com/users/danrbailey/followers","following_url":"https://api.github.com/users/danrbailey/following{/other_user}","gists_url":"https://api.github.com/users/danrbailey/gists{/gist_id}","starred_url":"https://api.github.com/users/danrbailey/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danrbailey/subscriptions","organizations_url":"https://api.github.com/users/danrbailey/orgs","repos_url":"https://api.github.com/users/danrbailey/repos","events_url":"https://api.github.com/users/danrbailey/events{/privacy}","received_events_url":"https://api.github.com/users/danrbailey/received_events","type":"User","site_admin":false},"html_url":"https://github.com/danrbailey/openvdb","description":"OpenVDB Development Repository","fork":true,"url":"https://api.github.com/repos/danrbailey/openvdb","forks_url":"https://api.github.com/repos/danrbailey/openvdb/forks","keys_url":"https://api.github.com/repos/danrbailey/openvdb/keys{/key_id}","collaborators_url":"https://api.github.com/repos/danrbailey/openvdb/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/danrbailey/openvdb/teams","hooks_url":"https://api.github.com/repos/danrbailey/openvdb/hooks","issue_events_url":"https://api.github.com/repos/danrbailey/openvdb/issues/events{/number}","events_url":"https://api.github.com/repos/danrbailey/openvdb/events","assignees_url":"https://api.github.com/repos/danrbailey/openvdb/assignees{/user}","branches_url":"https://api.github.com/repos/danrbailey/openvdb/branches{/branch}","tags_url":"https://api.github.com/repos/danrbailey/openvdb/tags","blobs_url":"https://api.github.com/repos/danrbailey/openvdb/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/danrbailey/openvdb/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/danrbailey/openvdb/git/refs{/sha}","trees_url":"https://api.github.com/repos/danrbailey/openvdb/git/trees{/sha}","statuses_url":"https://api.github.com/repos/danrbailey/openvdb/statuses/{sha}","languages_url":"https://api.github.com/repos/danrbailey/openvdb/languages","stargazers_url":"https://api.github.com/repos/danrbailey/openvdb/stargazers","contributors_url":"https://api.github.com/repos/danrbailey/openvdb/contributors","subscribers_url":"https://api.github.com/repos/danrbailey/openvdb/subscribers","subscription_url":"https://api.github.com/repos/danrbailey/openvdb/subscription","commits_url":"https://api.github.com/repos/danrbailey/openvdb/commits{/sha}","git_commits_url":"https://api.github.com/repos/danrbailey/openvdb/git/commits{/sha}","comments_url":"https://api.github.com/repos/danrbailey/openvdb/comments{/number}","issue_comment_url":"https://api.github.com/repos/danrbailey/openvdb/issues/comments{/number}","contents_url":"https://api.github.com/repos/danrbailey/openvdb/contents/{+path}","compare_url":"https://api.github.com/repos/danrbailey/openvdb/compare/{base}...{head}","merges_url":"https://api.github.com/repos/danrbailey/openvdb/merges","archive_url":"https://api.github.com/repos/danrbailey/openvdb/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/danrbailey/openvdb/downloads","issues_url":"https://api.github.com/repos/danrbailey/openvdb/issues{/number}","pulls_url":"https://api.github.com/repos/danrbailey/openvdb/pulls{/number}","milestones_url":"https://api.github.com/repos/danrbailey/openvdb/milestones{/number}","notifications_url":"https://api.github.com/repos/danrbailey/openvdb/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/danrbailey/openvdb/labels{/name}","releases_url":"https://api.github.com/repos/danrbailey/openvdb/releases{/id}","deployments_url":"https://api.github.com/repos/danrbailey/openvdb/deployments","created_at":"2016-07-07T23:53:52Z","updated_at":"2018-10-31T19:01:45Z","pushed_at":"2018-11-26T18:23:57Z","git_url":"git://github.com/danrbailey/openvdb.git","ssh_url":"git@github.com:danrbailey/openvdb.git","clone_url":"https://github.com/danrbailey/openvdb.git","svn_url":"https://github.com/danrbailey/openvdb","homepage":null,"size":8905,"stargazers_count":2,"watchers_count":2,"language":"C++","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":1,"open_issues":0,"watchers":2,"default_branch":"master"}},"base":{"label":"AcademySoftwareFoundation:master","ref":"master","sha":"c3ff8ebecf8ce2d67d28cf70e0ea9394ada84cc3","user":{"login":"AcademySoftwareFoundation","id":40807682,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQwODA3Njgy","avatar_url":"https://avatars1.githubusercontent.com/u/40807682?v=4","gravatar_id":"","url":"https://api.github.com/users/AcademySoftwareFoundation","html_url":"https://github.com/AcademySoftwareFoundation","followers_url":"https://api.github.com/users/AcademySoftwareFoundation/followers","following_url":"https://api.github.com/users/AcademySoftwareFoundation/following{/other_user}","gists_url":"https://api.github.com/users/AcademySoftwareFoundation/gists{/gist_id}","starred_url":"https://api.github.com/users/AcademySoftwareFoundation/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AcademySoftwareFoundation/subscriptions","organizations_url":"https://api.github.com/users/AcademySoftwareFoundation/orgs","repos_url":"https://api.github.com/users/AcademySoftwareFoundation/repos","events_url":"https://api.github.com/users/AcademySoftwareFoundation/events{/privacy}","received_events_url":"https://api.github.com/users/AcademySoftwareFoundation/received_events","type":"Organization","site_admin":false},"repo":{"id":9401161,"node_id":"MDEwOlJlcG9zaXRvcnk5NDAxMTYx","name":"openvdb","full_name":"AcademySoftwareFoundation/openvdb","private":false,"owner":{"login":"AcademySoftwareFoundation","id":40807682,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQwODA3Njgy","avatar_url":"https://avatars1.githubusercontent.com/u/40807682?v=4","gravatar_id":"","url":"https://api.github.com/users/AcademySoftwareFoundation","html_url":"https://github.com/AcademySoftwareFoundation","followers_url":"https://api.github.com/users/AcademySoftwareFoundation/followers","following_url":"https://api.github.com/users/AcademySoftwareFoundation/following{/other_user}","gists_url":"https://api.github.com/users/AcademySoftwareFoundation/gists{/gist_id}","starred_url":"https://api.github.com/users/AcademySoftwareFoundation/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AcademySoftwareFoundation/subscriptions","organizations_url":"https://api.github.com/users/AcademySoftwareFoundation/orgs","repos_url":"https://api.github.com/users/AcademySoftwareFoundation/repos","events_url":"https://api.github.com/users/AcademySoftwareFoundation/events{/privacy}","received_events_url":"https://api.github.com/users/AcademySoftwareFoundation/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/AcademySoftwareFoundation/openvdb","description":"OpenVDB - Sparse volume data structure and tools","fork":false,"url":"https://api.github.com/repos/AcademySoftwareFoundation/openvdb","forks_url":"https://api.github.com/repos/AcademySoftwareFoundation/openvdb/forks","keys_url":"https://api.github.com/repos/AcademySoftwareFoundation/openvdb/keys{/key_id}","collaborators_url":"https://api.github.com/repos/AcademySoftwareFoundation/openvdb/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/AcademySoftwareFoundation/openvdb/teams","hooks_url":"https://api.github.com/repos/AcademySoftwareFoundation/openvdb/hooks","issue_events_url":"https://api.github.com/repos/AcademySoftwareFoundation/openvdb/issues/events{/number}","events_url":"https://api.github.com/repos/AcademySoftwareFoundation/openvdb/events","assignees_url":"https://api.github.com/repos/AcademySoftwareFoundation/openvdb/assignees{/user}","branches_url":"https://api.github.com/repos/AcademySoftwareFoundation/openvdb/branches{/branch}","tags_url":"https://api.github.com/repos/AcademySoftwareFoundation/openvdb/tags","blobs_url":"https://api.github.com/repos/AcademySoftwareFoundation/openvdb/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/AcademySoftwareFoundation/openvdb/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/AcademySoftwareFoundation/openvdb/git/refs{/sha}","trees_url":"https://api.github.com/repos/AcademySoftwareFoundation/openvdb/git/trees{/sha}","statuses_url":"https://api.github.com/repos/AcademySoftwareFoundation/openvdb/statuses/{sha}","languages_url":"https://api.github.com/repos/AcademySoftwareFoundation/openvdb/languages","stargazers_url":"https://api.github.com/repos/AcademySoftwareFoundation/openvdb/stargazers","contributors_url":"https://api.github.com/repos/AcademySoftwareFoundation/openvdb/contributors","subscribers_url":"https://api.github.com/repos/AcademySoftwareFoundation/openvdb/subscribers","subscription_url":"https://api.github.com/repos/AcademySoftwareFoundation/openvdb/subscription","commits_url":"https://api.github.com/repos/AcademySoftwareFoundation/openvdb/commits{/sha}","git_commits_url":"https://api.github.com/repos/AcademySoftwareFoundation/openvdb/git/commits{/sha}","comments_url":"https://api.github.com/repos/AcademySoftwareFoundation/openvdb/comments{/number}","issue_comment_url":"https://api.github.com/repos/AcademySoftwareFoundation/openvdb/issues/comments{/number}","contents_url":"https://api.github.com/repos/AcademySoftwareFoundation/openvdb/contents/{+path}","compare_url":"https://api.github.com/repos/AcademySoftwareFoundation/openvdb/compare/{base}...{head}","merges_url":"https://api.github.com/repos/AcademySoftwareFoundation/openvdb/merges","archive_url":"https://api.github.com/repos/AcademySoftwareFoundation/openvdb/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/AcademySoftwareFoundation/openvdb/downloads","issues_url":"https://api.github.com/repos/AcademySoftwareFoundation/openvdb/issues{/number}","pulls_url":"https://api.github.com/repos/AcademySoftwareFoundation/openvdb/pulls{/number}","milestones_url":"https://api.github.com/repos/AcademySoftwareFoundation/openvdb/milestones{/number}","notifications_url":"https://api.github.com/repos/AcademySoftwareFoundation/openvdb/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/AcademySoftwareFoundation/openvdb/labels{/name}","releases_url":"https://api.github.com/repos/AcademySoftwareFoundation/openvdb/releases{/id}","deployments_url":"https://api.github.com/repos/AcademySoftwareFoundation/openvdb/deployments","created_at":"2013-04-12T18:39:57Z","updated_at":"2018-11-26T11:13:49Z","pushed_at":"2018-11-26T18:23:59Z","git_url":"git://github.com/AcademySoftwareFoundation/openvdb.git","ssh_url":"git@github.com:AcademySoftwareFoundation/openvdb.git","clone_url":"https://github.com/AcademySoftwareFoundation/openvdb.git","svn_url":"https://github.com/AcademySoftwareFoundation/openvdb","homepage":"http://www.openvdb.org/","size":7526,"stargazers_count":714,"watchers_count":714,"language":"C++","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":246,"mirror_url":null,"archived":false,"open_issues_count":56,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":246,"open_issues":56,"watchers":714,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/AcademySoftwareFoundation/openvdb/pulls/281"},"html":{"href":"https://github.com/AcademySoftwareFoundation/openvdb/pull/281"},"issue":{"href":"https://api.github.com/repos/AcademySoftwareFoundation/openvdb/issues/281"},"comments":{"href":"https://api.github.com/repos/AcademySoftwareFoundation/openvdb/issues/281/comments"},"review_comments":{"href":"https://api.github.com/repos/AcademySoftwareFoundation/openvdb/pulls/281/comments"},"review_comment":{"href":"https://api.github.com/repos/AcademySoftwareFoundation/openvdb/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/AcademySoftwareFoundation/openvdb/pulls/281/commits"},"statuses":{"href":"https://api.github.com/repos/AcademySoftwareFoundation/openvdb/statuses/77b26e124964b916cb755c9a091f76924c11096e"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"danrbailey"}}