A system for recovering information, which is lost in a first transformation from a three-dimensional (3D) environment to a two-dimensional (2D) environment is disclosed. The information needs to be recovered because a second transformation is to be carried out from the 2D environment back to the 3D environment. The system recovers the information using anchors, which hold anchor nodes, while the second transformation is being carried out. The system includes a 2D view hierarchy having views and a 3D node hierarchy having 3D entities (i.e. 3D nodes and the anchor nodes). The 2D view hierarchy is an inverted tree structure with a root view positioned at top of it. The 2D view hierarchy and the 3D node hierarchy are associated with each other on a 3D panel. The 3D panel includes the 3D entities and the views. In the 3D panel, each of the views owns the anchor, which in turn owns the 3D node. The anchor is communicatively coupled to an anchor manager. The anchor manager holds a reference to the root view of the 2D view hierarchy of the 3D panel. The anchor manager determines a 2D transformation in position, scale and rotation from each of the views to the root view. A 2D point in each of the views in the 2D view hierarchy is matched to a 3D point at a same location on each of the 3D nodes. The 2D transformation is then used to carry out a required 3D transformation on the 3D point. In this mapping from the 2D view hierarchy to the 3D node hierarchy, the anchor manager controls a relationship between each of the views and the anchor. The anchor notifies the anchor manager when the relationship between each of the views and the anchor is established or broken. Consequently, the anchor manager adds or removes the anchor node as a sub-node in the 3D node hierarchy. This way, by means of the anchor manager, the 3D entities have positions relative to their 3D parentage in a 3D coordinate space, which are consistent with positions relative to their full logical parentage, which is inclusive of the views. Due to this, the system does not lose the information in positioning the 3D entities.

Creative Commons License

Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 License.