Fig 11.1: Commands Under MANIPULATE.
The main purpose of MANIPULATE commands is to allow manipulation of structures, structure systems, and structure plans so as to produce new structures, structure systems or structure plans.
We wish to emphasize that although these commands are independent, they operate on the result created by other MANIPULATE commands that have operated on the structures previously. For example, you may select one particular structure, Separate it into two parts, Move one of them, Reflect the structures about a selected plane, and then Measure. It is up to the imagination of the user and the requirements of the application at hand as to how the commands could and should be mixed and ordered. In its present form, MANIPULATE does not handle structure systems with dynamic structures. Although some of the MANIPULATE operations do apply and are useful in the case of dynamic objects, some do not make sense. Therefore, MANIPULATE commands at present recognize no parameter in the parameter vector.
MAGNIFY: This is a button which allows changing the magnification of the objects in the rendition. When this option is selected, a scale is set up to specify the magnification factor. A value of 1 on this scale corresponds to display of the structure system in life size. Some parts of the structure system may fall outside the frame of the rendition for certain magnification factors. These may be brought within the frame using the SCROLL option. All objects in the structure system are displayed always at the same magnification.
The default value is set up so as to give an image of reasonable size that captures all aspects of the structure system. If the objects are very large, it may not be possible to capture within the screen their full rendition with sufficient detail. For fast interactive display, a low magnification value should be selected. An optimal value that gives sufficient speed as well as size and details of rendition depends on the power of the machine on which 3DVIEWNIX resides.
SCROLL: This is a button which allows scrolling the rendition within the image window using mouse movement. Its state diagram is shown in Figure 11.2. This option should be terminated by clicking the right button before other options can be selected.
Fig 11.2: State diagram for the panel option SCROLL in MANIPULATE. An arrow
leaving a mouse button area indicates that that button has been clicked.
BOX: This is a switch with two states, ON and OFF. When the state is ON, a wire-frame box indicating the domain of the structures and enclosing the structures is displayed in the rendition. It serves to show the orientation of the coordinate system associated with the structures relative to the view space coordinate system.
REMOVE: This is a button which allows removing objects that are created during the current session with MANIPULATE. For example, Reflect creates objects that are reflections of certain parts of the input structures. These can be deleted from the display by selecting the appropriate object number via the option (switch) OBJECT and then selecting REMOVE. This option does not delete original input objects.
Several MANIPULATE commands generate new objects. If the input itself contains many objects, it may become confusing as to what the various object numbers represent. An easy way of keeping track of objects is to turn on all of them and use the option SELECT OBJECT (middle mouse button in state 1 of all MANIPULATE commands) when the cursor is pointing at the object in the rendition. The switch OBJECT now changes to the number of the object pointed to. You may delete that object using REMOVE if you do not want to retain it. If you do not assign different colors to the different objects, you may not be able to distinguish between them in the display. Removal is always upon confirmation as shown in the state diagram of Figure 11.3 associated with this option.
Fig 11.3: State diagram for panel option REMOVE of MANIPULATE. An arrow
leaving a mouse button area indicates that that button has been clicked.
For a description of the operation of Input, see Section 7.2.
If a MANIPULATE command has previously been selected, the display situation arrived at in that command is left intact for continuation in SelectSlice-Interactive. Otherwise, a proper rendition with appropriate rendering parameters should be first created by selecting the relevant panel options of SelectSlice-Interactive.
At present, the only command available under SelectSlice is Interactive. The state diagram for this command is shown in Figure 11.4. As soon as SelectSlice-Interactive is selected, a rendition of the input structures is created on the left and a display of the icon is created on the right. In both displays a default plane is also shown. The default plane location is at the center of the box that encloses all structures and the default orientation is parallel to the xy-plane of the view space. The plane orientation and location can be changed interactively using the mouse and its options as illustrated in Figure 11.4.
Fig 11.4: State diagram for SelectSlice-Interactive. An arrow leaving a
button area indicates that that button has been clicked.
The panel options available under this command are shown in Figure 11.5.
Fig 11.5: Panel options for SelectSlice-Interactive.
RESET: This is a button which when selected sets plane to its default location and orientation. It does not change the orientation of the objects.
The remaining options work as described in Sections 7.2 and 11.2.
OUTPUT PAR: This option is a button whose purpose is to specify the output scene parameters if the user intends to create a scene by reslicing the objects. The mouse button states associated with this option are shown in Figure 11.6. The parameters include the first and last location of plane to indicate the extent of the domain of the output scene and the size of the cells in the output scene. MANIPULATE in its present form does not handle time varying objects, and hence, the scenes from which structures are derived are assumed to be three-dimensional. The parameters related to output scene resolution to be specified are, therefore, pixel size and slice spacing.
Fig 11.6: State diagram for OUTPUT PAR option in SelectSlice-Interactive.
An arrow leaving a button area indicates that that button has been clicked.
SCENE: This is a switch which together with the OBJECT switch allows selecting a scene or a combination of scenes for the display of the computed slices. To select a scene, set OBJECT to the desired number and set SCENE to ON. At most two scenes can be set to ON simultaneously. This is mainly because any display of more than two scenes in an overlay fashion becomes very difficult to understand. The default setting for SCENE is the same as the STATUS setting of the object selected for reslicing and OFF for the rest.
If a MANIPULATE command has previously been selected, the display situation arrived at in that command is left intact for continuation in Measure. Otherwise, a proper rendition with appropriate rendering parameters should be first created by selecting relevant panel options in Measure. The only command available under Measure at present is PointToPoint.
The state diagram for Measure-PointToPoint is shown in Figure 11.7. By pointing to a location in the rendition, the user points to a location on a structure surface. When a translucent surface is in front of an opaque surface, the ambiguity as to which surface is pointed at is resolved via the switch MEAS. This assumes two states, called OP and TR indicating respectively the opaque and translucent surface. The measures computed and displayed in the dialog window are: total length of line segments connecting the successive points specified on the structures, the length of the most recent line segment, and the angle between the most recent two line segments. Note that the points selected need not all be on the same structure or in the same view. The measuring process can be suspended for selection of any panel options and subsequently resumed.
The panel options available under Measure-PointToPoint are shown in Figure 11.8.
RESET: This option is a button which when selected removes the overlay display that indicates the points selected while measuring and the lines that connect the points. It also resets all measures so that the measurement process can start afresh.
Fig 11.7: State diagram for Measure-PointToPoint. An arrow leaving a mouse
button area indicates that that button has been clicked.
Fig 11.8: Panel Option for Measure-PointToPoint.
MARKS: This is a switch with two states ON and OFF. In its ON state, it displays any previously laid marks and allows laying marks on the structure surfaces. In the OFF state, the display of the marks is removed, although the marks themselves are not removed. The marks can be used as artificial landmarks for guiding the manipulation and measurement process.
SET MARKS: This is a button that allows putting marks on the input structure surfaces. When the option is selected, it turns MARKS to the ON state and proceeds as indicated in the state diagram of Figure 11.9 with the marking process.
Fig 11.9: State diagram for the option SET MARKS of Measure-PointToPoint.
An arrow leaving a mouse button area indicates that that button has been
clicked.
The marks become a part of the structure on which they are set and they will appear in the correct location even when the structure is rotated, magnified, scrolled, cut, separated, reflected and moved via other commands and options. They can be removed via the ERASE MARKS option.
ERASE MARKS: This is a button which when selected turns MARKS to the ON state and proceeds as indicated in Figure 10.34 (under Volume-Measure) with the removal of previously set marks.
Fig 11.10: State diagram for Reflect-Interactive. An arrow leaving a mouse
button area indicates that that button has been clicked.
MEAS: This is a switch with two states, OP and TR. Its purpose is to allow the user to specify unequivocally the surface which is pointed at in the case when a translucent surface appears in front of an opaque surface in the rendition at the point indicated. When the state is OP, the surface is assumed to be that of the opaque structure and that of the translucent structures in the other case. When multiple translucent structures appear at a point, the point indicated is assumed to be on the structure that is closest to the viewer at that point.
Other options in Measure-PointToPoint are as described in Sections 7.2 and 11.2.
If a MANIPULATE command has previously been selected, the display situation arrived at in that command is left intact for continuation in Reflect-Interactive. Otherwise, a proper rendition with appropriate rendering parameters should be first created by selecting the appropriate panel options of Reflect-Interactive.
At the present, the only command available under Reflect is Interactive. The state diagram associated with this command is shown in Figure 11.10. The panel options for this command are shown in Figure 11.11.
RESET: This is a button which when selected sets the plane location and orientation to the default setting (which is the center of the box enclosing all structures and parallel to the xy-plane of view space) and computes and displays a reflected object for every object whose reflection status is on.
The remaining options work as described in Sections 7.2 and 11.2.
Fig 11.11: Panel options for Reflect-Interactive, and Separate.
All MANIPULATE commands and all panel options available are applicable to the newly created objects. That is, these objects' display characteristics can be changed independently, and they can be used for selecting slice, measured, further cut, separated, moved, and animated.
If a MANIPULATE command has previously been selected, the display situation arrived at in that command is left intact for continuation in Cut-Plane-Interactive. Otherwise, a proper rendition with appropriate rendering parameters should be first created by selecting the appropriate panel options of Cut-Plane-Interactive.
The state diagram for this command is identical to that of Reflect-Interactive shown in Figure 11.10. The only difference in this command is that the selected side (in state 6) is retained after the cut operation rather than reflected as in Reflect-Interactive.
The panel options available under this command are shown in Figure 11.12.
Fig 11.12: Panel options for Cut-Plane-Interactive and Cut-Curved.
RESET: This option is a button, which upon selection removes the just created new object and restores in the display the original object from which it was cut. Thus, after resetting, the number of objects becomes one less.
The remaining options work as described in Sections 7.2 and 11.2.
The new object assembly created by this command and possibly modified by other MANIPULATE commands can be saved in a PLN and a BS0 file. The reason for creating a PLN file is that the positional relationship of objects may be changed by the Move command. To create an output, turn on the desired objects, enter a desired output file name in the tablet in the mouse window in the output section, and then select SAVE. The output operation will not take place if the objects selected are not all of the same resolution.
Fig 11.13: State diagram for Cut-Curved and Separate. An arrow leaving a
mouse button area indicates that that button has been clicked.
The behavior of this command as to the new objects created and their number is identical to that of Cut-Plane-Interactive. See Section 11.3.5.1 for details. All MANIPULATE commands and their options are applicable to the newly created objects. That is, these objects' display characteristics can be changed independently, and they can be used for selecting slice, measured, further cut, separated, moved, and animated.
If a MANIPULATE command has previously been selected, the display situation arrived at in that command is left intact for continuation in Cut-Curved. Otherwise, a proper rendition with appropriate rendering parameters should be first created by selecting the appropriate panel options of Cut-Curved.
The panel options available for this command are as for Cut-Plane-Interactive (Figure 11.12). RESET functions as for Cut-Plane-Interactive. The remaining options work as described in Sections 7.2 and 11.2.
The new object assembly created by this command and possibly modified by other MANIPULATE commands can be saved in a PLN and a BS0 file. The reason for creating a PLN file is that the positional relationship of objects may be changed by the Move command. To create an output, turn on the desired objects, enter a desired output file name in the tablet in the mouse window in the output section, and then select SAVE. The output operation will not take place if the objects selected are not all of the same resolution.
As in Cut, Separate requires that only one object be turned on since it can operate only on one object at a time. This object should not be a reflected object (that is, those having a negative number). The cutting is done by curved surfaces as in Cut-Curved. The cutting operation, therefore, proceeds exactly as in Cut-Curved. The main deviation is that both parts are shown at all times and the user is allowed to cut either of the two parts. At the beginning of this operation, the primary part (displayed on the left in the image window) is the whole of the selected object and the secondary part (displayed on the right of the image window) is empty. When a cut is made on one part, the cut segment is added to the other part. Thus, during the Separate operation, the sum of the primary and secondary parts always equals the whole object. The important thing to note is that the two parts can be rotated independently using the ROTATE OBJ panel option and the Separate operation can be continued after rotation. The selected object can thus be separated into two parts (new objects) in a sophisticated way.
The two new objects created get numbers n+1 (primary part) and n+2 (secondary part), where n is the total number of objects at the time the Separate operation began. The new objects become effective when Separate is quit, or when certain options within Separate are chosen, such as selecting a new object to operate on.
The state diagram associated with this command is identical to that of Cut-Curved (Figure 11.13), except that, in states 5 and 6, the complement of the retained part is added to the part other than what is being operated on.
If a MANIPULATE command has previously been selected prior to Separate, the display situation arrived at in that command is left intact for continuation in Separate. Otherwise, a proper rendition with appropriate rendering parameters should be first created by selecting appropriate panel options of Separate.
The panel options for Separate are identical to those for Reflect-Interactive. The function of RESET is to essentially remove the effect of the current operation of Separate if you hae not left Separate. That is, RESET deletes the current primary and secondary parts, sets the object selected for the Separate operation to be the primary part and makes the secondary part empty. You can leave Separate, to move one of the parts for instance, and then come back and continue the operation. In this case, RESET restores the parts as they were the first time you entered Separate.
If a MANIPULATE command has previously been selected prior to Move, the display situation arrived at in that command is left intact for continuation in Move. Otherwise, a proper rendition with appropriate rendering parameters should be first created by selecting appropriate panel options of Move.
Fig 11.14: State diagram for Move. An arrow leaving a mouse button area
indicates that that button has been clicked.
The panel options for Move are shown in Figure 11.15.
Fig 11.15: Panel options for Move.
Note that the ROTATE OBJ panel option rotates all objects starting from their current position.
RESET: This option is a button, which when selected, sets position of all objects to that which existed when they were loaded. In other words, it undoes the effect of the move operation.
MOBILE: This is a switch with two states, ON and OFF. In the OFF state, the objects selected cannot be moved. The state should be set to ON for moving the objects.
The remaining options in Move work as described in Sections 7.2 and 11.2.
This command does not create new objects. But it can change the positional relationship of the objects. It can therefore be used to create and output a structure plan. It simultaneously also outputs a structure system consisting of all input structures that are turned on. It is important, however, that the objects that are turned on be all of the same resolution. If this condition is not met, no output is made. To create and output a structure system and plan, manipulate the input objects via Cut, Separate, and Move, enter the desired output file name in the tablet, and select the SAVE option.
Fig 11.16: State diagram for CreateMovie-Tumble. An arrow leaving a mouse
button area indicates that that button has been clicked.
At present, the movie must be created in the foreground mode; therefore, the RUN-MODE switch in the mouse window is not displayed.
Obviously, any rotation sequence can be specified using the above mechanism of the key poses. As a simple example, consider how a complete 360 movie sequence may be specified for rotation about the x-axis starting from some initial orientation of the object assembly. We choose the starting orientation to be the first key pose. Then rotate the object assembly around the x-axis by 120 and select the resulting orientation to be the second key pose. Choose another key pose after rotation by another 120 about x-axis, and subsequently close the sequence.
The panel options available for this command are shown in Figure 11.17.
Fig 11.17: Panel options for CreateMovie-Tumble.
DEL POSE: This option, available as a button, allows deleting the most recently specified key pose. The option may be selected in states 5 or 6 of Figure 11.16.
PREVIEW: This option, implemented as a button, is for getting a preview of the movie that is to be created for the sequence of key poses that has been specified. The associated state diagram is shown in Figure 11.18. In states 2 and 3, "next frame" is determined by the state of the panel switches D.MODE and POSES.
Fig 11.18: State diagram for PREVIEW option of CreateMovie-Tumble. An arrow
leaving a button area indicates that that button has been clicked.
D. MODE: This is a switch with two states, ICON and FULL, FULL being the default state. When the state is ICON, only renditions of the ICON are shown in the PREVIEW option. When the state is FULL, only the FULL resolution renditions are shown in PREVIEW.
POSES: This is a switch with two states, KEY and ALL. KEY being the default state. When the state is KEY, only key poses selected are shown in PREVIEW. In state ALL, all poses, including the intermediate ones, are shown in PREVIEW. The four possible combination of the states of D.MODE and POSES can be used to create a desired mode for PREVIEW.
The states D.MODE and POSES apply only to PREVIEW. While actually creating the movie, always the views corresponding to ALL poses and FULL resolution are generated.
To create a movie, simply select the SAVE option for OUTPUT in the mouse window. The panel options for this command are shown in Figure 11.19. These options have already been described in Sections 7.2 and 11.2. If you do not select SAVE, subsequent sequences will be appended to the same movie until you exit the CreateMovie command, when the movie will be saved.
Fig 11.19: Panel options for CreateMovie-PreviousSeq.