SoView2DWEMEditor

InventorModule
genre WEMInteraction
author Olaf Konrad
package MeVisLab/Standard
dll SoWEM
definition SoWEM.def
see also SoWEMRenderer
keywords convert, process

Purpose

The SoView2DWEMEditor provides the possibility of interactively deform a WEM surface in a certain spherical range.

Usage

Connect this module to a View2D inventor input. Connect some WEM to its input.

Make sure you also render the WEM-scene in 2D by using either VoxelizeInventorScene (slow) or SoView2DScene (better). Have a look at the example network.

Details

If clicking onto the View2D in the vicinity of a WEM contour, all nodes in a certain sphere of influence are collected. Those nodes will follow the mouse movement to a certain degree, optionally smoothed by a sigmoid function.

Interaction

Simply click on the 2D viewer into the vicinity of a WEM contour. Hold the according button pressed (whichever you chose on the 'Button' panel) and deform the WEM surface interactively (click & drag).

Windows

Default Panel

../../../Modules/Inventor/SoWEM/mhelp/Images/Screenshots/SoView2DWEMEditor._default.png

Input Fields

inWEM

name: inWEM, type: MLBase

The input WEM to be edited.

Output Fields

self

name: self, type: SoNode

Parameter Fields

Visible Fields

Influence Radius

name: influenceRadius, type: Float, default: 10, minimum: 0

The radius of influence around a selected node: all nodes within this radius are deformed.

The radius is measured in world coordinates.

Patch Mode

name: patchMode, type: Enum, default: WEM_PATCH_MODE_CLOSEST

Determines which nodes of which WEMPatch are being displaced.

Values:

Title Name Description
Closest WEM_PATCH_MODE_CLOSEST Only the nodes of the closest WEMPatch are being displaced.
All WEM_PATCH_MODE_ALL All nodes of all WEMPatches in the influence radius are being displaced.

Interpolation Function

name: interpolationFunction, type: Enum, default: WEM_INTERPOLATION_FUNCTION_COSINE

Determines the type of influence interpolation.

Values:

Title Name Description
Cosine WEM_INTERPOLATION_FUNCTION_COSINE Smooth characteristic.
Linear WEM_INTERPOLATION_FUNCTION_LINEAR Triangular characteristic.

Use Angle Damping

name: useAngleDamping, type: Bool, default: TRUE

If checked, only those nodes with a node normal that has an angle less than 90 degree with the node normal of the node closest to the mouse pointer are being displaced.

Recompute Normals While Interacting

name: recomputeNormalsWhileInteracting, type: Bool, default: FALSE

If checked, the deformed WEM's normals are recomputed while interacting.

Note that this slows down the interaction.

Recompute Normals On Release

name: recomputeNormalsOnRelease, type: Bool, default: TRUE

If checked, the WEM's normals are recomputed on release (finishing the interaction and releasing the mouse button).

Hidden Fields

drawingOn

name: drawingOn, type: Bool, default: TRUE

editingOn

name: editingOn, type: Bool, default: TRUE

maskValid

name: maskValid, type: Bool, default: FALSE

fixZOn

name: fixZOn, type: Bool, default: TRUE

color

name: color, type: Color, default: 1 1 1

selectionTolerance

name: selectionTolerance, type: Float, default: 24

needsValidVoxel

name: needsValidVoxel, type: Bool, default: TRUE

wantsMouseWheelEvents

name: wantsMouseWheelEvents, type: Bool, default: FALSE

setEventHandled

name: setEventHandled, type: Bool, default: FALSE

ignoreHandledEvents

name: ignoreHandledEvents, type: Bool, default: FALSE

createNewMode

name: createNewMode, type: Bool, default: FALSE

createNewModeRequest

name: createNewModeRequest, type: Trigger

renderOnSlab

name: renderOnSlab, type: Bool, default: FALSE

clipToSlice

name: clipToSlice, type: Bool, default: FALSE

cursorShape

name: cursorShape, type: Enum, default: UNDEFINED_CURSOR

Values:

Title Name
Undefined Cursor UNDEFINED_CURSOR
Default Cursor DEFAULT_CURSOR
Forbidden Cursor FORBIDDEN_CURSOR
Pointing Hand Cursor POINTING_HAND_CURSOR
Open Hand Cursor OPEN_HAND_CURSOR
Closed Hand Cursor CLOSED_HAND_CURSOR
Move All Cursor MOVE_ALL_CURSOR
Move Hori Cursor MOVE_HORI_CURSOR
Move Vert Cursor MOVE_VERT_CURSOR
Move Fdiag Cursor MOVE_FDIAG_CURSOR
Move Bdiag Cursor MOVE_BDIAG_CURSOR
Move Inout Cursor MOVE_INOUT_CURSOR
Rotate X Cursor ROTATE_X_CURSOR
Rotate Y Cursor ROTATE_Y_CURSOR
Rotate Z Cursor ROTATE_Z_CURSOR
Rotate Xy Cursor ROTATE_XY_CURSOR
Zoom Cursor ZOOM_CURSOR
Zoom In Cursor ZOOM_IN_CURSOR
Zoom Out Cursor ZOOM_OUT_CURSOR
Cross Cursor CROSS_CURSOR
Cross Plus Cursor CROSS_PLUS_CURSOR
Cross Minus Cursor CROSS_MINUS_CURSOR
Cross Move Cursor CROSS_MOVE_CURSOR
Cross Rotate Cursor CROSS_ROTATE_CURSOR
Cross Rect Cursor CROSS_RECT_CURSOR
Cross Oval Cursor CROSS_OVAL_CURSOR
Cross Vector Cursor CROSS_VECTOR_CURSOR
Cross Freeform Cursor CROSS_FREEFORM_CURSOR
Cross Point Cursor CROSS_POINT_CURSOR
Cross Line Cursor CROSS_LINE_CURSOR
Cross Curve Cursor CROSS_CURVE_CURSOR
Cross Polyline Cursor CROSS_POLYLINE_CURSOR
Cross Polygon Cursor CROSS_POLYGON_CURSOR
Cross Fill Cursor CROSS_FILL_CURSOR
Cross Link Cursor CROSS_LINK_CURSOR
Cross 0 Cursor CROSS_0_CURSOR
Cross 1 Cursor CROSS_1_CURSOR
Cross 2 Cursor CROSS_2_CURSOR
Cross 3 Cursor CROSS_3_CURSOR
Lut Cursor LUT_CURSOR
Slicing Cursor SLICING_CURSOR
Cross 4 Cursor CROSS_4_CURSOR
Cross 5 Cursor CROSS_5_CURSOR
Cross 6 Cursor CROSS_6_CURSOR
Cross 7 Cursor CROSS_7_CURSOR
Cross 8 Cursor CROSS_8_CURSOR
Cross 9 Cursor CROSS_9_CURSOR
Lut 1 Cursor LUT_1_CURSOR
Lut 2 Cursor LUT_2_CURSOR
Lut 3 Cursor LUT_3_CURSOR