MeVisLab Toolbox Reference
|
Base class for extensions that generate line-type CSOs with special interaction on finished CSOs. More...
#include <SoCSOLineCreatorEditorExtension.h>
Public Member Functions | |
bool | expectsToCreateCSO () override |
Returns whether an editor is awaiting to create a new CSO, depending on the requireMousemovement flag. | |
Public Member Functions inherited from SoCSOCreatorEditorExtension | |
bool | canCreateCSOs () const override |
Returns whether the editor can create a CSO. | |
int | cursorShape () const override |
Returns the cursor shape that indicates the next creation. | |
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 | drawAdditionalGeometry (const CSODrawView2DInfos &view2DInfos, SoView2DCSOExtensibleEditor *editor) |
Routine for drawing additional geometry of the extension. | |
virtual void | createStartPressAt (const SoPointerPosition &pos)=0 |
virtual void | createDragMoveTo (const SoPointerPosition &pos)=0 |
virtual bool | createEndPress (int clickCount)=0 |
virtual void | pointerPositionIfAllowedAt (const SoPointerPosition &pos)=0 |
Sets seed points while moving the mouse – but not while dragging. | |
virtual void | selectAndMoveStartPressAt (const SoPointerPosition &pos)=0 |
virtual void | selectAndMoveDragMoveTo (const SoPointerPosition &pos)=0 |
virtual SoPointingAction * | selectAndMoveEndPress (int clickCount)=0 |
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 | isCreationAllowed () const |
Returns whether the editor is allowed to create a new CSO. | |
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. | |
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 | shouldRenderSpecific (ml::CSO *cso) const |
Returns whether a given CSO should be rendered by this specific extension. | |
virtual bool | shouldRenderGeneral (ml::CSO *) const |
Returns whether a given CSO should be rendered by this general extension. | |
virtual bool | isDefaultRenderer () const |
Returns whether the editor is the default editor. | |
virtual bool | isModificationEditor () const |
Returns whether the editor is a modification editor. | |
virtual void | resetCache () |
Resets internal module caches, if there are any. | |
virtual void | cancel () |
Cancels an action like generating a CSO. Depends on concrete editor. | |
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. | |
virtual bool | evaluateHitPoint (const ml::Vector3 &worldPosition, View2DSliceList *slicelist, ml::CSOList *csoList, const ml::CSOBoundingBox &slabBB, SoView2DCSOExtensibleEditor *editor, ml::CSO *&localHitCSO, ml::CSOSeedPoint *&localHitSeedPoint, ml::CSOPathPoints *&localHitPathPoints, float &distance) |
Returns whether the given world position is within the selection distance set in the editor and fills the selection distance. | |
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) |
Public Member Functions inherited from ml::CSOGeneratorBase | |
CSOGeneratorBase () | |
Default constructor. | |
virtual | ~CSOGeneratorBase ()=default |
CSO * | generatorAddCSO (CSOList *csoList, bool useUndoRedo=true) |
Adds a new CSO to the CSOList. | |
CSO * | generatorAddCSONoEvent (CSOList *csoList, bool useUndoRedo=true, bool sendEvent=false) |
See generatorAddCSO, but no group scope event is emitted. (So this method is faster!) | |
CSOGroup * | generatorGetParentGroup (CSOList *csoList, bool useUndoRedo=false, bool generate=false) |
Returns the parent group according to current group settings. | |
void | generatorEmptyGroupOnDemand (CSOList *csoList) |
Empties a group on demand of the given CSOList with the set label. | |
Static Public Member Functions | |
static void | initClass () |
init class in inventor runtime | |
Static Public Member Functions inherited from SoCSOCreatorEditorExtension | |
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 | |
SoSFEnum | insertSeedPointCursor |
SoSFEnum | canCloseCursor |
SoSFBool | insertSeedPointByClickingOnPathPointList |
CSO will be grabbed to be moved. | |
SoSFBool | generateSeedPointsWhileDragging |
Shall seed points be generated while dragging in non-freehand mode? | |
Public Attributes inherited from SoCSOCreatorEditorExtension | |
SoSFInt32 | moduleCreatorId |
Sets the module's creator id. | |
SoSFString | moduleCreatorString |
Sets the module's type string. | |
SoSFString | labelPrefixString |
Sets a label prefix string. | |
SoSFBool | requirePointerPositionMovementToCreateCSO |
Should the mouse have to be moved a bit before creating a CSO? | |
SoSFInt32 | pointerPositionEpsilonForCreatingCSO |
The pointer position movement epsilon distance in pixel to trigger CSO creation. | |
SoSFBool | shouldEmptyGroupBeforeGenerating |
Should the CSO group be emptied before generating new CSOs into it? | |
SoSFEnum | addCSOToGroupMode |
Sets whether the group's label or its id should be used for cso-into-group generation. | |
SoSFString | addCSOToGroupLabel |
Sets the group's label for CSO generation. | |
SoSFInt32 | addCSOToGroupId |
Sets the group's id for CSO generation. | |
SoSFEnum | defaultPathPointStyle |
Sets the default path point style. | |
SoSFFloat | defaultPathPointWidth |
Sets the default path point width. | |
SoSFColor | defaultPathPointColor |
Sets the default path point color. | |
SoSFFloat | defaultPathPointAlpha |
Sets the default path point alpha. | |
SoSFEnum | defaultSeedPointStyle |
Sets the default seed point style. | |
SoSFFloat | defaultSeedPointSize |
Sets the default seed point size. | |
SoSFColor | defaultSeedPointColor |
Sets the default seed point color. | |
SoSFFloat | defaultSeedPointAlpha |
Sets the default seed point alpha. | |
SoSFEnum | defaultVoxelWriteMode |
Sets the default voxel write mode. | |
SoSFFloat | defaultVoxelWriteValue |
Sets the default voxel write value. | |
SoSFEnum | createCursor |
Cursor shapes. | |
SoSFEnum | moveAllCursor |
SoSFEnum | moveSeedCursor |
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 | |
SoCSOLineCreatorEditorExtension () | |
Hidden constructor. | |
void | initMembers () override |
Protected Member Functions inherited from SoCSOCreatorEditorExtension | |
SoCSOCreatorEditorExtension () | |
Hidden constructor. | |
int | getModuleCreatorId () const override |
Returns the module's creator id. | |
std::string | getModuleType () const override |
Returns the module's type string. | |
void | setCreationData (const SoPointerPosition &pos, ml::CSO *newCSO) override |
Sets creation data to a newly created CSO. | |
int | getMaxAvailableId () |
Returns the current id for CSOs created by this editor. It is the maximum available id. | |
bool | getShouldEmptyBeforeGeneration () const override |
Returns whether the module should empty a group before generating CSOs into it. | |
int | getAddCSOToGroupMode () const override |
Returns the group generation mode. | |
std::string | getAddCSOToGroupLabel () const override |
Returns the label string of a target group. | |
int | getAddCSOToGroupId () const override |
Returns the id of a target group. | |
int | getDefaultPathPointStyle () const override |
Returns the set default path point style for a new CSO. | |
float | getDefaultPathPointWidth () const override |
Returns the set default path point width for a new CSO. | |
ml::Vector3 | getDefaultPathPointColor () const override |
Returns the set default path point color for a new CSO. | |
float | getDefaultPathPointAlpha () const override |
Returns the set default path point alpha for a new CSO. | |
int | getDefaultSeedPointStyle () const override |
Returns the set default seed point style for a new CSO. | |
float | getDefaultSeedPointSize () const override |
Returns the set default seed point size for a new CSO. | |
ml::Vector3 | getDefaultSeedPointColor () const override |
Returns the set default seed point color for a new CSO. | |
float | getDefaultSeedPointAlpha () const override |
Returns the set default seed point alpha for a new CSO. | |
int | getDefaultVoxelWriteMode () const override |
Returns the set default voxel write mode for a new CSO. | |
float | getDefaultVoxelWriteValue () const override |
Returns the set default voxel write value for a new CSO. | |
ml::CSO * | getActiveCSO () const override |
Returns the currently active CSO. | |
bool | isFartherThanEpsilon (const SoPointerPosition &pos) const |
Returns whether the given position is farther away from the start position than the epsilon in pixel. | |
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. | |
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. | |
Protected Attributes | |
bool | _isCurrentlyGenerating |
bool | _justStartedToCreate |
bool | _hasClickedToCreate |
Protected Attributes inherited from SoCSOCreatorEditorExtension | |
SbVec2f | _startDevicePointerPosition |
The device position of the pointer at creation start. | |
ml::CSO * | _newCSO |
Created CSO. | |
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. | |
Base class for extensions that generate line-type CSOs with special interaction on finished CSOs.
Base class for extensions that generate line-type CSOs with special interaction on finished CSOs.
Definition at line 25 of file SoCSOLineCreatorEditorExtension.h.
|
protected |
Hidden constructor.
|
inlineoverridevirtual |
Returns whether an editor is awaiting to create a new CSO, depending on the requireMousemovement flag.
Reimplemented from SoCSOEditorExtension.
Definition at line 44 of file SoCSOLineCreatorEditorExtension.h.
References SoCSOCreatorEditorExtension::_newCSO.
|
overrideprotectedvirtual |
Reimplemented from SoCSOCreatorEditorExtension.
Reimplemented in SoCSOLiveWireEditor.
|
protected |
Definition at line 55 of file SoCSOLineCreatorEditorExtension.h.
|
protected |
Definition at line 53 of file SoCSOLineCreatorEditorExtension.h.
|
protected |
Definition at line 54 of file SoCSOLineCreatorEditorExtension.h.
SoSFEnum SoCSOLineCreatorEditorExtension::canCloseCursor |
Definition at line 35 of file SoCSOLineCreatorEditorExtension.h.
SoSFBool SoCSOLineCreatorEditorExtension::generateSeedPointsWhileDragging |
Shall seed points be generated while dragging in non-freehand mode?
Definition at line 41 of file SoCSOLineCreatorEditorExtension.h.
SoSFBool SoCSOLineCreatorEditorExtension::insertSeedPointByClickingOnPathPointList |
CSO will be grabbed to be moved.
Definition at line 39 of file SoCSOLineCreatorEditorExtension.h.
SoSFEnum SoCSOLineCreatorEditorExtension::insertSeedPointCursor |
Definition at line 34 of file SoCSOLineCreatorEditorExtension.h.