WEMSubdivide

MLModule
genre WEMProcessing
status stable
author Olaf Konrad
package MeVisLab/Standard
dll MLWEMModules
definition MLWEMModules.def
see also WEMReducePolygons
keywords WEM, split, subdivide

Purpose

The module WEMSubdivide can be used for subdividing a WEM in order to produce more nodes, edges and face without modifying the overall geometry.

Details

Note: This module works on triangles only!

The WEMSubdivide module searches exhaustively in a WEM for edges with a length that exceeds an adjustable length threshold. Such an edge is split by inserting a node into the middle of the concerning edge (and additionally two edges and two faces are inserted into the WEM). Internally, a priority queue is used and because of that, the longest edges are split first. Additionally, after each run of splitting edges, the module tries to optimize the triangles by applying a edge-swap operation. Also, the faces' normals are smoothed before checking for a potential swap.

Tips

The average edge length can be determined with the WEMInfo.

Windows

Default Panel

../../../Modules/ML/MLWEMModules/mhelp/Images/Screenshots/WEMSubdivide._default.png

Input Fields

inWEM

name: inWEM, type: MLBase

Any valid WEM that contains only triangles.

Output Fields

outWEM

name: outWEM, type: MLBase

The subdivided WEM.

Parameter Fields

Visible Fields

Auto Apply

name: autoApply, type: Bool, default: TRUE

If checked, all parameter changes take immediately effect.

Auto Update

name: autoUpdate, type: Bool, default: TRUE

If checked, an update of the input WEM leads to a new computation.

Apply

name: apply, type: Trigger

If pressed, the splitting algorithm is applied to the WEM.

Max. Edge Length

name: maxEdgeLength, type: Float, default: 1

Sets the maximum length an edge can have in a WEM. If any edge exceeds this length, it will be split by inserting a node into the middle of such an edge.

Hidden Fields

isProcessing

name: isProcessing, type: Bool, default: FALSE

elapsedTime

name: elapsedTime, type: Float, default: 0

id

name: id, type: Integer, default: 0

autoClear

name: autoClear, type: Bool, default: FALSE

removePreviousWEMs

name: removePreviousWEMs, type: Bool, default: TRUE

show

name: show, type: Bool, default: TRUE

editable

name: editable, type: Bool, default: TRUE

useFaceDiffuseColor

name: useFaceDiffuseColor, type: Bool, default: TRUE

usePolygonOffset

name: usePolygonOffset, type: Bool, default: FALSE

listenToFinishNotifications

name: listenToFinishNotifications, type: Bool, default: TRUE

forwardRepaintNotifications

name: forwardRepaintNotifications, type: Bool, default: TRUE

forwardSelectionNotifications

name: forwardSelectionNotifications, type: Bool, default: TRUE

progress

name: progress, type: Float, persistent: no

useInputWEMToCreateOutputWEM

name: useInputWEMToCreateOutputWEM, type: Bool, persistent: no

triangulationMode

name: triangulationMode, type: Enum, default: Strip

Values:

Title Name
Center node Center node
Fan Fan
Strip Strip