View3D_TrackAll3, View2D_TrackAll3, View_TrackAll3

Synopsis

Produces a rendered view that must be connected to a UIShell, UIframe or UIpanel to make it visible. The view has a small amount of interactivity but will make a new object fit the scene although it is translated by the same amount as the previous object. The Top Object in the scene can be manipulated with the mouse (rotate, scale, xy translate or z translate) and the Top Object can be selected from one of three things, the object, the camera or the lights. The object can also be Reset, Normalized and Centred.

Input Ports

For the "View3D_TrackAll3"
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


For the "View2D_TrackAll3"
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


For the "View_TrackAll3"
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.

Description

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.

Input Ports

As above

Utility Macros

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.

Example

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.

Files

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.

Other Notes

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.

Authors

J Leng
Manchester Visualization Centre

Modifications

Paul G. Lever

Contact

International AVS Centre
Manchester Visualization Centre
Manchester Computing
University of Manchester
Oxford Road
Manchester
United Kingdom
M13 9PL

See Also

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".