DG Kernel (ActiveX) Documentation


Skip Navigation Links.
Start page
Quick Start
Search Page
Installation
What is new
Upgrading Native Apps
Licensing
Collapse ModelsModels
Collapse DG Kernel ControlsDG Kernel Controls
Collapse API ReferenceAPI Reference
Interface List
Vector Space
Collapse General GeometryGeneral Geometry
Collapse ModelModel
Collapse ViewView
Collapse General ComputingGeneral Computing
Collapse Samples and TutorialsSamples and Tutorials
Collapse GraphicsGraphics
Collapse Math ObjectsMath Objects
Collapse DeprecatedDeprecated
Redistribution
Model Viewer
Open Source
Support
Skip Navigation Links Go to DGKC docs Search Documentation


Pick Sample

Pick is a form application, which displays Light.mdg model. It demonstrates programming and handling selection of objects in 3D view by the end user.

The sample shows four different implementations of object selection based on three different approaches.

Running the application 

There are three groups of controls in the application related to three different ways of identification of the object at a point of the screen.   

Method one (Controls at the bottom): The DG Kernel Component can run in two modes: View and Modify. This is reflected by "Mode" radio buttons on the form of the application. In View mode the control works as normal rendering the model in 3D with rotation, zoom and pan. When "Select" option is on, mouse movements are blocked and mouse clicks are processed for selection of 3D objects in the view. Name of the selected object is displayed on the form.

Method two (Top right group of controls): It demonstrates a low-level detection of an object using GetItemAt method of  IPick_DG interface. Its edit boxes allow entering the current screen position. The point on the screen is displayed in the window with cross-hair lines. Pressing the "Detect Object" button will display name of the object at the point or "No Object" text with green color.

Method three (Mouse Hovering group of controls): It demonstrates an efficient way to display the object name using  the GetItemAt method and MouseHover event triggered by the component similarly to tool tips in Windows User Interface. To see it in action, place the mouse pointer over different objects in 3D view without clicking and see the blue label showing name of the object.

For the last two methods the "Current surface point" group displays coordinates of the selected point on the surface of the object. The radio buttons allow choosing axes, relative to which the coordinates are calculated. When "Local Frame" option is selected the coordinates are relative to the local frame of the picked object.  

Method four (Multiple Object Selection group of controls): It demonstrates multiple object selection via a selection rectangle and handling the notification event. To select several objects, turn on the "Notification Enabled" check box. In context menu of the DG Kernel control select Advanced>Edit>Select>Objects and define diagonal of a selection rectangle by clicking and dragging the mouse. When mouse is released the application processes the selection event and names of objects are displayed in the list

See also: Sample List.