Camera |
[ContentPropertyAttribute("Content")] public class CameraNavigationCircles : BaseControllerControl
The CameraNavigationCircles type exposes the following members.
Name | Description | |
---|---|---|
CameraNavigationCircles | Constructor |
Name | Description | |
---|---|---|
AxisCircleRadius | CircleRadius defines the radius of the axis circles. When zero, then the radius is calculated by multiplying FontSize by 0.7. Default value is 0. | |
AxisClickAnimationDuration | Gets or sets a double value that specifies duration in seconds of the camera animation that is started when user clicks on axis circle. When the value is 0, then camera change is immediate and not animated. When the value is less then 0, then plane clicking is disabled (but the AxisClicked event is still triggered). Default value is 0.3 seconds. | |
AxisTextSize | AxisTextSize defines the font size of the axis text. When AxisCircleRadius is zero (by default), then this also changes the radius of the axis circles. Default value is 13. | |
AxisType | AxisType defines how the axis lines are shown. Default value is Lines that shows standard lines without arrows. | |
BackgroundCircleBrush | BackgroundCircleBrush defines the Brush that is used for the background circle. Default value is semi-transparent light gray (#66CCCCCC). | |
BackgroundCircleVisibility | BackgroundCircleVisibility defines when the background circle is visible. Default value is OnMouseOver. | |
Content | Content | |
IsCameraRotationEnabled | IsCameraRotationEnabled defines if camera rotation is enabled when user drags the mouse with left mouse button when over the CameraNavigationCircles. Default value is true. | |
IsRotateToAxisEnabled | IsRotateToAxisEnabled defines if camera is rotated to the selected axis when user clicks on it. Default value is true. | |
ModifierKeyForOppositeAxis | Gets or sets a modifier key that will rotate to the opposite axis when clicked on axis. Default value is Shift. This means that if user holds down Shift key and clicks on +X axis, the camera will rotate to -X axis. To disable this functionality set this property to None. | |
ModifierKeyToPreserveAttitude | Gets or sets a modified key that will preserve the Attitude angle when clicked on a horizontal axis (X and Y in the common setup). Default value is Control. This means that if user holds down Control key and clicks on +X axis, the camera will rotate to X axis while preserving the existing Attitude (will not set Attitude to zero). To disable this functionality set this property to None. | |
NegativeAxisCircleFillBrush | NegativeAxisCircleFillBrush defines the Fill Brush for the axis circles on the negative axes (-x, -y, -z). When the Brush is null, then the color of the axis is used (each axis circle is colored by the color of the axis). Default value is White brush with 80% opacity. | |
NegativeAxisCircleVisibility | NegativeAxisCircleVisibility defines when the axis circles for the negative axes (-x, -y, -z) are shown. Default value is Always. | |
NegativeAxisNameVisibility | PositiveAxisNameNegativeAxisNameVisibilityVisibility defines when the axis names ("X", "Y", "Z") for the negative axes (-x, -y, -z) are shown. Default value is OnMouseOver. | |
NegativeAxisTextBrush | NegativeAxisTextBrush defines the color of the axis name on the negative axes (-x, -y, -z). When the Brush is null, then the color of the axis is used (each axis circle is colored by the color of the axis). Default value is Black. | |
PositiveAxisCircleFillBrush | PositiveCircleFillBrush defines the Fill Brush for the axis circles on the positive axes (+x, +y, +z). When the Brush is null, then the color of the axis is used (each axis circle is colored by the color of the axis). Default value is null. | |
PositiveAxisCircleVisibility | PositiveAxisCircleVisibility defines when the axis circles for the positive axes (+x, +y, +z) are shown. Default value is Always. | |
PositiveAxisNameVisibility | PositiveAxisNameVisibility defines when the axis names ("X", "Y", "Z") for the positive axes (+x, +y, +z) are shown. Default value is Always. | |
PositiveAxisTextBrush | PositiveAxisTextBrush defines the color of the axis name on the positive axes (+x, +y, +z). When the Brush is null, then the color of the axis is used (each axis circle is colored by the color of the axis). Default value is Black. | |
ShowOppositeAxisWhenClickedOnCurrentAxis | When true (by default), then when user clicks on an existing axis (the one in the center), then the camera will rotate to the opposite axis. | |
XAxisColor | Gets the color of X axis. To change the color, call the CustomizeAxes method. Default value is Colors.Red. | |
YAxisColor | Gets the color of Y axis. To change the color, call the CustomizeAxes method. Default value is Colors.ForestGreen. | |
ZAxisColor | Gets the color of Z axis. To change the color, call the CustomizeAxes method. Default value is Colors.RoyalBlue. |
Name | Description | |
---|---|---|
CustomizeAxes(Vector3D, Vector3D, Vector3D) | CustomizeAxes customizes the show axes with specify custom axis orientation. | |
CustomizeAxes(String, String, Color, Vector3D, String, String, Color, Vector3D, String, String, Color, Vector3D) | CustomizeAxes customizes the show axes with specify custom Vector3D, axis name and axis color for each axis. To customize axis length, set AxisLength3D before calling this method. | |
OnApplyTemplate |
OnApplyTemplate
(Overrides FrameworkElementOnApplyTemplate) | |
OnAxisClicked | OnAxisClicked | |
OnAxisDeselected(String, Vector3D) | OnAxisDeselected | |
OnAxisDeselected(String, Boolean, Boolean, Brush, Line, Shape, TextBlock) | OnAxisDeselected method is called after initialization and when the axis is not longer selected by the mouse. This method can be overridden in a derived class to customize the behaviour. | |
OnAxisSelected(String, Vector3D) | OnAxisSelected | |
OnAxisSelected(String, Boolean, Boolean, Brush, Line, Shape, TextBlock) | OnAxisSelected method is called when the axis is selected by the mouse. This method can be overridden in a derived class to customize the behaviour. | |
OnBackgroundCircleEnter | OnBackgroundCircleEnter | |
OnBackgroundCircleLeave | OnBackgroundCircleEnter | |
OnControlUpdated | OnControlUpdated | |
OnCreateAxisCircle | OnCreateAxisCircle method creates an Ellipse shape that will show the circle behind the axis name. This method can be overridden in a derived class to create a different Shape (note: the created Shape should have IsHitTestVisible set to false). | |
OnCreateAxisLine | OnCreateAxisLine method creates a TextBlock that will show the axis name (for example "X" or "-X"). This method can be overridden in a derived class to customize the behaviour (note: the created Line should have IsHitTestVisible set to false). | |
OnCreateAxisNameTextBlock | OnCreateAxisNameTextBlock method creates a TextBlock that will show the axis name (for example "X" or "-X") This method can be overridden in a derived class to customize the behaviour (note: the created TextBlock should have IsHitTestVisible set to false). | |
OnMouseEnter | OnMouseEnter method is called when the mouse enters the circular area of the CameraNavigationCircles. This method can be overridden in a derived class to customize the behaviour. | |
OnMouseLeave | OnMouseLeave method is called when the mouse leaves the circular area of the CameraNavigationCircles. This method can be overridden in a derived class to customize the behaviour. | |
OnTargetCameraChanged |
OnTargetCameraChanged
(Overrides BaseControllerControlOnTargetCameraChanged(BaseCamera, BaseCamera)) | |
UseYUpAxis | UseYUpAxis method calls the CustomizeAxes method with the following parameters: xAxisVector: new Vector3D(1, 0, 0), yAxisVector: new Vector3D(0, 1, 0), zAxisVector: new Vector3D(0, 0, 1) This sets common WPF 3D axis with the Y axis up and Z axis away from the screen. | |
UseZUpAxis | UseZUpAxis method calls the CustomizeAxes method with the following parameters: xAxisVector: new Vector3D(1, 0, 0), yAxisVector: new Vector3D(0, 0, -1), zAxisVector: new Vector3D(0, 1, 0) This sets the Z axis up and Y axis into the screen. |
Name | Description | |
---|---|---|
AxisClicked | ViewCubePlaneClicked event is fired when user clicks on ViewCube's Plane. The click is created when user presses mouse button and released it withing 1 second and does not move mouse for more than 2 pixels. Event handler can prevent processing click event with setting CancelEventHandling in ViewCubePlaneEventArgs to true. | |
AxisDeselected | ViewCubePlaneLeave event is fired when mouse leaves one of the ViewCube's Planes. | |
AxisSelected | ViewCubePlaneEnter event is fired when mouse enters one of the ViewCube's Planes. | |
BackgroundCircleEnter | RotationCircleEnter event is fired when mouse enters of the ViewCube's rotation circle. When and event handler is subscribed to this event, then the default code that sets the selection brush to the rotation circle is not executed. | |
BackgroundCircleLeave | RotationCircleLeave event is fired when mouse leaves of the ViewCube's rotation circle. When and event handler is subscribed to this event, then the default code that restores the selection brush to the rotation circle is not executed. | |
ControlUpdated | ControlUpdated event is fired after each change of this control. This can be used when we need to render this control to a bitmap to show it on an DXViewportView with DirectXOverview PresentationType. |
Name | Description | |
---|---|---|
axisCanvas | axisCanvas from the template | |
AxisCircleRadiusProperty | AxisCircleRadiusProperty | |
AxisLength3D | Axis length in the 3D space shown by this control. Default value is 100. After changing this value call CustomizeAxes method. | |
AxisLineThickness | Axis line thickness for the axis lines. Default value is 2. After changing this value call CustomizeAxes method. | |
AxisTextSizeProperty | AxisTextSizeProperty | |
AxisTypeProperty | AxisTypeProperty | |
backCanvas | backCanvas from the template | |
BackgroundCircleBrushProperty | BackgroundCircleBrushProperty | |
BackgroundCircleVisibilityProperty | BackgroundCircleVisibilityProperty | |
backgroundEllipse | backgroundEllipse from the template | |
CameraRotationAmount | Gets or sets a number of degrees for how much the camera will be rotated when user moves the mouse from one end of the CameraNavigationCircles to the other. Default value is 180. | |
contentPresenter | contentPresenter from the template | |
ContentProperty | ContentProperty | |
frontCanvas | frontCanvas from the template | |
IsCameraRotationEnabledProperty | IsCameraRotationEnabledProperty | |
IsRotateToAxisEnabledProperty | IsRotateToAxisEnabledProperty | |
MouseMoveThreshold | Gets or sets a double value that specifies how much user needs to move the mouse when pressing the button before rotation is started. If mouse if moved for the specified amount or less and the mouse button is released, this this is considers a mouse click. Default value is 1. | |
MouseOverCursor | Gets or sets a Cursor that is used when the mouse is over this control. Default value is Hand. | |
NegativeAxisCircleFillBrushProperty | NegativeAxisCircleFillBrushProperty | |
NegativeAxisCircleVisibilityProperty | NegativeAxisNameVisibilityProperty | |
NegativeAxisNameVisibilityProperty | NegativeAxisNameVisibilityProperty | |
NegativeAxisTextBrushProperty | NegativeAxisTextBrushProperty | |
PositiveAxisCircleFillBrushProperty | PositiveAxisCircleFillBrushProperty | |
PositiveAxisCircleVisibilityProperty | NegativeAxisNameVisibilityProperty | |
PositiveAxisNameVisibilityProperty | PositiveAxisNameVisibilityProperty | |
PositiveAxisTextBrushProperty | PositiveAxisTextBrushProperty | |
rootGrid | rootGrid from the template | |
SelectClosestAxis | Gets or sets a Boolean that specifies if the closest axis to the mouse is selected (when true). When false, then axis is selected only when mouse is over the axis circle. | |
targetPositionCamera | Camera used to show the axes |