Click or drag to resize

Graph3DController Class

Controller for 3D graph documents and views.
Inheritance Hierarchy
SystemObject
  Altaxo.Gui.WorkbenchAbstractViewContent
    Altaxo.Gui.Graph.Graph3D.ViewingGraph3DController

Namespace: Altaxo.Gui.Graph.Graph3D.Viewing
Assembly: AltaxoBase (in AltaxoBase.dll) Version: 4.8.3572.0 (4.8.3572.0)
Syntax
C#
public class Graph3DController : AbstractViewContent, 
	IDisposable, IMVCANController, IMVCAController, IMVCController, IApplyController, 
	IGraphController, IClipboardHandler

The Graph3DController type exposes the following members.

Constructors
 NameDescription
Public methodGraph3DController Initializes a new instance of the Graph3DController class.
Public methodGraph3DController(GraphDocument) Creates a Graph3DController which shows the GraphDocumentgraphdoc.
Top
Properties
 NameDescription
Public propertyActiveLayer Returns the currently active layer. There is always an active layer.
Public propertyCloseCommand Gets the command that closes the view content.
(Inherited from AbstractViewContent)
Public propertyCloseWithSolution Gets whether this view content should be closed when the solution is closed.
(Inherited from AbstractViewContent)
Public propertyContentId Gets or sets the content identifier. Here, the content identifier is calculated of the reference hash of the document. Setting is not implemented here.
(Inherited from AbstractViewContent)
Public propertyCurrentGraphTool Gets or sets the currently active graph tool.
Public propertyCurrentLayerNumber Get / sets the currently active layer by number.
Public propertyCurrentPlotNumber Get / sets the currently active plot by number.
Public propertyDoc Gets the graph document.
Public propertyEnableCopy The e na bl ec o p y.
Public propertyEnableCut The e na bl ec u t.
Public propertyEnableDelete The e na bl ed el e t e.
Public propertyEnablePaste The e na bl ep as t e.
Public propertyEnableSelectAll The e na bl es el ec ta l l.
Public propertyIconSource Gets or sets the icon source.
(Inherited from AbstractViewContent)
Public propertyInfoTip Gets or sets the informational tooltip for the view content.
(Inherited from AbstractViewContent)
Public propertyInitiallyFocusedControl Gets the control which has focus initially.
(Inherited from AbstractViewContent)
Public propertyIsActive Gets or sets a value indicating whether the view of this instance is active in the UI.
(Inherited from AbstractViewContent)
Public propertyIsContentVisible Gets a value indicating whether the content of this document window is visible (it is if either IsActive or IsSelected is visible.
(Inherited from AbstractViewContent)
Public propertyIsDirty If this property returns true the content has changed since the last load/save operation.
(Inherited from AbstractViewContent)
Public propertyIsDisposed Gets a value indicating whether the view content has been disposed.
(Inherited from AbstractViewContent)
Public propertyIsDisposeInProgress Gets or sets a value indicating whether disposal is in progress.
(Inherited from AbstractViewContent)
Public propertyIsReadOnly Gets if the view content is read-only (can be saved only when choosing another file name).
(Inherited from AbstractViewContent)
Public propertyIsSelected Gets or sets a value indicating whether the view of this instance is selected (e.g. inside its container).
(Inherited from AbstractViewContent)
Public propertyIsViewOnly Gets if the view content is view-only (cannot be saved at all).
(Inherited from AbstractViewContent)
Public propertyIsVisible Gets or sets the visibility of the document. If false, the document tab header is not visible (but the document itself maybe visible !). If true, the document tab header is visible (if it fits in the bar), and the document is visible, if it is selected, too.
(Inherited from AbstractViewContent)
Public propertyModelObject Gets the model (document) that this controller manages.
(Overrides AbstractViewContentModelObject)
Public propertyRootLayer Returns the layer collection. Is the same as m_GraphDocument.XYPlotLayer.
Public propertySelectedObjects Gets the selected objects. This property must be overriden in derived classes
Public propertyServices Gets or sets the service container for the view content.
(Inherited from AbstractViewContent)
Public propertyTitle Gets/Sets the title of the current tab page. This value will be passed through the string parser before being displayed.
(Inherited from AbstractViewContent)
Public propertyUseDocumentCopy Sets whether or not a copy of the document is used. If set to true, a copy of the document is used, so if the controller is not applied, all changes can be reverted. If set to false, no copy must be made. The document is directly changed by the controller, and changes cannot be reverted. Use the last option if a controller higher in the hierarchy has already made a copy of the document.
Public propertyView Gets or sets the attached 3D graph view.
Public propertyViewObject Gets or sets the GUI element that shows the model to the user.
(Overrides AbstractViewContentViewObject)
Top
Methods
 NameDescription
Public methodAdjustZNearZFar Adjusts the zNear and zFar parameter of the camera to make sure that our scene is viewed appropriately, and nothing is cut away.
Public methodApply Called when the user input has to be applied to the document being controlled. Returns if apply is successful.
Public methodArrange Arranges the objects so they share a common boundary.
Public methodArrangeBottomToBottom Arranges the objects so they share the bottom boundary with the bottom boundary of the master element.
Public methodArrangeBottomToTop Arranges the objects so they share the bottom boundary with the top boundary of the master element.
Public methodArrangeHorizontal Arranges the objects so they share the vertical middle line of the last selected object.
Public methodArrangeHorizontalTable Arranges the objects so they their vertical middle line is uniform spaced between the first and the last selected object.
Public methodArrangeLeftToLeft Arranges the objects so they share the left boundary with the left boundary of the master element.
Public methodArrangeLeftToRight Arranges the objects so they share the left boundary with the right boundary of the master element.
Public methodArrangeRightToLeft Arranges the objects so they share the right boundary with the left boundary of the master element.
Public methodArrangeRightToRight Arranges the objects so they share the right boundary with the right boundary of the master element.
Public methodArrangeSameHorizontalSize Performs the a rr an ge sa me ho ri zo nt al si z e operation.
Public methodArrangeSameSizeBase Arranges the same size base.
Public methodArrangeSameVerticalSize Performs the a rr an ge sa me ve rt ic al si z e operation.
Public methodArrangeTopToBottom Arranges the objects so they share the top boundary with the bottom boundary of the master element.
Public methodArrangeTopToTop Arranges the objects so they share the top boundary with the top boundary of the master element.
Public methodArrangeVertical Arranges the objects so they share the horizontal middle line of the last selected object.
Public methodArrangeVerticalTable Arranges the objects so they their horizontal middle line is uniform spaced between the first and the last selected object.
Public methodBuildNavPoint Builds an INavigationPoint for the current position.
(Inherited from AbstractViewContent)
Protected methodCameraMoveHorizontallyByMouseWheel Moves the camera horizontally in response to mouse-wheel input.
Public methodCameraMoveRelative(Double, Double) Moves the camera horizontally and vertically.
Public methodStatic memberCameraMoveRelative(CameraBase, Double, Double) Moves the camera horizontally and vertically.
Protected methodCameraMoveVerticallyByMouseWheel Moves the camera vertically in response to mouse-wheel input.
Protected methodCameraRotateAroundHorizontalAxisByMouseWheel Rotates the camera around the horizontal axis in response to mouse-wheel input.
Protected methodCameraRotateAroundVerticalAxisByMouseWheel Rotates the camera around the vertical axis in response to mouse-wheel input.
Public methodCameraRotateDegrees(Double, Double) Rotates the camera.
Public methodStatic memberCameraRotateDegrees(CameraBase, Double, Double) Rotates the camera.
Protected methodCameraZoomByMouseWheel(Double, Double, Double, Double) Zooms the camera in response to mouse-wheel input.
Protected methodStatic memberCameraZoomByMouseWheel(CameraBase, Double, Double, Double, Double) Calculates a zoomed camera in response to mouse-wheel input.
Protected methodCanClose Determines whether the view content can be closed.
(Inherited from AbstractViewContent)
Public methodClearIsDirty Clears the dirty state.
(Inherited from AbstractViewContent)
Public methodCmdDelete Deletes the current selection or, if nothing is selected, the graph document itself.
Public methodCopy Performs the c o p y operation.
Public methodCopySelectedObjectsToClipboard Copies the currently selected objects to the clipboard.
Public methodCut Performs the c u t operation.
Public methodCutSelectedObjectsToClipboard Cuts the currently selected objects to the clipboard.
Public methodDelete Performs the d el e t e operation.
Public methodDispose Is called when the 3D graph is no longer displayed. Used here to free resources.
(Overrides AbstractViewContentDispose)
Public methodDrawRootLayerMarkers Draws the root-layer orientation markers.
Protected methodStatic memberEhEditPlotItem Handles the double click event onto a plot item.
Protected methodStatic memberEhEditTextGraphics Handles the double click event onto a plot item.
Protected methodEhGraph_BoundsChanged_Unsynchronized Updates marker geometry after the graph bounds have changed.
Protected methodEhGraph_Changed Called if something in the GraphDocument changed.
Protected methodEhGraph_LayerCollectionChanged Handler of the event LayerCollectionChanged of the graph document. Forces to check the LayerButtonBar to keep track that the number of buttons match the number of layers.
Protected methodEhGraph_LayerCollectionChanged_Unsynchronized Updates controller and view state after the layer collection has changed.
Protected methodEhGraph_SizeChanged Handler of the event LayerCollectionChanged of the graph document. Forces to check the LayerButtonBar to keep track that the number of buttons match the number of layers.
Protected methodEhTitleLocalizationChanged Updates the title when the localized title changes.
(Inherited from AbstractViewContent)
Public methodEhView_CurrentGraphToolChanged Raises CurrentGraphToolChanged.
Public methodEhView_CurrentLayerChoosen Handles the selection of the current layer by the user.
Public methodEhView_GraphPanelMouseDown Handles the mouse down event onto the graph in the controller class.
Public methodEhView_GraphPanelMouseMove Handles the mouse move event onto the graph in the controller class.
Public methodEhView_GraphPanelMouseUp Handles the mouse up event onto the graph in the controller class.
Public methodEhView_GraphPanelMouseWheel Handles mouse-wheel input on the graph panel.
Public methodEhView_GraphPanelSizeChanged Handles the event when the size of the graph area is changed.
Public methodEhView_ShowDataContextMenu The controller should show a data context menu (contains all plots of the currentLayer).
Public methodEnsureValidityOfCurrentLayerNumber Ensures that CurrentLayerNumber refers to a valid layer and returns that layer.
Public methodEnsureValidityOfCurrentPlotNumber This ensures that the current plot number is valid. If there is no plot on the currently active layer, the current plot number is set to -1.
Public methodEqualsDetermines whether the specified object is equal to the current object.
(Inherited from Object)
Protected methodFinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object)
Public methodFindGraphObjectAtPixelPosition Looks for a graph object at the position given by hitData and returns true if one is found.
Public methodStatic memberGetCoordinateSystemBasedOnLayerPlaneFacingTheCamera Gets the principal coordinate system that results of the camera facing a layer. The plane of the layer that best faced the camera is used for the calculations. The normal of that layer is returned as z-axis, the vector that best matches the up-vector of the camera is becoming the y-axis, and the x-axis results from the z-axis and the y-axis.
Public methodGetCoordinateSystemRlcBasedOnLayerPlaneFacingTheCameraForSelectedObjects Gets the principal coordinate system that results of the camera facing a layer. The layer is determined from the base layer of all currently selected objects. The plane of the layer that best faced the camera is used for the calculations. The normal of that layer is returned as z-axis, the vector that best matches the up-vector of the camera is becoming the y-axis, and the x-axis results from the z-axis and the y-axis. These vectors are then transformed to root layer coordinates, and packed into a matrix with M11, M21, M31 being the x-axis, M12, M22, M32 being the y-axis and M31, M32, M33 being the z-axis.
Public methodGetHashCodeServes as the default hash function.
(Inherited from Object)
Public methodGetParentLayerOfSelectedObjects Determines the parent layer of the selected objects, as far as all selected objects belong to the same layer.
Public methodGetService(Type)Gets the service object of the specified type.
(Inherited from AbstractViewContent)
Public methodGetServiceT Gets a required service of the specified type.
(Inherited from AbstractViewContent)
Public methodGetTypeGets the Type of the current instance.
(Inherited from Object)
Public methodGroupSelectedObjects Groups the selected objects to form a ShapeGroup.
Protected methodInitialize Initializes the controller state and optionally reloads document-dependent data.
Public methodInitializeDocument Initializes the controller with the document.
Public methodIsCmdCopyEnabled Determines whether the copy command is currently available.
Public methodIsCmdCutEnabled Determines whether the cut command is currently available.
Public methodIsCmdDeleteEnabled Determines whether the delete command is currently available.
Public methodIsCmdPasteEnabled Determines whether the paste command is currently available.
Protected methodMemberwiseCloneCreates a shallow copy of the current Object.
(Inherited from Object)
Public methodStatic memberModelRotateDegrees Rotates the model around the center of the root layer.
Public methodNotifyContentIdChanged Can be used to notify the view content that the ContentId maybe has changed.
(Inherited from AbstractViewContent)
Protected methodOnClose Closes the view content.
(Inherited from AbstractViewContent)
Protected methodOnContentVisibilityChanged Notifies the view that the content visibility has changed.
Public methodOnIsDirtyChanged Raises notifications that the dirty state has changed.
(Inherited from AbstractViewContent)
Protected methodOnPropertyChanged Raises the PropertyChanged event.
(Overrides AbstractViewContentOnPropertyChanged(String))
Public methodPaste Performs the p as t e operation.
Public methodPasteObjectsFromClipboard Pastes supported objects from the clipboard into the active layer.
Public methodRemoveSelectedObjects Removes all currently selected objects from the graph.
Public methodRevert Try to revert changes to the model, i.e. restores the original state of the model.
Public methodSelectAll Performs the s el ec ta l l operation.
Public methodSetDirty Sets the dirty state.
(Inherited from AbstractViewContent)
Public methodSetDisposeInProgress Announces that this view content is about to be disposed very soon. The view content should remain passiv (e.g. should not react to events any more), but should not release its resources yet (this is done later in Dispose).
(Inherited from AbstractViewContent)
Protected methodSetLocalizedInfoTip Sets a localized info tip that will update automatically when the language changes.
(Inherited from AbstractViewContent)
Protected methodSetLocalizedTitle Sets a localized title that will update automatically when the language changes.
(Inherited from AbstractViewContent)
Public methodToStringReturns a string that represents the current object.
(Inherited from Object)
Public methodUngroupSelectedObjects Ungroups the selected objects (if they are ShapeGroup objects).
Public methodViewBack Sets the camera to a back view of the root layer.
Public methodViewBottom Sets the camera to a bottom view of the root layer.
Public methodViewFront Sets the camera to a front view of the root layer.
Public methodViewIsometricLeftTop Sets the camera to an isometric left-top view.
Public methodViewIsometricStandard Sets the camera to the standard isometric view.
Public methodViewLeft Sets the camera to a left-side view of the root layer.
Public methodViewRight Sets the camera to a right-side view of the root layer.
Public methodViewTop Sets the camera to a top view of the root layer.
Public methodViewToRootLayerCenter Make the views to look at the root layer center. The scale is choosen so that the size of the plot will be maximal.
Top
Events
 NameDescription
Public eventCurrentGraphToolChanged Occurs when the active graph tool changes.
Public eventDisposed Occurs when the view content has been disposed.
(Inherited from AbstractViewContent)
Public eventIsDirtyChanged Occurs when the dirty state changes.
(Inherited from AbstractViewContent)
Public eventPropertyChangedOccurs when a property value changes.
(Inherited from AbstractViewContent)
Top
Fields
 NameDescription
Protected field_currentLayerNumberNumber of the currently selected layer (or null if no layer is present).
Protected field_currentPlotNumberNumber of the currently selected plot (or -1 if no plot is present on the layer).
Protected field_doc The graph document controlled by this instance.
Protected fieldStatic member_emptyReadOnlyList Empty read-only list returned when no objects are selected.
Protected field_isActive Stores whether the view content is active.
(Inherited from AbstractViewContent)
Protected field_isSelected Stores whether the view content is selected.
(Inherited from AbstractViewContent)
Protected field_isVisible Stores whether the view content is visible.
(Inherited from AbstractViewContent)
Protected field_middleButtonCurrentAction The action that is executed if the middle mouse button is pressed and the mouse is moved. This value is only valid if if the field _middleButtonPressed_InitialCamera is not null.
Protected field_middleButtonPressed_InitialCamera The camera as it was when the middle mouse button was pressed. A value != null indicates that the middle button is currently pressed. This value is used to rotate the camera when the middle mouse button is pressed and the mouse is moved.
Protected field_middleButtonPressed_InitialPosition The position of the mouse as it was when the middle mouse button was pressed. This value is valid only if the field _middleButtonPressed_InitialCamera is not null.
Protected field_title Stores the current title.
(Inherited from AbstractViewContent)
Protected field_titleToBeLocalized Stores the localized title source.
(Inherited from AbstractViewContent)
Protected field_triggerBasedUpdate Delays expensive redraw updates until queued changes have settled.
Public field_view The attached 3D graph view.
Protected field_weakEventHandlerForDoc_TunneledEvent Weak handler for tunneled document events.
Protected field_weakEventHandlersForDoc Weak event handlers that keep the document from holding strong references to this controller.
Top
See Also