MeVisLab Toolbox Reference
|
Extension for modifying an existing CSO. More...
#include <SoCSOModifyEditor.h>
Public Member Functions | |
SoCSOModifyEditor () | |
Standard constructor. | |
void | createStartPressAt (const SoPointerPosition &pos) override |
void | createDragMoveTo (const SoPointerPosition &pos) override |
bool | createEndPress (int clickCount) override |
void | pointerPositionIfAllowedAt (const SoPointerPosition &) override |
Sets seed points while moving the mouse – but not while dragging. | |
bool | isCreationAllowed () const override |
Returns whether the editor is allowed to create a new CSO. | |
bool | isModificationEditor () const override |
Returns whether the editor is a modification editor. | |
void | drawAdditionalGeometry (const CSODrawView2DInfos &view2DInfos, SoView2DCSOExtensibleEditor *editor) override |
Routine for drawing additional geometry of the extension. | |
bool | canCreateCSOs () const override |
Returns whether the editor can create a CSO. | |
bool | shouldRenderSpecific (ml::CSO *) const override |
Does not render specific CSOs but only its own temporary trail. | |
bool | shouldRenderGeneral (ml::CSO *) const override |
Returns true so we can use the general render code. | |
void | selectAndMoveStartPressAt (const SoPointerPosition &) override |
void | selectAndMoveDragMoveTo (const SoPointerPosition &) override |
SoPointingAction * | selectAndMoveEndPress (int) override |
int | cursorShape () const override |
Returns the cursor shape that indicates the next creation. | |
bool | evaluateHitPoint (const ml::Vector3 &, View2DSliceList *, ml::CSOList *, const ml::CSOBoundingBox &, SoView2DCSOExtensibleEditor *, ml::CSO *&, ml::CSOSeedPoint *&, ml::CSOPathPoints *&, float &) override |
a modification interaction can start anywhere, so overload this and always return 'false'. | |
void | cancel () override |
Cancels an action like generating a CSO. Depends on concrete editor. | |
Public Member Functions inherited from SoCSOEditorExtension | |
void | setExtensibleEditor (SoView2DCSOExtensibleEditor *extensibleEditor) |
Sets the pointer to the calling extensible editor. | |
virtual void | activate (SoView2DCSOExtensibleEditor *extensibleEditor) |
Is called when an extension is activated by the SoView2DExtensibleEditor. | |
virtual void | deactivate () |
Is called when an extension is deactivated by the SoView2DExtensibleEditor. | |
virtual void | buttonMaskChanged () |
Is called when the button mask of the SoView2DExtensibleEditor has changed. | |
virtual void | editingOnChanged () |
Is called when the editingOn field of the SoView2DExtensibleEditor has changed. | |
virtual void | startDrawing (View2DSliceList *) |
Is called before drawing. | |
virtual void | drawingDone () |
Is called when all drawing is done. | |
virtual void | setVisibleCSOs (const std::vector< CSODrawCSOInfos > &drawCSOInformation, const CSODrawView2DInfos &view2DInfos, SoView2DCSOExtensibleEditor *editor) |
Sets visible CSOs that have been determined in the extensible editor. | |
virtual void | draw (const CSODrawCSOInfos &csoInfos, const CSODrawView2DInfos &view2DInfos, const CSODrawSliceInformation &sliceInfo, SoView2DCSOExtensibleEditor *editor) |
Main routine for drawing a CSO. | |
virtual void | drawSecondPass (const CSODrawCSOInfos &csoInfos, const CSODrawView2DInfos &view2DInfos, const CSODrawSliceInformation &sliceInfo, SoView2DCSOExtensibleEditor *editor) |
Drawing routine that comes between 'main' and 'overlay'. | |
virtual void | drawOverlay (const CSODrawCSOInfos &csoInfos, const CSODrawView2DInfos &view2DInfos, const CSODrawSliceInformation &sliceInfo, SoView2DCSOExtensibleEditor *editor) |
Routine for drawing after the main routine has drawn. | |
virtual void | insertSeedPointStartPressAt (const SoPointerPosition &) |
virtual void | insertSeedPointDragMoveTo (const SoPointerPosition &) |
virtual SoPointingAction * | insertSeedPointEndPress (int) |
virtual void | bulgeStartPressAt (const SoPointerPosition &) |
virtual void | bulgeDragMoveTo (const SoPointerPosition &) |
virtual SoPointingAction * | bulgeEndPress (int) |
virtual void | pointerPosition (const SoPointerPosition &) |
Is called when the mouse moves over a viewer. | |
virtual void | pointerLeftWindow () |
Is called when mouse pointer leaves the window. | |
virtual bool | isCreationAllowedAt (const SoPointerPosition &) const |
Returns whether the editor is allowed to create a new CSO at the given position, by default calls the previous method. | |
virtual bool | isModificationAllowed () const |
Returns whether the editor is allowed to modify an existing CSO. | |
virtual bool | shouldRenderCSOs () const |
Returns whether the editor should render. | |
virtual ml::CSO * | getActiveCSO () const |
Returns the currently active CSO. | |
virtual bool | expectsToCreateCSO () |
Returns whether an editor is awaiting to create a new CSO, depending on the requireMousemovement flag. | |
SbString | getCreatorExtensionId () const |
void | setActiveCSOList (ml::CSOList *hitCSOList) |
void | setSelectAndMoveInformation (ml::CSOList *hitCSOList, ml::CSO *hitCSO, ml::CSOSeedPoint *hitSeedPoint, ml::CSOPathPoints *hitPathPoints, float hitDistance) |
void | setCSOUnderMouse (ml::CSO *cso) |
ml::CSO * | getCSOUnderMouse () const |
bool | hasSelectedSeedPoint () const |
bool | hasSelectedCSO () const |
virtual SbString | getSubType () const |
Returns the sub type string of the derived class. | |
virtual bool | isDefaultRenderer () const |
Returns whether the editor is the default editor. | |
virtual void | resetCache () |
Resets internal module caches, if there are any. | |
virtual bool | deleteSeedPoint (ml::CSO *cso, ml::CSOSeedPoint *) |
Removes the given seed point from the given CSO and returns whether that was successful. | |
ml::CSOSeedPoint * | getPreviousSeedPoint (ml::CSOSeedPoint *seedPoint) const |
Returns the previous seed point of the given seed point for setting it as the next selected seed point. | |
virtual void | mouseWheelEventReceived (SoMouseWheelEvent::Orientation, int, View2DEvent *) |
Method is called when the extensible editor received a mouse wheel event. | |
void | reset () |
ml::CSOVisualizationSettings * | getVisualizationSettings () |
Returns a pointer to the visual settings that are either the default ones or the ones set to the extensible editor (if present). | |
bool | shouldShowCSOForCurrentTimePoint (const CSODrawView2DInfos &view2DInfos, ml::CSO *cso) |
Returns whether the given CSO should be rendered for the current time point. | |
void | sendCSOEventsOnCancel (ml::CSO *cso) |
Sends CSO events for completing a creation or interaction when canceling it. | |
virtual void | sendCSOEventsOnCancel (ml::CSOList *csoList) |
Static Public Member Functions | |
static void | initClass () |
init class in inventor runtime | |
Static Public Member Functions inherited from SoCSOEditorExtension | |
static void | initClass () |
init class in inventor runtime | |
Public Attributes | |
SoSFTrigger | notifyTrailIsSelfIntersecting |
Button is triggered from the inside if the modification trail is intersecting itself. | |
SoSFTrigger | notifyRejectModification |
Button is triggered from the inside if the modification has been rejected because it would have caused a change of topology. | |
SoSFBool | shouldCheckCSOForSelfIntersection |
If checked, the module tests a candidate CSO whether it is self-intersection before attempting to modify it. | |
SoSFColor | selfIntersectionColor |
Color for the trail in case it intersects itself. | |
SoSFBool | shouldSetModifiedCSOSelected |
If checked, the modified CSO gets selected, otherwise the selection remains unchanged. | |
SoSFEnum | defaultCursor |
Public Attributes inherited from SoCSOEditorExtension | |
SoSFString | extensionId |
ID for a editor, needs to be unique per editor extension instance. | |
SoSFBool | allowCreation |
Shall the editor allow creation? | |
SoSFBool | allowModification |
Shall the editor allow modification of CSOs of its type? | |
SoSFBool | allowSeedPointInteraction |
Should the interaction with seed points be allowed? | |
SoSFBool | shouldRender |
Shall the editor render its CSOs? | |
SoSFMLBase | inVisualizationSettings |
Optionally attached visualization settings, overrides the vis. | |
SoSFEnum | selectionCursor |
SoSFEnum | interactionForbiddenCursor |
SoSFInt32 | csoIdUnderMouseCursor |
The id of the CSO currently under the mouse (or -1 if no CSO is under the mouse). | |
Protected Member Functions | |
void | initMembers () override |
Protected Member Functions inherited from SoCSOEditorExtension | |
SoCSOEditorExtension () | |
Hidden constructor. | |
~SoCSOEditorExtension () override | |
Hidden destructor. | |
void | sendCSONotificationRepaint () |
Sends a CSO notification to repaint the CSOList. | |
void | sendCSONotificationMove () |
Sends a CSO notification on moving a CSO or seed point. | |
void | sendCSONotificationFinishInteraction () |
Sends a CSO notification on finishing an interaction with a CSO. | |
void | sendCSONotificationResetInteractionState () |
Sends a CSO notification on having the interaction state being reset. | |
void | sendCSONotificationInsertSeedPoint () |
Sends a CSO notification on inserting a seed point. | |
void | sendCSONotificationNewCSOStarted () |
Sends a CSO notification on having started to create a new CSO. | |
void | setExtensionIdAsSubType () |
Sets the subtype member to the value of the extension id string. | |
virtual void | setCreationData (const SoPointerPosition &pos, ml::CSO *newCSO) |
Sets creation data to a newly created CSO. | |
void | extensionIdCB (SoField *) |
SoCSOEditorTools::LineRenderSettings | getLineRenderSettingsOnSlice () |
Creates a LineRenderSettings struct from the editors visualization settings "onSlice" section. | |
SoCSOEditorTools::LineRenderSettings | getLineRenderSettingsForCSO (ml::CSO *cso) |
Creates a LineRenderSettings struct from the visualization attributes of the given CSO. | |
void | drawPathPoints (const CSODrawCSOInfos &csoInfos, const CSODrawView2DInfos &view2DInfos, const CSODrawSliceInformation &drawSliceInfo, const SbVec2f &shadowOffsetDevice, SoView2DCSOExtensibleEditor *editor) |
Draws the CSO by drawing lines between the path points. Renders different types of CSOs. | |
void | renderPathPoints (const CSOPathPointsRenderSettings &renderSettings, const CSODrawCSOInfos &csoInfos, const CSODrawView2DInfos &view2DInfos, const std::vector< CSOSliceCrossing > &pathPointsLists, GLint lineMode, const SbVec2f &shadowOffsetDevice) |
Draws path points with given render settings. | |
void | drawPathAndCrossingPoints (const CSODrawCSOInfos &csoInfos, const CSODrawView2DInfos &view2DInfos, const SbVec2f &shadowOffsetDevice, const std::vector< CSOSliceCrossing > &pathAndCrossingPoints, GLint lineMode) |
Draws the path and crossing points. | |
void | drawShape (int style, SoView2DCSOExtensibleEditor *editor, ml::CSOVisualizationSettings *visualizationSettings, float deviceX, float deviceY, float size, float lineWidth=1.f) |
Draws the shape with the given style with the given center and size. | |
void | drawSeedPoints (const CSODrawCSOInfos &csoInfos, const CSODrawView2DInfos &view2DInfos, const CSODrawSliceInformation &drawSliceInfo, SoView2DCSOExtensibleEditor *editor) |
Draws the seed points of the CSO. | |
void | drawFixedSizeCircleAt (float deviceX, float deviceY) |
Renders a fixed size circle at the given position. | |
bool | isCSOVisible (const CSODrawCSOInfos &csoInfos, const CSODrawView2DInfos &view2DInfos, const CSODrawSliceInformation &drawSliceInfo, SoView2DCSOExtensibleEditor *editor) |
Returns whether the CSO is visible on the current slice. | |
ml::Vector3 | getTransformedPosition (const CSODrawView2DInfos &view2DInfos, const ml::Vector3 &position) |
If a SoCSOTransform exists, this method returns the transformed position. | |
void | mapWorldToDevice (const SoPointerPosition &pos, const ml::Vector3 &worldPosition, float &deviceX, float &deviceY) |
Returns device coordinates for a given world position. | |
void | mapWorldToDevice (View2DSliceList *slicelist, const ml::Vector3 &worldPosition, float &deviceX, float &deviceY) |
Returns device coordinates for a given world position. | |
ml::Vector3 | mapDeviceToWorld (const SoPointerPosition &pos, float deviceX, float deviceY) |
Returns world coordinates for given device position. | |
ml::Vector3 | mapWorldToVoxel (const SoPointerPosition &pos, const ml::Vector3 &worldPosition) |
Returns a voxel position for a given world position. | |
ml::Vector3 | mapWorldToVoxel (const SoPointerPosition &pos, const SbVec3f &worldPosition) |
Returns a voxel position for a given world position. | |
ml::Vector3 | mapVoxelToWorld (const SoPointerPosition &pos, const ml::Vector3 &voxelPosition) |
Returns a world position for a given voxel position. | |
SbVec2f | nonShadowOffset () const |
Returns the default offset for non-shadows in pixels. | |
SbVec2f | shadowOffset () const |
Returns the default offset for shadows in pixels. | |
GLint | getLineMode (ml::CSO *cso) |
Returns the correct line mode for open and for closed CSOs. | |
void | setupGLForCSO (const CSODrawCSOInfos &csoInfos) |
Sets up GL state for color, line width, and point size. | |
void | setupGLShadow (float generalAlpha=1.0f) |
Sets up the GL state for shadow rendering (color and line width). | |
void | glSetAlpha (float alpha) |
Sets an alpha value but retains the set color. | |
float | getDepthAlpha (int maxSliceDistance, int currentSliceDistance) const |
Returns an alpha factor based on the max distance and the current distance. | |
bool | doesCSOTimePointMatchCurrentTimePoint (const CSODrawView2DInfos &view2DInfos, ml::CSO *cso) |
Returns true if the CSO's time point matches the (overwritten) current time point. | |
Additional Inherited Members | |
Protected Attributes inherited from SoCSOEditorExtension | |
SoView2DCSOExtensibleEditor * | _editor |
ml::CSOListPtr | _hitCSOList |
Pointer to internal/interactive states. | |
ml::CSO * | _hitCSO |
ml::CSOSeedPoint * | _hitSeedPoint |
ml::CSOPathPoints * | _hitPathPoints |
float | _hitDistance |
ml::CSO * | _csoUnderMouse |
ml::CSOVisualizationSettings | _visualizationSettings |
Default visual settings. Access them via the method getVisualSettings(). | |
SbString | _subType |
Member for subtype of generated CSOs. | |
Extension for modifying an existing CSO.
Extension for modifying an existing CSO.
Definition at line 24 of file SoCSOModifyEditor.h.
SoCSOModifyEditor::SoCSOModifyEditor | ( | ) |
Standard constructor.
|
overridevirtual |
Cancels an action like generating a CSO. Depends on concrete editor.
Reimplemented from SoCSOEditorExtension.
|
inlineoverridevirtual |
Returns whether the editor can create a CSO.
Reimplemented from SoCSOEditorExtension.
Definition at line 64 of file SoCSOModifyEditor.h.
|
overridevirtual |
Implements SoCSOEditorExtension.
Implements SoCSOEditorExtension.
|
overridevirtual |
Implements SoCSOEditorExtension.
|
inlineoverridevirtual |
Returns the cursor shape that indicates the next creation.
Reimplemented from SoCSOEditorExtension.
Definition at line 75 of file SoCSOModifyEditor.h.
|
overridevirtual |
Routine for drawing additional geometry of the extension.
Reimplemented from SoCSOEditorExtension.
|
inlineoverridevirtual |
a modification interaction can start anywhere, so overload this and always return 'false'.
Reimplemented from SoCSOEditorExtension.
Definition at line 79 of file SoCSOModifyEditor.h.
|
overrideprotectedvirtual |
Reimplemented from SoCSOEditorExtension.
|
overridevirtual |
Returns whether the editor is allowed to create a new CSO.
Reimplemented from SoCSOEditorExtension.
|
inlineoverridevirtual |
Returns whether the editor is a modification editor.
Reimplemented from SoCSOEditorExtension.
Definition at line 60 of file SoCSOModifyEditor.h.
|
inlineoverridevirtual |
Sets seed points while moving the mouse – but not while dragging.
Is called in isSensitiveAt only while interacting on the same slice where the interaction has started.
Implements SoCSOEditorExtension.
Definition at line 57 of file SoCSOModifyEditor.h.
|
inlineoverridevirtual |
Implements SoCSOEditorExtension.
Definition at line 72 of file SoCSOModifyEditor.h.
|
inlineoverridevirtual |
Implements SoCSOEditorExtension.
Definition at line 73 of file SoCSOModifyEditor.h.
|
inlineoverridevirtual |
Implements SoCSOEditorExtension.
Definition at line 71 of file SoCSOModifyEditor.h.
Returns true so we can use the general render code.
Reimplemented from SoCSOEditorExtension.
Definition at line 68 of file SoCSOModifyEditor.h.
Does not render specific CSOs but only its own temporary trail.
Reimplemented from SoCSOEditorExtension.
Definition at line 66 of file SoCSOModifyEditor.h.
SoSFEnum SoCSOModifyEditor::defaultCursor |
Definition at line 49 of file SoCSOModifyEditor.h.
SoSFTrigger SoCSOModifyEditor::notifyRejectModification |
Button is triggered from the inside if the modification has been rejected because it would have caused a change of topology.
Definition at line 39 of file SoCSOModifyEditor.h.
SoSFTrigger SoCSOModifyEditor::notifyTrailIsSelfIntersecting |
Button is triggered from the inside if the modification trail is intersecting itself.
An application can use this to warn the user that the trail is being discarded because of the self-intersection.
Definition at line 36 of file SoCSOModifyEditor.h.
SoSFColor SoCSOModifyEditor::selfIntersectionColor |
Color for the trail in case it intersects itself.
Definition at line 44 of file SoCSOModifyEditor.h.
SoSFBool SoCSOModifyEditor::shouldCheckCSOForSelfIntersection |
If checked, the module tests a candidate CSO whether it is self-intersection before attempting to modify it.
Definition at line 42 of file SoCSOModifyEditor.h.
SoSFBool SoCSOModifyEditor::shouldSetModifiedCSOSelected |
If checked, the modified CSO gets selected, otherwise the selection remains unchanged.
Definition at line 47 of file SoCSOModifyEditor.h.