| CPC G06F 3/017 (2013.01) [G06F 1/1686 (2013.01); G06F 3/013 (2013.01); G06F 3/04815 (2013.01); G02B 27/0093 (2013.01); G02B 2027/0138 (2013.01)] |

| AS A RESULT OF REEXAMINATION, IT HAS BEEN DETERMINED THAT: |
| Claims 5-7 and 11 are cancelled. |
| Claims 1, 8-10 and 17 are determined to be patentable as amended. |
| Claims 2-4 and 12-16, dependent on an amended claim, are determined to be patentable. |
| New claims 18-26 are added and determined to be patentable. |
|
1. An augmented reality (AR) system, comprising:
a user input device configured to receive user input in an environment of a user of the AR system;
a display configured to present virtual content to the user of the AR system;
non-transitory computer storage configured to store:
a list of two or more connectable virtual objects including spatial information for each of the connectable [ virtual ] objects, wherein each connectable virtual object has at least one node, wherein a node defines a point in space with respect to the corresponding connectable virtual object at which the connectable virtual object can be connected to another connectable virtual object, and
a list of one or more nodes for each of the connectable virtual objects; and
a hardware processor in communication with the non-transitory computer storage, the hardware processor programmed to:
receive user input from the user input device indicative of a manipulation of at least one of the connectable virtual objects;
[ generate a list of active objects based on the user input, and generate a list of active nodes comprising available nodes from the nodes of the active objects;]
identify a first of the at least one of the connectable virtual objects as
[ generate a list of target nodes comprising available nodes from the nodes of connectable virtual objects excluding the active objects;
generate a list of node pairs comprising valid pairs of nodes between the list of active nodes and the list of target nodes;
calculate a connection score for each of the node pairs using a connection score heuristic;
select the node pair having a highest or lowest connection score as an active node pair;]
identify at least one of the connectable virtual objects as a target object [ , the target object sharing a node in the active node pair based on the list of node pairs;]
determine that a node of the active object and a node of the target object are compatible;
generate a preview of the active object connected to the target object [ ;
determine whether the preview overlaps one or more other connectable objects or one or more non-connectable objects, and
generate a visual indication of whether the preview overlaps the one or more other connectable objects or the one or more non-connectable objects.]
|
|
8. The system of claim
|
|
9. The system of claim
|
|
10. The system of claim
|
|
17. A method comprising:
under control of a preview system for connectable virtual objects comprising computing hardware:
receiving user input from a user input device indicative of a manipulation of at least one of a plurality of connectable virtual objects from a list of connectable virtual objects, the list of connectable virtual objects including spatial information for each of the connectable virtual objects and a list of one or more nodes for each of the connectable virtual objects, wherein each connectable virtual object has at least one node, and wherein a node defines a point in space with respect to the corresponding connectable virtual object at which the connectable virtual object can be connected to another connectable virtual object;
identifying a first of the at least one of the connectable virtual objects as an active object based on the user input;
identifying at least one of the connectable virtual objects as a target object;
determining that a node of the active object and a node of the target object are compatible;
generate [ generating ] a preview of the active object connected to the target object [ , including simulating physical properties of each of the active object and the target object as subject to physical laws within the preview;
determining whether the preview overlaps another connectable object or a non-connectable object; and
generating a visual indication of whether the preview overlaps the other connectable object or the non-connectable object,
wherein the identifying the active object and the identifying the target object include evaluating a connection score heuristic of the node of the active object and the target object from the at least one connectable virtual objects;
wherein, after evaluating the connections score heuristic, the determining that the node of the active object and the node of the target object are compatible by evaluating a compatibility heuristic; and
wherein the method further comprises determining a user setting associated with the preview, including:
upon the determining that the user setting is a first user setting, generating the preview only when the node of the active object and the node of the target object satisfy the compatibility heuristic, and
upon the determining that the user setting is a second user setting, generating the preview regardless of whether the node of the active object and the node of the target object satisfy the compatibility heuristic] .
|
|
[ 18. The system of claim 1, wherein the hardware processor is further programmed to generate a list of the one or more of the other connectable object or the one or more non-connectable objects that overlap the preview, and wherein the selected of the one or more other connectable objects or the selected of the one or more non-connectable objects are excluded from the list of the one or more of the other connectable object or the one or more non-connectable objects that otherwise overlap the preview.]
|
|
[ 19. The method of claim 17, wherein the node of the active object is associated with a first diameter and the node of the target object is associated with a second diameter, and wherein the determining that the node of the active object is compatible with the node of the target object includes determining that the first diameter matches the second diameter.]
|
|
[ 20. The method of claim 17, wherein the node of the active object is associated with a first international standard and the node of the target object is associated with a second international standard, and wherein the determining that the node of the active object is compatible with the node of the target object includes determining that the first international standard matches the second international standard.]
|
|
[ 21. The method of claim 17, wherein the node of the active object is associated with a first gauge and the node of the target object is associated with a second gauge, and wherein the determining that the node of the active object is compatible with the node of the target object includes determining that the first gauge matches the second gauge.]
|
|
[ 22. The method of claim 17, wherein the node of the active object is associated with a first length and the node of the target object is associated with a second length, and wherein the determining that the node of the active object is compatible with the node of the target object includes determining that the first length matches the second length.]
|
|
[ 23. The method of claim 17, further comprising:
determining when the node of the active object and the node of the target object are not compatible; and
upon determining that the node of the active object and the node of the target object are not compatible, generating a display of text indicating a reason that the node of the active object is not compatible with the node of the target object.]
|
|
[ 24. The method of claim 17, wherein the physical laws of the active object and the target object include at least one of a velocity, acceleration, and torque.]
|
|
[ 25. The method of claim 17, wherein the receiving the user input from the user input device includes receiving first user input from a first user input device associated with a first user indicative of the manipulation of the active object, and wherein the method further comprises receiving second user input from a second user input device associated with a second user indicative of manipulation of the target object.]
|
|
[ 26. The method of claim 17, wherein, prior to the generating the preview of the active object connected to the target object, the method further comprises: presenting a selection dialog box and only generating the preview of the active object connected to the target object upon receipt of further user input from the user input device confirming the generating the preview.]
|