Information processing apparatus, information processing method, and storage medium that determine whether a current value of a non-position attribute value on which an operation of changing is being performed is within a predefined range
An information processing method includes obtaining operation information from an operation input apparatus that sequentially inputs a continuously changing operation position, changing a non-position attribute value for an operation-target object in accordance with a change in the operation position, determining whether the operation information indicates an operation of changing the non-position attribute value being performed, while the operation of changing the non-position attribute value is performed, extracting the non-position attribute value for a second object, the non-position attribute value of the second object being of a same attribute as the non-position attribute value on which the operation of changing is being performed, and determining whether a current value of the non-position attribute value on which the operation of changing is being performed is within a predefined range. The current value is changed to the non-position attribute value for the second object when the current value is within the predefined range.
1. An information processing method comprising the steps of:
obtaining operation information from an operation input apparatus capable of sequentially inputting a continuously changing operation position;
changing a non-position attribute value for a first object that is an operation-target object in accordance with a change in the operation position corresponding to the operation information;
determining whether the operation information indicates that an operation of changing the non-position attribute value is being performed;
while the operation of changing the non-position attribute value is being performed, extracting the non-position attribute value for a second object different from the first object, the non-position attribute value of the second object being of a same attribute as the non-position attribute value on which the operation of changing is being performed;
determining whether a current value of the non-position attribute value on which the operation of changing is being performed is a value within a range predefined based on the non-position attribute value for the second object, wherein the current value is changed to the non-position attribute value for the second object in a case when it is determined that the current value is a value within the range predefined based on the non-position attribute value for the second object;
from a plurality of the second objects, extracting as a match object the second object having the non-position attribute value matching with the current value;
generating a display image in which the first object and the plurality of the second objects are placed, wherein, in the display image generated, the match object and a second object other than the match object are displayed in different representations from each other; and
based on the operation information, selecting the first object and the match object, in bulk, as a plurality of the first objects, and changing, in bulk, the non-position attribute values for the plurality of the first objects selected in bulk, in accordance with a change in the operation position corresponding to the operation information,
wherein, in a case when the first object and the match object are being selected in bulk as the plurality of the first objects, based on the operation information, some or all of the match objects in the plurality of the first objects selected in bulk are excluded from the first objects, and the non-position attribute value for each respective excluded match object is changed back to the non-position attribute value for the respective excluded match object at a time the first object and the match object were selected in bulk as the plurality of the first objects.
2. The information processing method according to claim 1 , further comprising the step of generating a display image in which the first object is placed,
wherein, in a case when the non-position attribute value for the first object is changed, a display image, in which the non-position attribute value thus changed is reflected in the first object, is generated.
3. The information processing method according to claim 1 , further comprising determining whether the current value is a value within a range predefined based on a predefined prescribed value, and
changing the current value to the prescribed value in a case when the current value is determined to be a value within the range predefined based on the prescribed value.
4. The information processing method according to claim 1 , wherein, in a case when the non-position attribute value on which the operation of changing is being performed is a rotation angle of the first object,
further determining whether the current value is a value within a range predefined based on a sum value found by adding a predefined angle to the non-position attribute value for the second object, and
changing the current value to the sum value in a case when the current value is determined to be a value within the range predefined based on the sum value.
5. The information processing method according to claim 4 , wherein, in a case when the non-position attribute value on which the operation of changing is being performed is a rotation angle of the first object,
the sum value found by adding an angle that is a whole-number multiple of 90° to the non-position attribute value for the second object is used in determining whether the current value is a value within the range predefined based on the sum value.
6. The information processing method according to claim 4 , wherein, in a case when the non-position attribute value on which the operation of changing is being performed is rotation angle of the first object,
the rotation angle of the first object at a time of start of the operation of changing is further extracted,
further determining whether the current value is a value within a range predefined based on a sum value found by adding a predefined angle to the rotation angle of the first object at the time of the start of the operation of changing, and
changing the current value to the sum value in a case when the current value is determined to be a value within the range predefined based on the sum value.
7. The information processing method according to claim 1 , wherein a notification is outputted indicating that the non-position attribute value for the first object and the non-position attribute value for the match object are changeable in bulk through a predefined user operation.
8. The information processing method according to claim 1 , further comprising the step of calculating a width or a height of a circumscribing rectangle circumscribing the first object whose rotation angle is set to an angle other than whole-number multiples of one hundred eighty degrees,
further changing a position attribute value for the first object in accordance with a change in the operation position corresponding to the operation information, and
while the operation of changing is being performed on the position attribute value, in a case when an angle other than whole-number multiples of one hundred eighty degrees is set to the rotation angle of the first object, determining whether to perform object snapping of the first object to a snapping point using the width or the height of the circumscribing rectangle.
9. The information processing method according to claim 8 , wherein, in determining whether to perform object snapping of the first object whose rotation angle is set to an angle other than whole-number multiples of one hundred eighty degrees, only the snapping point that is useful for object snapping using the circumscribing rectangle for the first object is targeted.
10. The information processing method according to claim 8 , further comprising the steps of:
obtaining a margin position based on positions and sizes of the first object and the second object; and
setting the obtained margin position as the snapping point,
wherein, in the obtaining of the margin position, the margin position is obtained excluding, from the first object and the second object, the first object or the second object whose rotation angle is set to an angle other than whole-number multiples of ninety degrees.
11. The information processing method according to claim 1 , wherein a position attribute value for the first object is further changed in accordance with a change in the operation position corresponding to the operation information, and
while the operation of changing the position attribute value is being performed, determining whether a distance between a first straight line calculated based on the position attribute value and the non-position attribute value for the first object and a second straight line calculated based on the position attribute value and the non-position attribute value for the second object is within a predefined range, thereby determining whether to perform object snapping of the first object to the second straight line.
12. An information processing apparatus comprising:
one or more hardware processors; and
one or more memories storing one or more programs configured to be executed by the one or more hardware processors, the one or more programs including instructions for:
obtaining operation information from an operation input apparatus capable of sequentially inputting a continuously changing operation position;
changing a non-position attribute value for a first object that is an operation-target object in accordance with a change in the operation position corresponding to the operation information;
determining whether the operation information indicates that an operation of changing the non-position attribute value is being performed;
while the operation of changing the non-position attribute value is being performed, extracting the non-position attribute value for a second object different from the first object, the non-position attribute value of the second object being of a same attribute as the non-position attribute value on which the operation of changing is being performed;
determining whether a current value of the non-position attribute value on which the operation of changing is being performed is a value within a range predefined based on the non-position attribute value for the second object, wherein the current value is changed to the non-position attribute value for the second object in a case when it is determined that the current value is a value within the range predefined based on the non-position attribute value for the second object;
from a plurality of the second objects, extracting as a match object the second
object having the non-position attribute value matching with the current value;
generating a display image in which the first object and the plurality of the second
objects are placed, wherein, in the display image generated, the match object and a second object other than the match object are displayed in different representations from each other; and
based on the operation information, selecting the first object and the match object, in bulk, as a plurality of the first objects, and changing, in bulk, the non-position attribute values for the plurality of the first objects selected in bulk, in accordance with a change in the operation position corresponding to the operation information,
wherein, in a case when the first object and the match object are being selected in bulk as the plurality of the first objects, based on the operation information, some or all of the match objects in the plurality of the first objects selected in bulk are excluded from the first objects, and the non-position attribute value for each respective excluded match object is changed back to the non-position attribute value for the respective excluded match object at a time the first object and the match object were selected in bulk as the plurality of the first objects.
13. A non-transitory computer readable storage medium storing a program for causing a computer to perform a control method of an information processing apparatus, the control method comprising the steps of:
obtaining operation information from an operation input apparatus capable of sequentially inputting a continuously changing operation position;
changing a non-position attribute value for a first object which is an operation-target object in accordance with a change in the operation position corresponding to the operation information;
determining whether the operation information indicates that an operation of changing the non-position attribute value is being performed;
while the operation of changing the non-position attribute value is being performed, extracting the non-position attribute value for a second object different from the first object, the non-position attribute value of the second object being of a same attribute as the non-position attribute value on which the operation of changing is being performed;
determining whether a current value of the non-position attribute value on which the operation of changing is being performed is a value within a range predefined based on the non-position attribute value for the second object, wherein the current value is changed to the non-position attribute value for the second object in a case when it is determined that the current value is a value within the range predefined based on the non-position attribute value for the second object;
from a plurality of the second objects, extracting as a match object the second object having the non-position attribute value matching with the current value;
generating a display image in which the first object and the plurality of the second objects are placed, wherein, in the display image generated, the match object and a second object other than the match object are displayed in different representations from each other; and
based on the operation information, selecting the first object and the match object, in bulk, as a plurality of the first objects, and changing, in bulk, the non-position attribute values for the plurality of the first objects selected in bulk, in accordance with a change in the operation position corresponding to the operation information,
wherein, in a case when the first object and the match object are being selected in bulk as the plurality of the first objects, based on the operation information, some or all of the match objects in the plurality of the first objects selected in bulk are excluded from the first objects, and the non-position attribute value for each respective excluded match object is changed back to the non-position attribute value for the respective excluded match object at a time the first object and the match object were selected in bulk as the plurality of the first objects.