WEMClip

MLModule
genre WEMProcessing
author MeVis Medical Solutions AG
package MeVisLab/Standard
dll MLWEMModules
definition MLWEMModules.def
inherits from WEMProcessor
keywords plane

Purpose

The WEMClip module has been deprecated, because it does too many things at once. It should be replaced with one of the following modules:

The module WEMClip clips a WEM according to a given plane and generates CSOs that represent an intersection of a WEM and a plane.

Usage

Connect any WEM to the input of the WEMClip module, choose a plane and click the apply button.

Details

Clipping (also known as culling) is a very common operation in 3D graphics. When viewing a 3D scene, all 3D meshes falling outside the user’s view or only partly visible need to be clipped against the viewing frustum. In comparison with such a frustum, which has six clipping planes, the WEMClip module only has one. It intersects the WEM and each face either lies on the interior side or exterior side of the plane.

A smaller portion of the 3D mesh faces intersect the clipping plane. Depending on how the interior and exterior of the clipping plane are defined, some part of the WEM is kept, while the other faces are discarded. The faces intersecting the plane change their geometry since one, two, three or more nodes become invisible.

Windows

Default Panel

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

Input Fields

inWEM

name: inWEM, type: WEM(MLBase)
For accessing this object via scripting see the Scripting Reference: MLWEMWrapper.

Output Fields

The clipped WEM and a CSO for the clipped path (can be more than a single CSO).

outWEM

name: outWEM, type: WEM(MLBase)
For accessing this object via scripting see the Scripting Reference: MLWEMWrapper.

outCSOList

name: outCSOList, type: CSOList(MLBase)
For accessing this object via scripting see the Scripting Reference: MLCSOListWrapper.

outXMarkerList

name: outXMarkerList, type: XMarkerList(MLBase)
For accessing this object via scripting see the Scripting Reference: MLXMarkerListWrapper.

Parameter Fields

Visible Fields

Auto Apply

name: autoApply, type: Bool, default: TRUE

If checked, all changes of parameters lead to a new clipping of the input WEM.

see also WEMGenerator.autoApply

Update Mode

name: updateMode, type: Enum, default: AutoUpdate, deprecated name: autoUpdate

Defines how this module should react on any input field change.

see also WEMGenerator.updateMode

Apply

name: apply, type: Trigger

If pressed, the input WEM is clipped against the plane.

see also WEMGenerator.apply

Clear

name: clear, type: Trigger

If pressed, the output WEM is cleared (made empty).

see also WEMGenerator.clear

Overwrite label and description

name: overwriteLabelDescription, type: Bool, default: FALSE

If checked, label and description strings are set in the output WEM to Label and Description.

see also WEMGenerator.overwriteLabelDescription

Label

name: label, type: String

Sets a label string in the output WEM.

see also WEMGenerator.label

Description

name: description, type: String

Sets a description string in the output WEM.

see also WEMGenerator.description

Generate XMarkerList

name: generateXMarkerList, type: Bool, default: FALSE

If checked, the module outputs an XMarkerList (mlXMarkerList.h) where the marker are located at the border WEM nodes with the nodes’ normal as the marker’s vec.

Target Dist.

name: targetMarkerDistance, type: Float, default: 0

Sets a target distance between the markers to be generated.

Since the markers will be evenly distributed along a cut, the real distance between the markers will differ slightly from this value.

Plane

name: plane, type: Plane, default: 0 0 1 0

Sets the clipping plane, given by its planar equation Ax+By+Cz+D = 0.

Generate Edges

name: generateEdges, type: Bool, default: TRUE

If checked, edges are generated on the output meshes.

If edges are not required for the rest of the pipeline, unchecking this option saves time.

Generate CSOs

name: generateCSOs, type: Bool, default: TRUE

If checked, CSOs are generated on the output. Generation of CSOs require edges.

Which Output

name: whichOutput, type: Enum, default: PositiveSide

Deinfes which output mesh is generated.

By default both parts of the clipped WEM are generated, but either half can be chosen.

Values:

Title Name Deprecated Name Description
Positive Side PositiveSide Inner Outputs the WEM that lies on the positive side of the plane.
Negative Side NegativeSide Outer Outputs the WEM that lies on the negative side of the plane.
Nothing Nothing   No clipped WEM is returned; this is a speed-up if you are only interested in the cutting edge as CSOs or a marker list.

Hidden Fields

isProcessing

name: isProcessing, type: Bool, persistent: no

see WEMGenerator.isProcessing

elapsedTime

name: elapsedTime, type: Float, persistent: no

see WEMGenerator.elapsedTime

id

name: id, type: Integer, default: 0

see WEMGenerator.id

shouldComputeNormals

name: shouldComputeNormals, type: Bool, default: TRUE

see WEMGenerator.shouldComputeNormals

workDirectlyOnInputWEMs

name: workDirectlyOnInputWEMs, type: Bool, default: FALSE

see WEMProcessor.workDirectlyOnInputWEMs

listenToFinishNotifications

name: listenToFinishNotifications, type: Bool, default: TRUE

see WEMProcessor.listenToFinishNotifications

listenToRepaintNotifications

name: listenToRepaintNotifications, type: Bool, default: TRUE

see WEMProcessor.listenToRepaintNotifications

listenToSelectionChangedNotifications

name: listenToSelectionChangedNotifications, type: Bool, default: TRUE

see WEMProcessor.listenToSelectionChangedNotifications

progress

name: progress, type: Float, persistent: no

see WEMProcessor.progress

triangulationMode

name: triangulationMode, type: Enum, default: Strip

Defines the triangulation mode.

see also WEMProcessor.triangulationMode