Purpose

The CSOManualCorrectionProcessor allows an intuitive manual correction of CSOs in 2D.

Usage

Connect the output to a SoView2DCSOEditor.

Details

None.

Tips

The sub type of a newly generated CSO is set to “SUB_TYPE_PRIMARY” for the result of the manual correction and to “SUB_TYPE_SECONDARY” for the CSO that is not the result of the correction step.

Windows

Default Panel

../../../Projects/SoCSOMiscModules/Modules/mhelp/Images/Screenshots/CSOManualCorrectionProcessor._default.png

Output Fields

outProcessorData

name: outProcessorData, type: MLBase

Connected this output to a SoView2DCSOEditor.

Parameter Fields

Visible Fields

Add To Group

name: addCSOToGroupWithLabel, type: String

If this field is non-empty, the CSOGroup with this label is looked up in the CSOList. If it is not found, the group is created. All generated CSOs are attached to that group. Default is empty.

Creator Id

name: id, type: Integer, default: 0

This field determines the creator id of the generated CSOs. Default is 0.

Edit all timepoints

name: editAllTimePoints, type: Bool, default: FALSE

If enabled, the editing affects all time points.

Keeping Mode

name: keepingMode, type: Enum, default: KeepingModeKeepLargest

Defines which of the possible resulting CSOs should be kept.

Values:

Title Name Description
Keep Longest KeepingModeKeepLongest Uses the length of the CSO.
Keep Shortest KeepingModeKeepShortest Uses the length of the CSO.
Keep Largest KeepingModeKeepLargest Uses the area of the CSO.
Keep Smallest KeepingModeKeepSmallest Uses the area of the CSO.
Dont Keep Center Of Gravity KeepingModeDontKeepCenterOfGravity Uses the center of gravity of the CSO, i.e., it is checked which CSO does not contain the center of gravity of the original CSO.
Keep External Ref Point KeepingModeKeepExternalRefPoint  
Dont Keep External Ref Point KeepingModeDontKeepExternalRefPoint  
Keep Center Of Gravity KeepingModeKeepCenterOfGravity  

Keeping Mode Fallback

name: keepingModeFallback, type: Enum, default: KeepingModeKeepLargest

Defines which of the possible resulting CSOs should be kept if a center-of-gravity-mode is selected as keepingMode and no resulting CSO contains the center of gravity.

Values:

Title Name Description
Longest KeepingModeKeepLongest Uses the length of the CSO.
Shortest KeepingModeKeepShortest Uses the length of the CSO.
Largest KeepingModeKeepLargest Uses the area of the CSO.
Smallest KeepingModeKeepSmallest Uses the area of the CSO.

Reference Point

name: referencePoint, type: Vector3, default: 0 0 0

The optional reference point.

Generation Mode

name: generationMode, type: Enum, default: GenerationModeReplaceExisting

Defines if the existing CSOs should be modified (“Replace Existing”) or if new CSOs should be generated (“Generate New”).

Values:

Title Name Description
Generate New GenerationModeGenerateNew Adds a new CSO.
Replace Existing GenerationModeReplaceExisting Replaces existing CSOs.

Generate secondary

name: generateSecondary, type: Bool, default: FALSE

If enabled, the secondary CSO is generated as well (i.e., the CSO that is not the result of the manual correction). See also Tips and Tricks.

Overwrite type

name: overwriteType, type: Bool, default: FALSE

If enabled, the type of the corrected CSO is set to “CSOManualCorrectionProcessor” and the subtype is set to “SUB_TYPE_PRIMARY”. See also Tips and Tricks.

Closed Contour Handling Mode

name: closedContourHandlingMode, type: Enum, default: ClosedHandlingModeAddNew

Defines how closed CSOs should be handled by the processor.

Values:

Title Name Description
Ignore ClosedHandlingModeIgnore Closed CSOs are ignored.
Add New ClosedHandlingModeAddNew Closed CSOs are added as new CSOs.
Replace Closest ClosedHandlingModeReplaceClosest Closed CSOs replace the closest CSO.

Closing Distance (mm)

name: closingDistance, type: Float, default: 2

If the distance between the start and the end point of the user drawn CSO is smaller than this value, no CSO is modified. Instead a new closed CSO is added based on the user drawn CSO.

Interpolation Mode

name: interpolationMode, type: Enum, default: InterpolationModeSplineApproximation

Defines the interpolation method for the drawn contour.

Values:

Title Name
Linear Interpolation InterpolationModeLinearInterpolation
Spline Interpolation InterpolationModeSplineInterpolation
Spline Approximation InterpolationModeSplineApproximation

Min. Distance Between Seed Points (mm)

name: minSeedPointDistance, type: Float, default: 8

Sets the distance of the current seed point to the first seed point. If the distance is less than this value, the contour can be closed.

Use intersection points

name: useIntersections, type: Bool, default: TRUE

Defines if the first and the last intersection point should be used when modifying a CSO. Otherwise the the start and the end point of the user drawn contour are used.

Threshold

name: intersectionThreshold, type: Double, default: 0.0001, minimum: 0

Threshold for intersection detection.

Start/End Threshold

name: intersectionThresholdStartAndEnd, type: Double, default: 1, minimum: 0

Threshold for considering the start- and end-point as intersecting.

Level CSOs to closest plane

name: level, type: Bool, default: TRUE

Enables leveling of the edited CSOs to the closest plane.

Smooth edited CSOs

name: smoothEditedCSOs, type: Bool, default: FALSE

If enabled, the edited CSO is smoothed.

Is closed

name: inputCSOClosed, type: Bool, persistent: no

Was the user drawn CSO closed?

Length

name: inputCSOLength, type: Float, persistent: no

The length of the user drawn CSO.

Area

name: inputCSOArea, type: Float, persistent: no

The area of the user drawn CSO.

Plane normal

name: inputCSOPlaneNormal, type: Vector3, persistent: no

The normal of the user drawn CSO.

First seed point

name: inputCSOFirstSeedPoint, type: Vector3, persistent: no

The world position of the first seed point of the user drawn CSO.

Middle seed point

name: inputCSOMiddleSeedPoint, type: Vector3, persistent: no

The world position of the middle seed point of the user drawn CSO.

Last Seed point

name: inputCSOLastSeedPoint, type: Vector3, persistent: no

The world position of the last seed point of the user drawn CSO.

Last Edited CSO Id

name: lastEditedCSOId, type: Integer, persistent: no

The ID of the last edited CSO. In cases where a new CSO has been added or where the initial CSO has been deleted, this field contains the ID of the newly genereted CSO.

Used Center Of Gravity

name: usedCenterOfGravity, type: Vector3, persistent: no

The position of the center of gravity of the edited CSO, if the mode has been set to one of the center of gravity modes.

Hidden Fields

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