Purpose

The module 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.

Parameter Fields

Field Index

addCSOToGroupMode: Enum Limit: Float Selection Mode: Enum
addCSOToGroupWithId: Integer Limit Unit: Enum updateMode: Enum
apply: Trigger pathPointStyle: Enum  
autoApply: Bool pathPointWidth: Float  
done: Trigger seedPointAlpha: Float  
emptyGroupBeforeGeneration: Bool seedPointColor: Color  
IDs: String seedPointSize: Float  
Is Processing: Bool seedPointStyle: Enum  

Visible Fields

Is Processing

name: isProcessing, type: Bool, persistent: no

Shows whether the module is processing which is when the user interacts.

Limit

name: limitValue, type: Float, default: 0

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

Limit Unit

name: limitUnit, type: Enum, default: numPoints

Defines 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: AutoClear

Values:

Title Name
Off Off
Auto Update AutoUpdate
Auto Clear AutoClear

autoApply

name: autoApply, type: Bool, default: FALSE

apply

name: apply, type: Trigger

done

name: done, type: Trigger, persistent: no

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

pathPointStyle

name: pathPointStyle, type: Enum, default: LineStyleSolid

Values:

Title Name
None LineStyleNone
Solid LineStyleSolid
Dashed LineStyleDashed
Dotted LineStyleDotted
Short Dashed LineStyleShortDashed

pathPointWidth

name: pathPointWidth, type: Float, default: 1

seedPointStyle

name: seedPointStyle, type: Enum, default: MarkerModeNone

Values:

Title Name
None MarkerModeNone
Rect MarkerModeRect
Circle MarkerModeCircle
Fixed Circle MarkerModeFixedCircle
Triangle MarkerModeTriangle
Filled Rect MarkerModeFilledRect
Filled Circle MarkerModeFilledCircle
Filled Triangle MarkerModeFilledTriangle
Dashed Rectangle MarkerModeDashedRectangle

seedPointSize

name: seedPointSize, type: Float, default: 2

seedPointColor

name: seedPointColor, type: Color, default: 0 1 0

seedPointAlpha

name: seedPointAlpha, type: Float, default: 1