Fovia's C++ Client/Server API
Public Member Functions | List of all members
IPanAdaptor Struct Referenceabstract
Inheritance diagram for IPanAdaptor:
IMouseAdaptor IRoot

Public Member Functions

virtual signed int GetClickAndDrag (signed int *pVal)=0
 
virtual signed int SetClickAndDrag (const signed int val)=0
 
virtual signed int SetUpdateDistPerPixelOnMove (const signed int val)=0
 
virtual signed int SetVolumeDataMetrics (IVolumeDataContext *pVolume)=0
 
- Public Member Functions inherited from IMouseAdaptor
virtual signed int AskInterface (const BGUID *piid, IRoot **ppr)=0
 
virtual signed int DecRef ()=0
 
virtual signed int IncRef ()=0
 
virtual signed int MouseClicked (signed int x, signed int y)=0
 
virtual signed int MouseDragged (signed int x, signed int y)=0
 
virtual signed int MouseEntered (signed int x, signed int y)=0
 
virtual signed int MouseExited (signed int x, signed int y)=0
 
virtual signed int MouseManuallyMoved (signed int offsetX, signed int offsetY)=0
 
virtual signed int MouseMoved (signed int x, signed int y)=0
 
virtual signed int MousePressed (signed int x, signed int y)=0
 
virtual signed int MouseReleased (signed int x, signed int y)=0
 
virtual signed int SetRenderParamsReciever (IRenderParamsReceiver *pReceiver)=0
 
- Public Member Functions inherited from IRoot
template<class T >
signed int AskInterface (T **pp)
 

Detailed Description

Adaptor for panning via mouse interaction. In RT_PERSPECTIVE, if ClickAndDrag is set to H_TRUE, the pan operation operates at a speed that allows you to click on an object and drag it on screen at the same speed as the mouse cursor. Otherwise, the RENDER_PARAMS::Zoom parameter is used to determine an appropriate speed to keep the object moving at the same speed as the cursor in all rendering modes other than RT_PERSPECTIVE.

Use ILibrary::CreateObject() to create this object.

Listens to: MousePressed(), MouseDragged(), MouseReleased()

Member Function Documentation

virtual signed int IPanAdaptor::GetClickAndDrag ( signed int *  pVal)
pure virtual

Gets the ClickAndDrag field and puts it in the variable at address pVal. The default value is H_FALSE. In RT_PERSPECTIVE, if ClickAndDrag is set to H_TRUE, the pan operation operates at a speed that allows you to click on an object and drag it on screen. Otherwise, the RENDER_PARAMS::Zoom parameter is used to determine an appropriate speed to keep the object moving at the same speed as the cursor in all rendering modes other than RT_PERSPECTIVE.

Parameters
pValThe address of the variable to get the field's value.
virtual signed int IPanAdaptor::SetClickAndDrag ( const signed int  val)
pure virtual

Sets the ClickAndDrag field to val. The default value is 0.01. In RT_PERSPECTIVE, if ClickAndDrag is set to H_TRUE, the pan operation operates at a speed that allows you to click on an object and drag it on screen. Otherwise, the RENDER_PARAMS::Zoom parameter is used to determine an appropriate speed to keep the object moving at the same speed as the cursor in all rendering modes other than RT_PERSPECTIVE.

Parameters
valThe new ClickAndDrag value.
virtual signed int IPanAdaptor::SetUpdateDistPerPixelOnMove ( const signed int  val)
pure virtual

This method is designed for use with applications where the RENDER_PARAMS::Zoom value is expected to change furing mouse panning. Such a use case might be a touch-screen application where the user can pan and zoom at the same time using multi-touch.

Parameters
valIf set to H_TRUE the IPanAdaptor will recompute the volume pan distance per mouse move each time the IPanAdaptor::MouseDragged() method is called by the operating system specific mouse handler.
virtual signed int IPanAdaptor::SetVolumeDataMetrics ( IVolumeDataContext pVolume)
pure virtual

Before using this adaptor during interaction, you should call this function to appropriately initialize the object. Similarly, if the dataset changes on the attached render engine, this function should be called.

Parameters
pVolumeThe volume data attacjed to the engine attached to this object.