|
3D-Matrix Object Model Design |
|||
|
Planned for release: August 2003 |
|||
|
|
Folder A folder is just a way of organizing other types of data. Folders can contain other folders and Polygon Groups.
|
Object Browser The Browser Window will always have the top line menu containing hyperlinks 'Object Browser', 'Commands' and 'Tutorial'. Clicking 'Object Browser' at any time will show the tree diagram below the top line menu. Example below shows a Direct Representation being activated by single-left-clicking either the Direct Representation or the Polygon Group (labeled 'body' in this example). The direct representation may or may not have been visible and its visibility does not have any meaning in the Orthogonal View windows when it is selected. Note that the 'wings' Polygon Group is hidden (toggled by double-left-clicking). This has no meaning on its own because it is really the Representations that are hidden or not, however hiding a polygon group is a short-cut for hiding all child representations and only temporarily over-riding their actual visibility status. Attempting to unhide a Representation when the parent Polygon Group is hidden results in the Polygon Group being unhidden and all other children Representations becoming hidden.
|
Selecting a Polygon Group or Collection of Polygon Groups Single left click a Polygon Group in the object browser or select 'Make Active' from the right-click menu. When selecting a polygon group, both the Polygon Group and the polygon's 'direct representation' Representation is also highlighted in purple, and the raw untransformed polygon meshes for these polygons become visible in the Orthogonal view windows – these become the only polygons and vertexes that can be selected. All other polygon meshes in the Orthogonal view windows appear highly transparent so that it is clear which polygons can be selected. It is possible to select multiple Polygon Groups by either holding SHIFT while clicking more than one Polygon Group or by clicking a folder which selects all of the underlying polygon groups. You can then select any individual polygon, vertex or group of vertexes of group of polygons from the Orthogonal View window and perform any manipulation (move them directly, color any selected polygons or apply transformations on selected vertexes using the Transformation Window). All mirrored representations are updated in real-time as the direct representations are manipulated. Note that the purple highlight in the Object Browser corresponds precisely to which polygons are highlighted (and able to be selected) in the Orthogonal View windows. This has nothing to do with what is shown in the Perspective View window (which is designed to show the actual model of interest). The visibility of Polygon Group Representations in the Perspective View window is controlled by double-clicking any Representation (or double-clicking a Folder or Polygon group to toggle visibility of all underlying representations) and hidden Representations appear in grayed-out italics in the Object Browser. However Representations that are hidden in this way are also completely hidden in the Perspective Views (as opposed to being shown highly transparent). This allows you to clear any of the semi-transparent polygons that you don't want to see, in particular, you may not want to see many direct representations of objects which are modeled about the origin for convenience and in a position that does not relate to the model as a whole. This is a very good editing model. It allows you to have a choice of creating components for the model with the raw polygon data in their actual position for the end result, allowing you to select different vertexes from different components at the same time and performing transformations involving all selected vertexes (such as transposing, rotating or squeezing together) or you can alternatively model each component about the origin but hide the direct representation and rely on other Representations (mirroring) to position the components appropriately within the overall model. While the direct representation remains hidden (grayed out italics), you can still single-click the direct representation which makes it appear (usually near the origin) in the Orthogonal View windows despite being a hidden representation (always invisible in the Perspective View and usually hidden in the Orthogonal Views except when being edited). Also by single-clicking the root folder, all Polygon Objects that are not hidden become active (and hence visible and editable in the Orthogonal View window).
|
|
|
Representation A representation is nothing other than a set of transformations (actually, just a 3x3 matrix) which are applied to a group of polygons. Note: If you don't want to have the raw polygons transformed (mirrored) and want their co-ordinates to be the actual co-ordinates used in the overall model then you can just choose keep the default 'direct representation' visible.
|
||
|
|
Polygon Group Quite simply, a group of polygons. This is the raw polygon data. Note: Each Polygon Group always has a 'direct representation' and other Representations can be created, which are equivalent to the concept of creating a mirrored polygon group. |
||
|
Menus and commands Coding Note: Alter the single-clicking over hyperlinks so that the mouse-button release is used as the actual click; in this way it is easy to calculate whether a double-click or single-click was applied. It is not important to make sure that the first mouse-down was over the same hyper-link. Single-left-click a folder: 1. If SHIFT is not held then all Polygon Groups are deactivated. 2. All Polygon Groups in the folder and recursively inner folders are made active. When-ever a Polygon Group is made active, its Direct Representation is also made active. Double-left-click a folder: Toggles visibility of the folder. When the folder is invisible, all constituent Folders and Polygon Groups are made hidden. Note that this does not effect the visibility data of Representation or the Polygon Groups although it temporarily over-rides it. Invisible folders are shown in grayed out italics as with invisible Polygon Groups and Representations. Single-left-click a Polygon Group 1. The Polygon Group and its Direct Representation are made active. If SHIFT was not held then all other Polygon Groups are made inactive. See notes for what it means for a Polygon Group to be active. Double-left-click a Polygon Group Toggles visibility of the Polygon Group. This temporarily over-rides the visibility settings of all underlying Representations. In other words, the visibility method of a Representation first checks if the parent is invisible, and if so it is invisible, otherwise it checks its own private visibility setting. See notes for what it means for a representation to be invisible or visible.
|
|
Result of a Polygon Group being active: 1. The Polygon Group and its Direct Representation is highlighted in purple in the Object Browser, whether or not they are hidden. 2. Selecting a Polygon Group has an equivalent effect to selecting its direct representation and vise versa. 3. In the Orthogonal View windows the polygons in the Polygon Group are rendered in their raw position with clear white outlines, whether or not they are hidden. All inactive and visible representations (the representations that do not appear in grayed out italics but are not highlighted in purple) are also rendered in white but only very faintly. Only the clear white outlined polygons are selectable (vertexes or whole polygons) by dragging the mouse selector in this window. 3. In the Perspective View window nothing changes. As always polygons are shown in this window if and only if their Representation is visible in the Object Browser (which has nothing to do with whether they are selected or not). 4. Any number of Polygon Groups (Direct Representations) can be activated at the same time.
Result of a Representation (other than the Direct Representation) being activated: 1. The Representation is highlighted in purple in the Object Browser, whether hidden or not. All other Representations become inactive, include any Direct Representations (Polygon Groups). 2. In the Orthogonal View window the polygon vertexes for the parent Polygon Group are transposed by the Representation's 3x3 Matrix and rendered as a white mesh with blue boxed vertexes. All other visible representations (the representations that do not appear in grayed out italics) are rendered in white by only very faintly. Moving the vertex or polygon selector in the window will have no effect except an alert message saying “Representations can only be selected and manipulated in full, to edit individual vertexes or polygons please activate (by left-clicking) the Direct Representation.” 3. You can now move all blue polygon vertexes (from the single selected Representation) around at the same time by dragging them in the Orthogonal View window. You can also apply some of the transformations – x, y and z rotate, x, y and z flip and obviously translating. Basically anything transformation that corresponds to a single 3x3 matrix should be possible to apply on the Representations because that is all a Representation is – a single 3x3 matrix manipulation of a group of polygons. 4. In the Perspective View window nothing changes. Polygons are rendered in this window if and only if their Representation is visible. 5. Only one Representation (other than the Direct Representation) can be activated at the same time.
Result of a Representation (other than the Direct Representation) being invisible or visible: When a representation is invisible (using the representation's public 'visibility()' method, which assumes invisibility if the parent Polygon Group is invisible by the Polygon Group's visibility() method, otherwise uses its private visibility setting) then it appears in grayed out italics in the Object Browser and it is not rendered at all in either the Perspective or Orthogonal views, unless it is activated in which case it is rendered in the Orthogonal view: See table below for more details.
|
|
|
Folder right-click menu 1. New Folder, produces a dialog box with text, input box, OK and CANCEL. 2. New Polygon Group, produces a dialog box with text, input box, OK and CANCEL. 3. Make Visible 4. Make Hidden 5. Make Active 6. Make Inactive 7. Delete Folder and Contents (if root folder is selected then just delete the folder contents and retain root folder) |
Polygon Group right-click menu 1. New Representation, produces a dialog box with text, input box, OK and CANCEL. 2. Make Visible 3. Make Hidden 4. Make Active 5. Make Inactive 6. Clear All Polygons 6. Delete Polygon Group
|
Representation right-click menu 1. Edit 3x3 Representation Matrix, produces 3x3 matrix editor which includes the 9 matrix fields as well as 9 pull-down boxes with different transformation types and 9 input boxes for the transformation parameters and a button to calculate the 3x3 matrix values from these transformations instead of manual entry. 2. Make Visible 3. Make Hidden 4. Make Active 5. Make Inactive 6. Delete Representation |
|
|
Direct or Mirrored Representation |
Representation's Visibility |
Representation Active or Inactive |
As Appears in Object Browser |
Rendered in Orthogonal View windows |
Rendered in Perspective view windows |
|---|---|---|---|---|---|
|
Direct |
Visible |
Inactive |
Normal font |
Highly transparent mesh, vertexes and polygons not selectable. |
Rendered normally |
|
Direct |
Visible |
Active |
Bold font and purple highlight |
Clear white mesh, individual vertexes and individual polygons both selectable. Polygons coloured when selected and vertexes highlighted in green when selected. |
Rendered normally |
|
Direct |
Hidden |
Inactive |
Grayed-out and italics |
Not rendered nor selectable. |
Not rendered |
|
Direct |
Hidden |
Active |
Bold font and purple highlight |
Clear white mesh, individual vertexes and individual polygons both selectable. Polygons coloured when selected and vertexes highlighted in green when selected. |
Not rendered |
|
Mirrored |
Visible |
Inactive |
Normal font |
Highly transparent mesh, vertexes and polygons not selectable. |
Rendered normally |
|
Mirrored |
Visible |
Active |
Bold font and purple highlight |
Clear white mesh with all vertexes automatically selected with blue highlight. Not possible to select a subset of these vertexes. No polygons are selectable. |
Rendered normally |
|
Mirrored |
Hidden |
Inactive |
Grayed-out and italics |
Not rendered nor selectable. |
Not rendered |
|
Mirrored |
Hidden |
Active |
Bold font and purple highlight |
Clear white mesh with all vertexes automatically selected with blue highlight. Not possible to select a subset of these vertexes. No polygons are selectable. |
Not rendered |