CSOModifyProcessor

MLModule
genre CSOProcessor
status stable
author Olaf Konrad
package MeVisLab/Standard
dll SoCSO
definition SoCSO.def
see also SoView2DCSOEditor, CSOBulgeProcessor
keywords CSO, contour, interpolation, segmentation

Purpose

The CSOModifyProcessor allows for the interactive modification of existing CSOs. This is done by drawing freehand modification contours that are combined with the existing ones. The combination can be a Boolean difference or union operation. The actual operation depends on the starting point of drawing a modification contour: if this contour is started with a point inside an existing CSO, a union operation is performed, if it is started outside an existing CSO, a difference operation is performed.

Usage

Attach this module as a processor to a SoView2DCSOEditor.

Details

The Boolean operation of the modification contour is performed with only one existing CSO. That is for the union operation (starting inside) the CSO which embraces the starting point, and for the difference operation (starting outside) the CSO that is firstly intersected twice by the modification contour, in direction of its drawing.

Note that modification contours that are self-intersecting are rejected.

If a difference operation is performed on an existing CSO, the result can be multiple CSOs. That is, the difference operation may cut a CSO into pieces. In order to prevent a CSO to fall into small and useless pieces, there is a parameter that adjusts a limit on the resulting CSO pieces: if a resulting pieces would become too small in respect to the choosen limit, it is removed from the list of CSOs.

Windows

Default Panel

../../../Modules/Inventor/SoCSO/mhelp/Images/Screenshots/CSOModifyProcessor._default.png

Output Fields

None.

outProcessorData

name: outProcessorData, type: MLBase

Parameter Fields

Field Index

addCSOToGroupMode: Enum Limit: Float
addCSOToGroupWithId: Integer Limit Unit: Enum
apply: Trigger Selection Mode: Enum
autoApply: Bool updateMode: Enum
done: Trigger  
emptyGroupBeforeGeneration: Bool  
IDs: String  
isProcessing: Bool  

Visible Fields

Limit

name: limitValue, type: Float, default: 0

Defines the limiting parameter. The default of 0 means that nothing is ever removed.

Limit Unit

name: limitUnit, type: Enum, default: numPoints

Adjusts how the limiting parameter should be evaluated.

Values:

Title Name
num Points numPoints
smm smm
scm scm
sm sm

Selection Mode

name: selectionMode, type: Enum, default: SelectAll

Defines how the IDs is interpreted.

Values:

Title Name Description
All SelectAll All CSOs can be edited. This is the default.
CSOs SelectCSOs Only CSOs with IDs listed in IDs can be edited.
Groups SelectGroups Only CSOs belonging to the groups listed in IDs can be edited.

IDs

name: selectionString, type: String

A comma separated list of the CSO- or CSOGroup IDs that are to be edited.

Hidden Fields

updateMode

name: updateMode, type: Enum, default: Off

Values:

Title Name
Off Off
Auto Update AutoUpdate

autoApply

name: autoApply, type: Bool, default: FALSE

apply

name: apply, type: Trigger

isProcessing

name: isProcessing, type: Bool, default: FALSE

done

name: done, type: Trigger

emptyGroupBeforeGeneration

name: emptyGroupBeforeGeneration, type: Bool, default: FALSE

addCSOToGroupMode

name: addCSOToGroupMode, type: Enum, default: AddToGroupByLabel

Values:

Title Name
None AddToGroupNone
By Label AddToGroupByLabel
By Id AddToGroupById

addCSOToGroupWithId

name: addCSOToGroupWithId, type: Integer, default: -1