Profile
Synopsis
Interactive profile editor. A dedicated area in the User Interface is used as
a conceptual touchpad to draw an outline in the Scene Window.
Parameters
ProfileParams
| Name |
Type |
Description |
UI Control |
|
| nx |
int |
number of pixels in a line |
| ny |
int |
number of pixels in column |
| x |
int |
x-coordinate of the mouse position |
UIframe |
| y |
int |
y-coordinate of the mouse position |
UIframe |
| state |
int |
current state of the left mouse button
|
UIframe |
| mode |
int |
current mode of drawing image
0 = constant colour on the right side of line
1 = colour on the right side of the line depends on drawing speed
2 = colour on the left side of the line depends on drawing speed
|
UIslider |
|
Output Ports
| Name |
Type |
Description |
|
| line_out |
mesh |
data of the point mesh representing the points on the drawn lines |
| line_obj |
data object |
directly renderable object |
| img_out |
uniform field |
represents the image generated with by the drawn lines |
| img_obj |
data object |
directly renderable object |
|
Description
The Parameters the module needs are given by the user by drawing with the mouse in the UIframe. Whenever there is a mouse event the profile update function is called. The functoin ignores the mouse event button up.
If the mouse position is outside the UIframe the current local position (local_x, local_y) is set to the border of the frame (clipping).
When the left mouse button is down the previuos position (local_px, local_py) is initialized by the local position before the local position is set to the new mouse position.
The module sets the pixel of the image between the old and the new mouse position in the map_array to a certain value corresponding to the mode parameter given by the user. Moreover it sets the x-values for each y coordinate in the line_arr.
Parameters
nx, ny
The Maximums of pixels in the x- and y-direction are given by the random size of the UIframe. The UIframe is quadratic. That is why nx equals ny.
x, y
state
The current state of the left mouse button can be
button down, running or button has been released
mode
The current mode of drawing image can have the following values:
0 = constant colour on the right side of line
1 = colour on the right side of the line depends on drawing speed
2 = colour on the left side of the line depends on drawing speed
Outputs
line_out
Contains point coordinates which x-values are taken from the line_arr mentioned in Descriptions
line_obj
img_out
Uses the data from the map_arr which is described in Descriptions
img_obj
Example
There are two example applications. ProfileEg_line views the line object and ProfileEg_img views the image with the help of a Uviewer2D.
Files
iac_proj/profile/profile.v Creates the IAC_PROJ.Profile library
iac_proj/profile/profmods.v Creates the ProfileMods library containing the low-level module ProfileCore and the parameter block ProfileParams.
iac_proj/profile/profmacs.v Creates the ProfileMacs library containing the high-level functional macro ProfileFunc, user interface macro ProfileUI and the user macro Profile.macro definition iac_proj/profile/profapps.v Creates the ProfileApps library containing the example applications ProfileEg_line and ProfileEg_img.
Author
Ian Curington,
Advanced Visual Systems Inc.
Modifications
Simone Herrmann
Manchester Visualization Centre
Contact
International AVS Centre
Manchester Visualization Centre
Kilburn Building
University of Manchester
Oxford Road
Manchester
United Kingdom
M13 9PL
|