DG Kernel Documentation


Skip Navigation Links.
Start page
Quick Start
Search Page
Installation
Overview of the software
What is new
Licensing
Collapse ModelsModels
Collapse DG Kernel ComponentsDG Kernel Components
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 Search Documentation


ILookAt Interface

LookAt
LookAtItem
LookAtFrame
LookAtModel

ILookAt interface gives a simplified way to orient a frame (local axes) in 3D space. The interface was added for modification of direction of view, or more precisely orientation of local frame, of a View Point.

Query path: DG Kernel > GetView > IViewPointArray > GetAt > IViewPoint > ILookAt (Persistent View Points).

Query path: DG Kernel > GetView > IViewPoint > ILookAt (Transient View Point).

See also Concepts of 3D Graphics, Point Of View Sample, Interface List


HRESULT LookAt(DIPoint* point, DIVect* dirUp)

Parameters

point - [in] Point to look at

 dirUp - [in] Vector to identify up direction

Returns

DISP_E_PARAMNOTOPTIONAL  if point coincides with location of this frame.

Remarks:

The method will orient the frame, which implements this interface, so that its z axis points towards point and its y axis points in direction determined by dirUp. Note that dirUp does not have to be precise. Normally it is direction (0,1,0) from the floor up. It is adjusted as appropriate by the software.

The method will fail if point coincides with location of the frame (location of View Point).


HRESULT LookAtItem(IItem* iItem, DIVect* dirUp)

Parameters

iItem - [in] IItem implemented by n item in the model

 dirUp - [in] Vector to identify up direction

Returns:

DISP_E_PARAMNOTOPTIONAL  if center of iItem coincides with location of this frame.

Remarks:

Call to this method  is equivalent to LookAt(point, dirUp), where point is center of bounding box of the item if the item has a bounding box or location of the item.


HRESULT LookAtFrame(I3DObject* i3DObject, DIVect* dirUp)

Parameters

i3DObject - [in] I3DObject implemented by the object to be looked at.

 dirUp - [in] Vector to identify up direction

Returns:

DISP_E_PARAMNOTOPTIONAL  if origin of i3DObject coincides with location of this frame.

Remarks:

Call to this method  is equivalent to LookAt(point, dirUp), where point is the origin of the frame.


HRESULT LookAtModel(IModel* iModel, DIVect* dirUp)

Parameters

iModel - [in] IModel interface of the current model.

dirUp - [in] Vector to identify up direction 

Returns

DISP_E_PARAMNOTOPTIONAL  if center of the model coincides with location of this frame.

Remarks:

Call to this method  is equivalent to LookAt(point, dirUp), where point is center of bounding box of the model.