Show / Hide Table of Contents

Class GraphicControl

Displays graphical objects in a 3D view

Inheritance
object
MarshalByRefObject
Component
Control
ScrollableControl
ContainerControl
UserControl
GraphicControl
Namespace: ABB.Robotics.RobotStudio.Stations.Forms
Assembly: ABB.Robotics.RobotStudio.Stations.dll
Syntax
public sealed class GraphicControl : UserControl

Constructors

View Source

GraphicControl()

Creates a new GraphicControl using default settings.

Declaration
public GraphicControl()
View Source

GraphicControl(GraphicControlSettings)

Creates a new GraphicControl using the specified settings.

Declaration
public GraphicControl(GraphicControlSettings settings)
Parameters
Type Name Description
GraphicControlSettings settings

Properties

View Source

ActiveGraphicControl

Declaration
[Browsable(false)]
public static GraphicControl ActiveGraphicControl { get; }
Property Value
Type Description
GraphicControl
View Source

AdvancedLighting

Declaration
public bool AdvancedLighting { get; set; }
Property Value
Type Description
bool
View Source

AutoTransparency

Gets or sets if objects that cover a large part of the view should automatically be made transparent.

Declaration
public bool AutoTransparency { get; set; }
Property Value
Type Description
bool
View Source

BackColor

Gets or sets the background color.

Declaration
public override Color BackColor { get; set; }
Property Value
Type Description
Color
Overrides
Control.BackColor
View Source

BackFaceCulling

Gets or sets a value indicating whether surfaces facing away from the viewer will be discarded.

Declaration
public bool BackFaceCulling { get; set; }
Property Value
Type Description
bool
View Source

Buttons

Declaration
public GraphicButtonCollection Buttons { get; }
Property Value
Type Description
GraphicButtonCollection
View Source

Camera

Associates this view with a Camera object.

Declaration
[Browsable(false)]
public Camera Camera { get; set; }
Property Value
Type Description
Camera
Remarks

If the Camera property is non-null, the view will be controlled by the camera object. If the camera moves, the viewpoint will move accordingly. If the camera is locked, the user will not be able to zoom/rotate/translate the view.

View Source

Capabilities

Returns information about the capabilities of the graphics adapter used for rendering a GraphicControl.

Declaration
public static GraphicCapabilities Capabilities { get; }
Property Value
Type Description
GraphicCapabilities
View Source

CaptureMouse

Gets or sets whether the control will receive mouse events even when the mouse is outside the control area.

Declaration
[Browsable(false)]
public bool CaptureMouse { get; set; }
Property Value
Type Description
bool
View Source

ClipPlane

Associates this view with a ClipPlane object.

Declaration
[Browsable(false)]
public ClipPlane ClipPlane { get; set; }
Property Value
Type Description
ClipPlane
Remarks

All geometry in the negative z space of the ClipPlane transform will be hidden.

View Source

Cursor

Declaration
public override Cursor Cursor { get; set; }
Property Value
Type Description
Cursor
Overrides
Control.Cursor
View Source

DetailLevel

Gets or sets a value indicating the detail in which geometric objects are rendered.

Declaration
public GraphicDetailLevel DetailLevel { get; set; }
Property Value
Type Description
GraphicDetailLevel
View Source

EnableGameControllerNavigation

Declaration
public bool EnableGameControllerNavigation { get; set; }
Property Value
Type Description
bool
View Source

EnableTouchNavigation

Declaration
public bool EnableTouchNavigation { get; set; }
Property Value
Type Description
bool
View Source

EnvironmentMapping

Gets or sets a value indicating whether a reflective effect will be applied.

Declaration
[Browsable(false)]
[Obsolete("No longer supported")]
public bool EnvironmentMapping { get; set; }
Property Value
Type Description
bool
View Source

FieldOfView

Gets or sets the angular extent of the view (in degrees).

Declaration
public double FieldOfView { get; set; }
Property Value
Type Description
double
View Source

FloorAutoSize

Gets or sets a value indicating whether the floor will be automatically resized according to the contents of the station.

Declaration
public bool FloorAutoSize { get; set; }
Property Value
Type Description
bool
View Source

FloorColor

Gets or sets the color of the floor. The floor can be made transparent by setting the alpha component to less than 255.

Declaration
public Color FloorColor { get; set; }
Property Value
Type Description
Color
View Source

FloorSize

Gets or sets the size of the floor.

Declaration
public RectangleF FloorSize { get; set; }
Property Value
Type Description
RectangleF
View Source

GradientBackground

Gets or sets a value indicating whether the control will have a gradient background.

Declaration
public bool GradientBackground { get; set; }
Property Value
Type Description
bool
View Source

GridSpaceX

Gets or sets the spacing of the UCS grid in the x direction.

Declaration
public double GridSpaceX { get; set; }
Property Value
Type Description
double
View Source

GridSpaceY

Gets or sets the spacing of the UCS grid in the y direction.

Declaration
public double GridSpaceY { get; set; }
Property Value
Type Description
double
View Source

KeyTips

A collection of GraphicKeyTip objects that can be displayed in the bottom part of the view.

Declaration
public ICollection<GraphicKeyTip> KeyTips { get; }
Property Value
Type Description
ICollection<GraphicKeyTip>
View Source

LookAt

Gets or sets the point which will act as the center of the view.

Declaration
public Vector3 LookAt { get; set; }
Property Value
Type Description
Vector3
View Source

LookFrom

Gets or sets the point of view.

Declaration
public Vector3 LookFrom { get; set; }
Property Value
Type Description
Vector3
View Source

MultiSampleCount

Declaration
public int MultiSampleCount { get; set; }
Property Value
Type Description
int
View Source

NavigationSensitivity

Gets or sets the responsiveness of mouse navigation.

Declaration
public double NavigationSensitivity { get; set; }
Property Value
Type Description
double
View Source

Picker

Gets the object which will handle mouse selection.

Declaration
[Browsable(false)]
public GraphicPicker Picker { get; }
Property Value
Type Description
GraphicPicker
View Source

PickingEnabled

Gets or sets whether mouse selection is enabled.

Declaration
public bool PickingEnabled { get; set; }
Property Value
Type Description
bool
View Source

Projection

Gets or sets a value indicating how 3D objects are projected.

Declaration
public GraphicProjection Projection { get; set; }
Property Value
Type Description
GraphicProjection
View Source

RenderDynamic

Declaration
[Browsable(false)]
public static bool RenderDynamic { get; set; }
Property Value
Type Description
bool
View Source

Representation

Gets or sets the manner in which solid objects will be rendered.

Declaration
public GraphicRepresentation Representation { get; set; }
Property Value
Type Description
GraphicRepresentation
View Source

RootObject

Gets or sets the root of the object hierarchy which will be displayed.

Declaration
[Browsable(false)]
public ProjectObject RootObject { get; set; }
Property Value
Type Description
ProjectObject
View Source

ScreenSizeCulling

Gets or sets the (approximate) minimum number of pixels an object must cover to be rendered.

Declaration
public double ScreenSizeCulling { get; set; }
Property Value
Type Description
double
View Source

ShowButtons

Gets or sets a value indicating if click buttons can be shown in this GraphicControl.

Declaration
public bool ShowButtons { get; set; }
Property Value
Type Description
bool
View Source

ShowCoordinateSystem

Gets or sets a value indicating if a coordinate system is displayed in the lower left corner.

Declaration
public bool ShowCoordinateSystem { get; set; }
Property Value
Type Description
bool
View Source

ShowFloor

Gets or sets a value indicating if a rectangular "floor" will be displayed at z = 0.

Declaration
public bool ShowFloor { get; set; }
Property Value
Type Description
bool
View Source

ShowKeyTips

Gets or sets if a row of GraphicKeyTip objects are displayed in the bottom part of the view.

Declaration
public bool ShowKeyTips { get; set; }
Property Value
Type Description
bool
View Source

ShowUCSFrame

Gets or sets a value indicating whether a frame representing UCS will be displayed.

Declaration
public bool ShowUCSFrame { get; set; }
Property Value
Type Description
bool
View Source

ShowUCSGrid

Gets or sets a value indicating whether a grid representing UCS will be displayed.

Declaration
public bool ShowUCSGrid { get; set; }
Property Value
Type Description
bool
View Source

StereoMode

Declaration
public GraphicStereoMode StereoMode { get; set; }
Property Value
Type Description
GraphicStereoMode
View Source

SuspendRedraw

Suspends redraw of the graphics view.

Declaration
[Browsable(false)]
public bool SuspendRedraw { get; set; }
Property Value
Type Description
bool
View Source

SuspendUpdate

Suspends automatic update of graphics models during simulation and idle processing.

Declaration
public static bool SuspendUpdate { get; set; }
Property Value
Type Description
bool
View Source

TemporaryGraphics

Gets the TemporaryGraphicCollection that is displayed in this control.

Declaration
[Browsable(false)]
public TemporaryGraphicCollection TemporaryGraphics { get; set; }
Property Value
Type Description
TemporaryGraphicCollection
View Source

TwoSidedLighting

Gets or sets a value indicating whether surfaces facing away from the viewer will be lit and shaded.

Declaration
[Obsolete("Two-sided lighting is always enabled")]
public bool TwoSidedLighting { get; set; }
Property Value
Type Description
bool

Methods

View Source

CalcFreehand(Vector3, Vector3, Point, Point, bool)

Calculates how movement of the mouse in window coordinates corresponds to linear movement or rotation of an object in 3D.

Declaration
public double CalcFreehand(Vector3 startPoint, Vector3 direction, Point mouse1, Point mouse2, bool rotate)
Parameters
Type Name Description
Vector3 startPoint

Reference point for the object.

Vector3 direction

Direction in which to move the object, or axis around which to rotate the obejct.

Point mouse1

First mouse position.

Point mouse2

Second mouse position.

bool rotate

Calculate rotation rather than linear movement.

Returns
Type Description
double

The delta (in m or radians) that the object should be moved or rotated.

View Source

CanExamineObject(ProjectObject)

Checks whether an object can be examined.

Declaration
public bool CanExamineObject(ProjectObject obj)
Parameters
Type Name Description
ProjectObject obj

The graphic object.

Returns
Type Description
bool
View Source

CanUnexamine()

Returns true if Unexamine(float) can be called.

Declaration
public bool CanUnexamine()
Returns
Type Description
bool
View Source

CopySettings(GraphicControl, GraphicControl)

Copies all view and picker settings from one GraphicControl to another.

Declaration
public static void CopySettings(GraphicControl from, GraphicControl to)
Parameters
Type Name Description
GraphicControl from
GraphicControl to
View Source

Dispose(bool)

Declaration
protected override void Dispose(bool disposing)
Parameters
Type Name Description
bool disposing
Overrides
ContainerControl.Dispose(bool)
View Source

ExamineBox(BoundingBox, Vector3, float)

Zooms in on a bounding box.

Declaration
public void ExamineBox(BoundingBox boundingBox, Vector3 lookDirection, float time)
Parameters
Type Name Description
BoundingBox boundingBox

The bounding box to examine.

Vector3 lookDirection

Look direction

float time

Time (in seconds) for the operation.

View Source

ExamineBox(BoundingBox, float)

Zooms in on a bounding box.

Declaration
public void ExamineBox(BoundingBox boundingBox, float time)
Parameters
Type Name Description
BoundingBox boundingBox

The bounding box to examine.

float time

Time (in seconds) for the operation.

View Source

ExamineObject(ProjectObject, Vector3, float)

Zooms in on an object.

Declaration
public void ExamineObject(ProjectObject obj, Vector3 lookDirection, float time)
Parameters
Type Name Description
ProjectObject obj

The graphic object.

Vector3 lookDirection

Look direction

float time

Time (in seconds) for the operation.

View Source

ExamineObject(ProjectObject, float)

Zooms in on an object.

Declaration
public void ExamineObject(ProjectObject obj, float time)
Parameters
Type Name Description
ProjectObject obj

The graphic object.

float time

Time (in seconds) for the operation.

View Source

ExaminePoint(Vector3, double, float)

Zooms in on a point.

Declaration
public void ExaminePoint(Vector3 point, double radius, float time)
Parameters
Type Name Description
Vector3 point
double radius
float time

Time (in seconds) for the operation

View Source

FlyTo(Vector3, Vector3, float)

Adjusts the view.

Declaration
public void FlyTo(Vector3 lookAt, Vector3 lookFrom, float time)
Parameters
Type Name Description
Vector3 lookAt

The point which will act as the center of the view

Vector3 lookFrom

Point of view

float time

Time (in seconds) for the operation.

View Source

GetAllGraphicControls()

Returns an array containing all graphic controls in the process.

Declaration
public static GraphicControl[] GetAllGraphicControls()
Returns
Type Description
GraphicControl[]
View Source

GetObjectVisible(ProjectObject, bool)

Gets a value indicating whether an object is visible in this GraphicControl.

Declaration
public bool GetObjectVisible(ProjectObject obj, bool recursive)
Parameters
Type Name Description
ProjectObject obj

The graphic object.

bool recursive

Return true only if all descendants are visible.

Returns
Type Description
bool
View Source

GetView()

Returns the underlying GraphicView object.

Declaration
[CLSCompliant(false)]
public IApiGfxView GetView()
Returns
Type Description
IApiGfxView
Remarks

Internal use only.

View Source

IsStereoModeAvailable(GraphicStereoMode)

Returns true if the given stereo mode is currently available

Declaration
public static bool IsStereoModeAvailable(GraphicStereoMode mode)
Parameters
Type Name Description
GraphicStereoMode mode
Returns
Type Description
bool
View Source

LoadOptions()

Load properties from options.

Declaration
public void LoadOptions()
View Source

LoadOptions(bool)

Load properties from options.

Declaration
public void LoadOptions(bool loadDefaults)
Parameters
Type Name Description
bool loadDefaults

Also load default properties for appearance.

View Source

Move(Vector3, Vector3, float)

Adjusts the view to a new center and view point.

Declaration
public void Move(Vector3 lookAt, Vector3 lookFrom, float time)
Parameters
Type Name Description
Vector3 lookAt

Center point.

Vector3 lookFrom

V point.

float time

Time (in seconds) for the operation.

View Source

OnEnter(EventArgs)

Declaration
protected override void OnEnter(EventArgs e)
Parameters
Type Name Description
EventArgs e
Overrides
Control.OnEnter(EventArgs)
View Source

OnHandleCreated(EventArgs)

Declaration
protected override void OnHandleCreated(EventArgs e)
Parameters
Type Name Description
EventArgs e
Overrides
Control.OnHandleCreated(EventArgs)
View Source

OnKeyDown(KeyEventArgs)

Declaration
protected override void OnKeyDown(KeyEventArgs e)
Parameters
Type Name Description
KeyEventArgs e
Overrides
Control.OnKeyDown(KeyEventArgs)
View Source

OnSizeChanged(EventArgs)

Declaration
protected override void OnSizeChanged(EventArgs e)
Parameters
Type Name Description
EventArgs e
Overrides
Control.OnSizeChanged(EventArgs)
View Source

Pan(float, float, float)

Pans the view.

Declaration
public void Pan(float x, float y, float time)
Parameters
Type Name Description
float x

Equivalent to the number of pixels the mouse would move horizontally to pan the same amount.

float y

Equivalent to the number of pixels the mouse would move vertically to pan the same amount.

float time

Time (in seconds) for the operation.

View Source

ProjectPoint(int, int)

Returns the point in 3D that corresponds to a window coordinate.

Declaration
public Vector3? ProjectPoint(int x, int y)
Parameters
Type Name Description
int x

Window x coordinate (relative to upper left corner of this).

int y

Window y coordinate (relative to upper left corner of this).

Returns
Type Description
Vector3?

Point in 3D space, or null if there is no object/floor at the specified coordinate.

View Source

ProjectPoint(int, int, out ProjectObject)

Returns the point in 3D that corresponds to a window coordinate, and the object at that point.

Declaration
public Vector3? ProjectPoint(int x, int y, out ProjectObject hitObject)
Parameters
Type Name Description
int x

Window x coordinate (relative to upper left corner of this).

int y

Window y coordinate (relative to upper left corner of this).

ProjectObject hitObject

Object (Part or Face) at the specified coordinate

Returns
Type Description
Vector3?

Point in 3D space, or null if there is no object/floor at the specified coordinate.

Remarks

Does not take into account selection modes and snap modes

View Source

ProjectPointOnFloor(int, int, bool)

Declaration
public Vector3? ProjectPointOnFloor(int x, int y, bool snapToUCSGrid)
Parameters
Type Name Description
int x
int y
bool snapToUCSGrid
Returns
Type Description
Vector3?
View Source

ProjectPointToScreen(Vector3)

Projects a point in 3D space (x,y,z) to window coordinates (x,y) relative to the upper left corner of this control.

Declaration
public Point ProjectPointToScreen(Vector3 point)
Parameters
Type Name Description
Vector3 point
Returns
Type Description
Point
View Source

ProjectPointsToScreen(IEnumerable<Vector3>)

Projects points in 3D space (x,y,z) to window coordinates (x,y) relative to the upper left corner of this control.

Declaration
public IEnumerable<Point> ProjectPointsToScreen(IEnumerable<Vector3> points)
Parameters
Type Name Description
IEnumerable<Vector3> points
Returns
Type Description
IEnumerable<Point>
View Source

ProjectRay(Vector3, Vector3, out ProjectObject)

Performs a ray test

Declaration
public Vector3? ProjectRay(Vector3 start, Vector3 direction, out ProjectObject hitObject)
Parameters
Type Name Description
Vector3 start

Start of the ray in world coordinates

Vector3 direction

Direction of the ray in world coordinates

ProjectObject hitObject

Hit object (Part or Face)

Returns
Type Description
Vector3?

Hit point, or null if no object or floor was hit

Remarks

Does not take into account selection modes and snap modes

View Source

RayFromPoint(int, int)

Returns a ray in 3D space that corresponds to a screen coordinate

Declaration
public Ray RayFromPoint(int x, int y)
Parameters
Type Name Description
int x
int y
Returns
Type Description
Ray
View Source

Rotate(float, float, float)

Rotates the view around the center point.

Declaration
public void Rotate(float x, float y, float time)
Parameters
Type Name Description
float x

Equivalent to the number of pixels the mouse would move horizontally to rotate the same amount.

float y

Equivalent to the number of pixels the mouse would move vertically to rotate the same amount.

float time

Time (in seconds) for the operation.

View Source

ScreenShot()

Creates an image from this view.

Declaration
public Bitmap ScreenShot()
Returns
Type Description
Bitmap
View Source

ScreenShot(ProjectObject, int, int, ScreenshotOptions)

Creates an image of a specified object.

Declaration
public Bitmap ScreenShot(ProjectObject obj, int width, int height, ScreenshotOptions options)
Parameters
Type Name Description
ProjectObject obj
int width
int height
ScreenshotOptions options
Returns
Type Description
Bitmap
Remarks

Width and height must not be larger than Capabilities.MaxTextureSize.

View Source

ScreenShot(ProjectObject, int, int, ScreenshotOptions, Vector3)

Creates an image of a specified object.

Declaration
public Bitmap ScreenShot(ProjectObject obj, int width, int height, ScreenshotOptions options, Vector3 lookDirection)
Parameters
Type Name Description
ProjectObject obj
int width
int height
ScreenshotOptions options
Vector3 lookDirection
Returns
Type Description
Bitmap
Remarks

Width and height must not be larger than Capabilities.MaxTextureSize.

View Source

ScreenShot(ProjectObject, int, int, ScreenshotOptions, Vector3, float)

Creates an image of a specified object.

Declaration
public Bitmap ScreenShot(ProjectObject obj, int width, int height, ScreenshotOptions options, Vector3 lookDirection, float zoom)
Parameters
Type Name Description
ProjectObject obj
int width
int height
ScreenshotOptions options
Vector3 lookDirection
float zoom
Returns
Type Description
Bitmap
Remarks

Width and height must not be larger than Capabilities.MaxTextureSize.

View Source

ScreenShot(ScreenshotOptions)

Creates an image from this view.

Declaration
public Bitmap ScreenShot(ScreenshotOptions options)
Parameters
Type Name Description
ScreenshotOptions options
Returns
Type Description
Bitmap
View Source

ScreenShot(int, int)

Creates an image of specified size from this view.

Declaration
public Bitmap ScreenShot(int width, int height)
Parameters
Type Name Description
int width
int height
Returns
Type Description
Bitmap
View Source

ScreenShot(int, int, ScreenshotOptions)

Creates an image of specified size from this view.

Declaration
public Bitmap ScreenShot(int width, int height, ScreenshotOptions options)
Parameters
Type Name Description
int width
int height
ScreenshotOptions options
Returns
Type Description
Bitmap
Remarks

Width and height must not be larger than Capabilities.MaxTextureSize.

View Source

SetObjectVisible(ProjectObject, bool)

Sets a value indicating whether an object is visible in this GraphicControl.

Declaration
public void SetObjectVisible(ProjectObject obj, bool value)
Parameters
Type Name Description
ProjectObject obj
bool value
View Source

SyncCamera(Camera, bool, float)

Syncs the view with a Camera object.

Declaration
public void SyncCamera(Camera camera, bool updateView, float time)
Parameters
Type Name Description
Camera camera

Camera object.

bool updateView

If true, move view to camera; if false, move camera to view.

float time

Time (in seconds) for the operation (if updateView=true).

View Source

Unexamine(float)

Undoes the previous Examine operation(s).

Declaration
public void Unexamine(float time)
Parameters
Type Name Description
float time

Time (in seconds) for the operation.

View Source

Update()

Ensures that the graphics gets updated to reflect recent changes.

Declaration
public void Update()
Remarks

There is normally no need to call this function since the graphics are updated automatically during idle processing and simulation.

View Source

UpdateAll()

Updates the contents of all graphic controls.

Declaration
public static void UpdateAll()
Remarks

There is normally no need to call this function since the graphics are updated automatically during idle processing and simulation.

View Source

ViewAll(Vector3, float)

Adjusts the view to display all objects from a new direction.

Declaration
public void ViewAll(Vector3 direction, float time)
Parameters
Type Name Description
Vector3 direction

New view direction.

float time

Time (in seconds) for the operation.

View Source

ViewAll(float)

Adjusts the view to display all objects without changing the view direction.

Declaration
public void ViewAll(float time)
Parameters
Type Name Description
float time

Time (in seconds) for the operation.

View Source

ViewCenter(Vector3, float)

Sets the view center.

Declaration
public void ViewCenter(Vector3 center, float time)
Parameters
Type Name Description
Vector3 center

The point around which azimuth and altitude changes when changing the viewpoint.

float time

Time (in seconds) for the operation.

View Source

Zoom(float, float)

Zooms the view closer to or further from the center point.

Declaration
public void Zoom(float amount, float time)
Parameters
Type Name Description
float amount

Equivalent to the number of pixels the mouse would move to zoom the same amount. Use a positive value to zoom in and a negative to zoom out.

float time

Time (in seconds) for the operation.

Events

View Source

ActiveGraphicControlChanged

Declaration
public static event EventHandler ActiveGraphicControlChanged
Event Type
Type Description
EventHandler
View Source

GraphicButtonClicked

Declaration
public event Action<GraphicButton> GraphicButtonClicked
Event Type
Type Description
Action<GraphicButton>
View Source

GraphicButtonTracked

Declaration
public event Action<GraphicButton> GraphicButtonTracked
Event Type
Type Description
Action<GraphicButton>
View Source

Initialized

Occurs when the control has finished loading.

Declaration
public event EventHandler Initialized
Event Type
Type Description
EventHandler
View Source

MouseRectangle

Occurs when the user has drawn a selection rectangle with the mouse.

Declaration
public event MouseRectangleEventHandler MouseRectangle
Event Type
Type Description
MouseRectangleEventHandler
View Source

RootObjectChanged

Occurs when the RootObject property has changed.

Declaration
public event EventHandler RootObjectChanged
Event Type
Type Description
EventHandler
  • View Source
In this article
Back to top Copyright © 2025 ABB