Name | Type | Description | |
Top | child_obj | A renderable 3D object | |
parent | UIconnection | Connects the rendered view to a UI object so it can be displayed. | |
mode | int | Connects to the UI, values vary from 0-3 0 is rotation 1 is scale 2 is xytranslate 3 is ztranslate |
|
trigger | prim | When this value changes, the object in the viewer is Reset, Normalized and Centred. Connect this to the UI. | |
trans_mode | prim | Connects to UI, values vary from 0-2
0 is object 1 is camera 2 is lights |
|
Name | Type | Description | |
Top | child_obj | A renderable 2D object | |
parent | UIconnection | Connects the rendered view to a UI object so it can be displayed. | |
mode | int | Connects to the UI, values vary from 0-3 0 is rotation 1 is scale 2 is xytranslate 3 is ztranslate |
|
trigger | prim | When this value changes, the object in the viewer is Reset, Normalized and Centred. Connect this to the UI. | |
trans_mode | prim | Connects to UI, values vary from 0-2
0 is object 1 is camera 2 is lights |
|
Name | Type | Description | |
Top | child_obj | A renderable 3D object | |
Top2D | child_obj | A renderable 2D object | |
parent | UIconnection | Connects the rendered view to a UI object so it can be displayed. | |
mode | int | Connects to the UI, values vary from 0-3 0 is rotation 1 is scale 2 is xytranslate 3 is ztranslate |
|
trigger | prim | When this value changes, the object in the viewer is Reset, Normalized and Centred. Connect this to the UI. | |
Reducing the object count of an application is the thing most likely to speed up the loading and running of an application. This is one of a library of utility macros designed to reduce the object count.
These are all AVS/Express macros which as such require no compilation. Most applications are produced with AVS/Express Developers Edition and these macros also require AVS/Express Developers Edition. They contain no UI so that the developer has as much freedom as possible.
Any Viewer has a high object count because it has a high level of functionality. If the functionality is reduced to the minimum requirement then the object count is kept as low as possible. This is a viewer with just a small amount of interactivity. The Top object in the scene can be manipulated with the mouse (rotate, scale, xy translate or z translate). The Type of manipulation can be selected by attaching a cmdlist to the mode port, mode is 0 for rotate, mode is 1 for scale, mode is 2 for xy translate and mode is 3 for z translate. The type of transformation matrix used for this manipulation can be altered by altering values in the GDtrack_edit module.
The object to be manipulated can be selected by altering the trans_mode value. The Top object, camera or light are the objects that cam be selected. To select individual objects rather than Top you would have to add a GDobj_sel to this view.
The object can be Reset, Normalized and Centred by adding a UItoggle or UIbutton to the trigger port.
The settings of the viewer may be customised by hand before it is used.
The size of the scene is altered by altering the values width and height in the subobject UIrenderView, this can be done with absolute values or relative values written in v.
As above
This macro can be connected into the AVS/Express standard macros DataObject, DataObjectNoTexture and DataObjectLite as well as the other altered DataObject given in this utility library.
An example application EgViewLite is provided, which shows one viewer with this amount of interactivity.
This example also demonstrates the use of DataObjects altered to have a set Datamap and how ViewersLite can be used.
iac_proj/viewlite/vl_macs.v contains all of the viewers (View3D_TrackAll3, View2D_TrackAll3, View_TrackAll3) as well as all the DataObject macros (eg DO_GreyScale), DO_Dmap_Switch, DO_NT_Dmap_Switch, DO_LITE_Dmap_Switch,View3DMinimal, View3D_TrackObj, View2DMinimal, View2D_TrackObj, ViewMinimal, View_TrackObj and an example EgViewLite.
The macros can be acessed through the IAC_PROJ library in the Templates library or through one of four libraries DataObjects_apps, Views3DLite, Views2DLite and UViewsLite all of which are in the Misc sub-library IAC library area.
The example EgViewLite can also be acessed through the IAC library but is located in the Examples sub-library.
J Leng Manchester Visualization Centre
Paul G. Lever
International AVS Centre Manchester Visualization Centre Manchester Computing University of Manchester Oxford Road Manchester United Kingdom M13 9PL
DataObject, the DataObjects "DO_", "DO_NT_" and "DO_LITE_", the DataObjects "_Dmap_Switch", and the viewers lite 3D, 2D and Universal "Minimal", "_TrackObj" and "_TrackAll3".