SoCSOModifyEditor

InventorModule

author

MeVis Medical Solutions AG

package

MeVisLab/Standard

dll

SoCSO

definition

SoCSO.def

see also

SoView2DCSOExtensibleEditor

Purpose

The module SoCSOModifyEditor interactively modifies existing CSOs of all types.

Details

The color of the trail can be set by an attached SoCSOVisualizationSettings by setting the color for ‘path points on slice’.

Interaction

To modify an existing CSO, draw a trail on a viewer. The trail is an always closed contour (but it is not a CSO itself).

Only closed, planar CSOs (that are allowed to be modified) can be modified.

If the drawing of the trail is started outside a CSO, the modification will be a relative difference operation. If started inside a CSO, the modification will be a union operation.

The type and subtype of a CSO will be changed by the modification. That means specifically that the original CSO editor cannot be used to further interact with a modified CSO.

Tips

A modification of a CSO can be rejected.

This is different from a CSO not being considered a candidate for modification, where an open or a non-planar CSO is not considered. Also, a self-intersecting CSO is not considered if the option Should check CSO for self intersection is checked.

A modification can be rejected because of two reasons: 1. the trail is self-intersecting. 2. the modification would result in a topology change.

1.: if the trail is self-intersecting, the trail is rendered in a different color. Additionally, a trigger field notifyTrailIsSelfIntersecting is touched from within the module.

2.: if the trail would cut a CSO in half or if would result in a merging of a CSO with itself, leading to ‘island’ CSOs. In those cases, a trigger field notifyRejectModification is touched from within the module.

Windows

Main

../../../Modules/Inventor/SoCSO/mhelp/Images/Screenshots/SoCSOModifyEditor.Main.png

Input Fields

inVisualizationSettings

name: inVisualizationSettings, type: CSOVisualizationSettings(MLBase)

Output Fields

self

name: self, type: SoNode

Parameter Fields

Field Index

Allow Modification: Bool

notifyTrailIsSelfIntersecting: Trigger

allowCreation: Bool

selectionCursor: Enum

allowSeedPointInteraction: Bool

Self Intersection Color: Color

csoIdUnderMouseCursor: Integer

Should check CSO for self intersection: Bool

defaultCursor: Enum

Should set modified CSO selected: Bool

Extension Id: String

shouldRender: Bool

interactionForbiddenCursor: Enum

notifyRejectModification: Trigger

Visible Fields

Extension Id

name: extensionId, type: String

Sets an extension ID string that restricts the editor to modify only CSOs if their subtype matches this extension ID.

Leave the extension ID field empty to allow the editor to modify all types of CSOs.

Allow Modification

name: allowModification, type: Bool, default: TRUE

If checked, this editor is allowed to modify existing CSOs.

Should check CSO for self intersection

name: shouldCheckCSOForSelfIntersection, type: Bool, default: FALSE

If checked, the module checks whether a target CSO is self-intersection.

In case the CSO is self-intersecting, the CSO is not considered to be a candidate for modification.

Since the test for self-intersection is rather expensive (in time) and CSOs should not self-intersect anyway, this test is optional.

Self Intersection Color

name: selfIntersectionColor, type: Color, default: 1 0.200000002980232 0.200000002980232

Sets the color for the trail to indicate it is self-intersecting.

If the trail is self-intersecting, no modification will be performed.

Should set modified CSO selected

name: shouldSetModifiedCSOSelected, type: Bool, default: FALSE

If checked, the modified CSO is set as being selected after the modification.

Hidden Fields

allowCreation

name: allowCreation, type: Bool, default: TRUE

allowSeedPointInteraction

name: allowSeedPointInteraction, type: Bool, default: TRUE

shouldRender

name: shouldRender, type: Bool, default: TRUE

selectionCursor

name: selectionCursor, type: Enum, default: POINTING_HAND_CURSOR

Values:

Title

Name

Undefined Cursor

UNDEFINED_CURSOR

Default Cursor

DEFAULT_CURSOR

Forbidden Cursor

FORBIDDEN_CURSOR

Pointing Hand Cursor

POINTING_HAND_CURSOR

Open Hand Cursor

OPEN_HAND_CURSOR

Closed Hand Cursor

CLOSED_HAND_CURSOR

Move All Cursor

MOVE_ALL_CURSOR

Move Hori Cursor

MOVE_HORI_CURSOR

Move Vert Cursor

MOVE_VERT_CURSOR

Move Fdiag Cursor

MOVE_FDIAG_CURSOR

Move Bdiag Cursor

MOVE_BDIAG_CURSOR

Move Inout Cursor

MOVE_INOUT_CURSOR

Rotate X Cursor

ROTATE_X_CURSOR

Rotate Y Cursor

ROTATE_Y_CURSOR

Rotate Z Cursor

ROTATE_Z_CURSOR

Rotate Xy Cursor

ROTATE_XY_CURSOR

Zoom Cursor

ZOOM_CURSOR

Zoom In Cursor

ZOOM_IN_CURSOR

Zoom Out Cursor

ZOOM_OUT_CURSOR

Cross Cursor

CROSS_CURSOR

Cross Plus Cursor

CROSS_PLUS_CURSOR

Cross Minus Cursor

CROSS_MINUS_CURSOR

Cross Move Cursor

CROSS_MOVE_CURSOR

Cross Rotate Cursor

CROSS_ROTATE_CURSOR

Cross Rect Cursor

CROSS_RECT_CURSOR

Cross Oval Cursor

CROSS_OVAL_CURSOR

Cross Vector Cursor

CROSS_VECTOR_CURSOR

Cross Freeform Cursor

CROSS_FREEFORM_CURSOR

Cross Point Cursor

CROSS_POINT_CURSOR

Cross Line Cursor

CROSS_LINE_CURSOR

Cross Curve Cursor

CROSS_CURVE_CURSOR

Cross Polyline Cursor

CROSS_POLYLINE_CURSOR

Cross Polygon Cursor

CROSS_POLYGON_CURSOR

Cross Fill Cursor

CROSS_FILL_CURSOR

Cross Link Cursor

CROSS_LINK_CURSOR

Cross 0 Cursor

CROSS_0_CURSOR

Cross 1 Cursor

CROSS_1_CURSOR

Cross 2 Cursor

CROSS_2_CURSOR

Cross 3 Cursor

CROSS_3_CURSOR

Cross 4 Cursor

CROSS_4_CURSOR

Cross 5 Cursor

CROSS_5_CURSOR

Cross 6 Cursor

CROSS_6_CURSOR

Cross 7 Cursor

CROSS_7_CURSOR

Cross 8 Cursor

CROSS_8_CURSOR

Cross 9 Cursor

CROSS_9_CURSOR

Lut Cursor

LUT_CURSOR

Lut 1 Cursor

LUT_1_CURSOR

Lut 2 Cursor

LUT_2_CURSOR

Lut 3 Cursor

LUT_3_CURSOR

Slicing Cursor

SLICING_CURSOR

Other Cursor 0

OTHER_CURSOR_0

Other Cursor 1

OTHER_CURSOR_1

Other Cursor 2

OTHER_CURSOR_2

Other Cursor 3

OTHER_CURSOR_3

Other Cursor 4

OTHER_CURSOR_4

Other Cursor 5

OTHER_CURSOR_5

Other Cursor 6

OTHER_CURSOR_6

Other Cursor 7

OTHER_CURSOR_7

Other Cursor 8

OTHER_CURSOR_8

Other Cursor 9

OTHER_CURSOR_9

Other Cursor 10

OTHER_CURSOR_10

Other Cursor 11

OTHER_CURSOR_11

Other Cursor 12

OTHER_CURSOR_12

Other Cursor 13

OTHER_CURSOR_13

Other Cursor 14

OTHER_CURSOR_14

Other Cursor 15

OTHER_CURSOR_15

Other Cursor 16

OTHER_CURSOR_16

Other Cursor 17

OTHER_CURSOR_17

Other Cursor 18

OTHER_CURSOR_18

Other Cursor 19

OTHER_CURSOR_19

Other Cursor 20

OTHER_CURSOR_20

Other Cursor 21

OTHER_CURSOR_21

Other Cursor 22

OTHER_CURSOR_22

Other Cursor 23

OTHER_CURSOR_23

Other Cursor 24

OTHER_CURSOR_24

Other Cursor 25

OTHER_CURSOR_25

Other Cursor 26

OTHER_CURSOR_26

Other Cursor 27

OTHER_CURSOR_27

Other Cursor 28

OTHER_CURSOR_28

Other Cursor 29

OTHER_CURSOR_29

Other Cursor 30

OTHER_CURSOR_30

Other Cursor 31

OTHER_CURSOR_31

Other Cursor 32

OTHER_CURSOR_32

Other Cursor 33

OTHER_CURSOR_33

Other Cursor 34

OTHER_CURSOR_34

Other Cursor 35

OTHER_CURSOR_35

Other Cursor 36

OTHER_CURSOR_36

Other Cursor 37

OTHER_CURSOR_37

Other Cursor 38

OTHER_CURSOR_38

Other Cursor 39

OTHER_CURSOR_39

Other Cursor 40

OTHER_CURSOR_40

Other Cursor 41

OTHER_CURSOR_41

Other Cursor 42

OTHER_CURSOR_42

Other Cursor 43

OTHER_CURSOR_43

Other Cursor 44

OTHER_CURSOR_44

Other Cursor 45

OTHER_CURSOR_45

Other Cursor 46

OTHER_CURSOR_46

Other Cursor 47

OTHER_CURSOR_47

Other Cursor 48

OTHER_CURSOR_48

Other Cursor 49

OTHER_CURSOR_49

Other Cursor 50

OTHER_CURSOR_50

Other Cursor 51

OTHER_CURSOR_51

Other Cursor 52

OTHER_CURSOR_52

Other Cursor 53

OTHER_CURSOR_53

Other Cursor 54

OTHER_CURSOR_54

Other Cursor 55

OTHER_CURSOR_55

Other Cursor 56

OTHER_CURSOR_56

Other Cursor 57

OTHER_CURSOR_57

Other Cursor 58

OTHER_CURSOR_58

Other Cursor 59

OTHER_CURSOR_59

Other Cursor 60

OTHER_CURSOR_60

Other Cursor 61

OTHER_CURSOR_61

Other Cursor 62

OTHER_CURSOR_62

Other Cursor 63

OTHER_CURSOR_63

Other Cursor 64

OTHER_CURSOR_64

Other Cursor 65

OTHER_CURSOR_65

Other Cursor 66

OTHER_CURSOR_66

Other Cursor 67

OTHER_CURSOR_67

Other Cursor 68

OTHER_CURSOR_68

Other Cursor 69

OTHER_CURSOR_69

Blank Cursor

BLANK_CURSOR

interactionForbiddenCursor

name: interactionForbiddenCursor, type: Enum, default: FORBIDDEN_CURSOR

Values:

Title

Name

Undefined Cursor

UNDEFINED_CURSOR

Default Cursor

DEFAULT_CURSOR

Forbidden Cursor

FORBIDDEN_CURSOR

Pointing Hand Cursor

POINTING_HAND_CURSOR

Open Hand Cursor

OPEN_HAND_CURSOR

Closed Hand Cursor

CLOSED_HAND_CURSOR

Move All Cursor

MOVE_ALL_CURSOR

Move Hori Cursor

MOVE_HORI_CURSOR

Move Vert Cursor

MOVE_VERT_CURSOR

Move Fdiag Cursor

MOVE_FDIAG_CURSOR

Move Bdiag Cursor

MOVE_BDIAG_CURSOR

Move Inout Cursor

MOVE_INOUT_CURSOR

Rotate X Cursor

ROTATE_X_CURSOR

Rotate Y Cursor

ROTATE_Y_CURSOR

Rotate Z Cursor

ROTATE_Z_CURSOR

Rotate Xy Cursor

ROTATE_XY_CURSOR

Zoom Cursor

ZOOM_CURSOR

Zoom In Cursor

ZOOM_IN_CURSOR

Zoom Out Cursor

ZOOM_OUT_CURSOR

Cross Cursor

CROSS_CURSOR

Cross Plus Cursor

CROSS_PLUS_CURSOR

Cross Minus Cursor

CROSS_MINUS_CURSOR

Cross Move Cursor

CROSS_MOVE_CURSOR

Cross Rotate Cursor

CROSS_ROTATE_CURSOR

Cross Rect Cursor

CROSS_RECT_CURSOR

Cross Oval Cursor

CROSS_OVAL_CURSOR

Cross Vector Cursor

CROSS_VECTOR_CURSOR

Cross Freeform Cursor

CROSS_FREEFORM_CURSOR

Cross Point Cursor

CROSS_POINT_CURSOR

Cross Line Cursor

CROSS_LINE_CURSOR

Cross Curve Cursor

CROSS_CURVE_CURSOR

Cross Polyline Cursor

CROSS_POLYLINE_CURSOR

Cross Polygon Cursor

CROSS_POLYGON_CURSOR

Cross Fill Cursor

CROSS_FILL_CURSOR

Cross Link Cursor

CROSS_LINK_CURSOR

Cross 0 Cursor

CROSS_0_CURSOR

Cross 1 Cursor

CROSS_1_CURSOR

Cross 2 Cursor

CROSS_2_CURSOR

Cross 3 Cursor

CROSS_3_CURSOR

Cross 4 Cursor

CROSS_4_CURSOR

Cross 5 Cursor

CROSS_5_CURSOR

Cross 6 Cursor

CROSS_6_CURSOR

Cross 7 Cursor

CROSS_7_CURSOR

Cross 8 Cursor

CROSS_8_CURSOR

Cross 9 Cursor

CROSS_9_CURSOR

Lut Cursor

LUT_CURSOR

Lut 1 Cursor

LUT_1_CURSOR

Lut 2 Cursor

LUT_2_CURSOR

Lut 3 Cursor

LUT_3_CURSOR

Slicing Cursor

SLICING_CURSOR

Other Cursor 0

OTHER_CURSOR_0

Other Cursor 1

OTHER_CURSOR_1

Other Cursor 2

OTHER_CURSOR_2

Other Cursor 3

OTHER_CURSOR_3

Other Cursor 4

OTHER_CURSOR_4

Other Cursor 5

OTHER_CURSOR_5

Other Cursor 6

OTHER_CURSOR_6

Other Cursor 7

OTHER_CURSOR_7

Other Cursor 8

OTHER_CURSOR_8

Other Cursor 9

OTHER_CURSOR_9

Other Cursor 10

OTHER_CURSOR_10

Other Cursor 11

OTHER_CURSOR_11

Other Cursor 12

OTHER_CURSOR_12

Other Cursor 13

OTHER_CURSOR_13

Other Cursor 14

OTHER_CURSOR_14

Other Cursor 15

OTHER_CURSOR_15

Other Cursor 16

OTHER_CURSOR_16

Other Cursor 17

OTHER_CURSOR_17

Other Cursor 18

OTHER_CURSOR_18

Other Cursor 19

OTHER_CURSOR_19

Other Cursor 20

OTHER_CURSOR_20

Other Cursor 21

OTHER_CURSOR_21

Other Cursor 22

OTHER_CURSOR_22

Other Cursor 23

OTHER_CURSOR_23

Other Cursor 24

OTHER_CURSOR_24

Other Cursor 25

OTHER_CURSOR_25

Other Cursor 26

OTHER_CURSOR_26

Other Cursor 27

OTHER_CURSOR_27

Other Cursor 28

OTHER_CURSOR_28

Other Cursor 29

OTHER_CURSOR_29

Other Cursor 30

OTHER_CURSOR_30

Other Cursor 31

OTHER_CURSOR_31

Other Cursor 32

OTHER_CURSOR_32

Other Cursor 33

OTHER_CURSOR_33

Other Cursor 34

OTHER_CURSOR_34

Other Cursor 35

OTHER_CURSOR_35

Other Cursor 36

OTHER_CURSOR_36

Other Cursor 37

OTHER_CURSOR_37

Other Cursor 38

OTHER_CURSOR_38

Other Cursor 39

OTHER_CURSOR_39

Other Cursor 40

OTHER_CURSOR_40

Other Cursor 41

OTHER_CURSOR_41

Other Cursor 42

OTHER_CURSOR_42

Other Cursor 43

OTHER_CURSOR_43

Other Cursor 44

OTHER_CURSOR_44

Other Cursor 45

OTHER_CURSOR_45

Other Cursor 46

OTHER_CURSOR_46

Other Cursor 47

OTHER_CURSOR_47

Other Cursor 48

OTHER_CURSOR_48

Other Cursor 49

OTHER_CURSOR_49

Other Cursor 50

OTHER_CURSOR_50

Other Cursor 51

OTHER_CURSOR_51

Other Cursor 52

OTHER_CURSOR_52

Other Cursor 53

OTHER_CURSOR_53

Other Cursor 54

OTHER_CURSOR_54

Other Cursor 55

OTHER_CURSOR_55

Other Cursor 56

OTHER_CURSOR_56

Other Cursor 57

OTHER_CURSOR_57

Other Cursor 58

OTHER_CURSOR_58

Other Cursor 59

OTHER_CURSOR_59

Other Cursor 60

OTHER_CURSOR_60

Other Cursor 61

OTHER_CURSOR_61

Other Cursor 62

OTHER_CURSOR_62

Other Cursor 63

OTHER_CURSOR_63

Other Cursor 64

OTHER_CURSOR_64

Other Cursor 65

OTHER_CURSOR_65

Other Cursor 66

OTHER_CURSOR_66

Other Cursor 67

OTHER_CURSOR_67

Other Cursor 68

OTHER_CURSOR_68

Other Cursor 69

OTHER_CURSOR_69

Blank Cursor

BLANK_CURSOR

csoIdUnderMouseCursor

name: csoIdUnderMouseCursor, type: Integer, persistent: no

notifyTrailIsSelfIntersecting

name: notifyTrailIsSelfIntersecting, type: Trigger

notifyRejectModification

name: notifyRejectModification, type: Trigger

defaultCursor

name: defaultCursor, type: Enum, default: CROSS_FREEFORM_CURSOR

Values:

Title

Name

Undefined Cursor

UNDEFINED_CURSOR

Default Cursor

DEFAULT_CURSOR

Forbidden Cursor

FORBIDDEN_CURSOR

Pointing Hand Cursor

POINTING_HAND_CURSOR

Open Hand Cursor

OPEN_HAND_CURSOR

Closed Hand Cursor

CLOSED_HAND_CURSOR

Move All Cursor

MOVE_ALL_CURSOR

Move Hori Cursor

MOVE_HORI_CURSOR

Move Vert Cursor

MOVE_VERT_CURSOR

Move Fdiag Cursor

MOVE_FDIAG_CURSOR

Move Bdiag Cursor

MOVE_BDIAG_CURSOR

Move Inout Cursor

MOVE_INOUT_CURSOR

Rotate X Cursor

ROTATE_X_CURSOR

Rotate Y Cursor

ROTATE_Y_CURSOR

Rotate Z Cursor

ROTATE_Z_CURSOR

Rotate Xy Cursor

ROTATE_XY_CURSOR

Zoom Cursor

ZOOM_CURSOR

Zoom In Cursor

ZOOM_IN_CURSOR

Zoom Out Cursor

ZOOM_OUT_CURSOR

Cross Cursor

CROSS_CURSOR

Cross Plus Cursor

CROSS_PLUS_CURSOR

Cross Minus Cursor

CROSS_MINUS_CURSOR

Cross Move Cursor

CROSS_MOVE_CURSOR

Cross Rotate Cursor

CROSS_ROTATE_CURSOR

Cross Rect Cursor

CROSS_RECT_CURSOR

Cross Oval Cursor

CROSS_OVAL_CURSOR

Cross Vector Cursor

CROSS_VECTOR_CURSOR

Cross Freeform Cursor

CROSS_FREEFORM_CURSOR

Cross Point Cursor

CROSS_POINT_CURSOR

Cross Line Cursor

CROSS_LINE_CURSOR

Cross Curve Cursor

CROSS_CURVE_CURSOR

Cross Polyline Cursor

CROSS_POLYLINE_CURSOR

Cross Polygon Cursor

CROSS_POLYGON_CURSOR

Cross Fill Cursor

CROSS_FILL_CURSOR

Cross Link Cursor

CROSS_LINK_CURSOR

Cross 0 Cursor

CROSS_0_CURSOR

Cross 1 Cursor

CROSS_1_CURSOR

Cross 2 Cursor

CROSS_2_CURSOR

Cross 3 Cursor

CROSS_3_CURSOR

Cross 4 Cursor

CROSS_4_CURSOR

Cross 5 Cursor

CROSS_5_CURSOR

Cross 6 Cursor

CROSS_6_CURSOR

Cross 7 Cursor

CROSS_7_CURSOR

Cross 8 Cursor

CROSS_8_CURSOR

Cross 9 Cursor

CROSS_9_CURSOR

Lut Cursor

LUT_CURSOR

Lut 1 Cursor

LUT_1_CURSOR

Lut 2 Cursor

LUT_2_CURSOR

Lut 3 Cursor

LUT_3_CURSOR

Slicing Cursor

SLICING_CURSOR

Other Cursor 0

OTHER_CURSOR_0

Other Cursor 1

OTHER_CURSOR_1

Other Cursor 2

OTHER_CURSOR_2

Other Cursor 3

OTHER_CURSOR_3

Other Cursor 4

OTHER_CURSOR_4

Other Cursor 5

OTHER_CURSOR_5

Other Cursor 6

OTHER_CURSOR_6

Other Cursor 7

OTHER_CURSOR_7

Other Cursor 8

OTHER_CURSOR_8

Other Cursor 9

OTHER_CURSOR_9

Other Cursor 10

OTHER_CURSOR_10

Other Cursor 11

OTHER_CURSOR_11

Other Cursor 12

OTHER_CURSOR_12

Other Cursor 13

OTHER_CURSOR_13

Other Cursor 14

OTHER_CURSOR_14

Other Cursor 15

OTHER_CURSOR_15

Other Cursor 16

OTHER_CURSOR_16

Other Cursor 17

OTHER_CURSOR_17

Other Cursor 18

OTHER_CURSOR_18

Other Cursor 19

OTHER_CURSOR_19

Other Cursor 20

OTHER_CURSOR_20

Other Cursor 21

OTHER_CURSOR_21

Other Cursor 22

OTHER_CURSOR_22

Other Cursor 23

OTHER_CURSOR_23

Other Cursor 24

OTHER_CURSOR_24

Other Cursor 25

OTHER_CURSOR_25

Other Cursor 26

OTHER_CURSOR_26

Other Cursor 27

OTHER_CURSOR_27

Other Cursor 28

OTHER_CURSOR_28

Other Cursor 29

OTHER_CURSOR_29

Other Cursor 30

OTHER_CURSOR_30

Other Cursor 31

OTHER_CURSOR_31

Other Cursor 32

OTHER_CURSOR_32

Other Cursor 33

OTHER_CURSOR_33

Other Cursor 34

OTHER_CURSOR_34

Other Cursor 35

OTHER_CURSOR_35

Other Cursor 36

OTHER_CURSOR_36

Other Cursor 37

OTHER_CURSOR_37

Other Cursor 38

OTHER_CURSOR_38

Other Cursor 39

OTHER_CURSOR_39

Other Cursor 40

OTHER_CURSOR_40

Other Cursor 41

OTHER_CURSOR_41

Other Cursor 42

OTHER_CURSOR_42

Other Cursor 43

OTHER_CURSOR_43

Other Cursor 44

OTHER_CURSOR_44

Other Cursor 45

OTHER_CURSOR_45

Other Cursor 46

OTHER_CURSOR_46

Other Cursor 47

OTHER_CURSOR_47

Other Cursor 48

OTHER_CURSOR_48

Other Cursor 49

OTHER_CURSOR_49

Other Cursor 50

OTHER_CURSOR_50

Other Cursor 51

OTHER_CURSOR_51

Other Cursor 52

OTHER_CURSOR_52

Other Cursor 53

OTHER_CURSOR_53

Other Cursor 54

OTHER_CURSOR_54

Other Cursor 55

OTHER_CURSOR_55

Other Cursor 56

OTHER_CURSOR_56

Other Cursor 57

OTHER_CURSOR_57

Other Cursor 58

OTHER_CURSOR_58

Other Cursor 59

OTHER_CURSOR_59

Other Cursor 60

OTHER_CURSOR_60

Other Cursor 61

OTHER_CURSOR_61

Other Cursor 62

OTHER_CURSOR_62

Other Cursor 63

OTHER_CURSOR_63

Other Cursor 64

OTHER_CURSOR_64

Other Cursor 65

OTHER_CURSOR_65

Other Cursor 66

OTHER_CURSOR_66

Other Cursor 67

OTHER_CURSOR_67

Other Cursor 68

OTHER_CURSOR_68

Other Cursor 69

OTHER_CURSOR_69

Blank Cursor

BLANK_CURSOR