{"action":"created","issue":{"url":"https://api.github.com/repos/opensim-org/opensim-core/issues/967","repository_url":"https://api.github.com/repos/opensim-org/opensim-core","labels_url":"https://api.github.com/repos/opensim-org/opensim-core/issues/967/labels{/name}","comments_url":"https://api.github.com/repos/opensim-org/opensim-core/issues/967/comments","events_url":"https://api.github.com/repos/opensim-org/opensim-core/issues/967/events","html_url":"https://github.com/opensim-org/opensim-core/pull/967","id":154390805,"number":967,"title":"Update WrapObject to a ModelComponent","user":{"login":"aseth1","id":6494122,"avatar_url":"https://avatars.githubusercontent.com/u/6494122?v=3","gravatar_id":"","url":"https://api.github.com/users/aseth1","html_url":"https://github.com/aseth1","followers_url":"https://api.github.com/users/aseth1/followers","following_url":"https://api.github.com/users/aseth1/following{/other_user}","gists_url":"https://api.github.com/users/aseth1/gists{/gist_id}","starred_url":"https://api.github.com/users/aseth1/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aseth1/subscriptions","organizations_url":"https://api.github.com/users/aseth1/orgs","repos_url":"https://api.github.com/users/aseth1/repos","events_url":"https://api.github.com/users/aseth1/events{/privacy}","received_events_url":"https://api.github.com/users/aseth1/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":5,"created_at":"2016-05-12T03:44:51Z","updated_at":"2016-05-16T18:02:56Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/opensim-org/opensim-core/pulls/967","html_url":"https://github.com/opensim-org/opensim-core/pull/967","diff_url":"https://github.com/opensim-org/opensim-core/pull/967.diff","patch_url":"https://github.com/opensim-org/opensim-core/pull/967.patch"},"body":"Changes mostly due to update to new properties and conforming to `Component` interface:\r\n - converted old properties to new \r\n - removed custom copy constructor and assignment operator, which are no longer necessary \r\n - use `Connector<PhysicalFrame>` to replace dependency on Body (used to be naked pointer)\r\n - implement `extendFinalizeFromProperties()` for converting properties to enum or other values (e.g. `wrapAxis`, `wrapSign`, etc...)\r\n - update count of components in `testIterators`\r\n - some cleanup of unnecessary includes\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/opensim-org/opensim-core/issues/comments/219498306","html_url":"https://github.com/opensim-org/opensim-core/pull/967#issuecomment-219498306","issue_url":"https://api.github.com/repos/opensim-org/opensim-core/issues/967","id":219498306,"user":{"login":"aseth1","id":6494122,"avatar_url":"https://avatars.githubusercontent.com/u/6494122?v=3","gravatar_id":"","url":"https://api.github.com/users/aseth1","html_url":"https://github.com/aseth1","followers_url":"https://api.github.com/users/aseth1/followers","following_url":"https://api.github.com/users/aseth1/following{/other_user}","gists_url":"https://api.github.com/users/aseth1/gists{/gist_id}","starred_url":"https://api.github.com/users/aseth1/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aseth1/subscriptions","organizations_url":"https://api.github.com/users/aseth1/orgs","repos_url":"https://api.github.com/users/aseth1/repos","events_url":"https://api.github.com/users/aseth1/events{/privacy}","received_events_url":"https://api.github.com/users/aseth1/received_events","type":"User","site_admin":false},"created_at":"2016-05-16T18:02:56Z","updated_at":"2016-05-16T18:02:56Z","body":"> Maybe there should be some sort of ParentConnector that is not serialized, or something like that.\r\n\r\n@chrisdembia thanks for pointing this out. I agree that the `Connector` in this case would be misleading since users could not effectively change the `PhysicalFrame` it is bound to. I had thought that this restriction was unnecessary and we could eliminate the `WrapObjectSet` on `PhysicalFrame`, but that would require changes to the wrapping infrastructure- so I reverted it back to a `ReferencePtr` that the owner can set (which is how it was anyways).\r\n\r\nI don't think there is a need for a `ParentConnector` type. It seems reasonable for the parent component to run through its list components and satisfy unspecified connections. For example, Geometry added to a Frame (which owns and is the the parent of Geometry now) could set unsatisfied connections of its geometry to itself- which would be the correct default behavior. Alternatively, `Geometry` could have no `Connector` (like WrapObject) and must be added to a Frame to be displayed."}}