VisioMove SDK (iOS)  2.1.22
VgApplication::VgManipulator Class Referenceabstract

Public Member Functions

virtual ~VgManipulator ()
 
virtual std::string getType () const =0
 
virtual bool getBoundaries (VgEngine::VgPosition &pMinimumPosition, VgEngine::VgPosition &pMaximumPosition) const
 
virtual bool setBoundaries (const VgEngine::VgPosition &pMinimumPosition, const VgEngine::VgPosition &pMaximumPosition)
 
virtual bool setBoundaries (const std::vector< VgEngine::VgPosition > &pPositions, bool pAutoComputeMaxAltitude)
 
virtual void setListener (VgEngine::VgRefPtr< VgApplication::VgManipulatorListener > &pListener)
 
virtual void setAnchor (const VgEngine::VgPosition &pAnchor)
 
virtual void setMinRadius (double pMinRadius)
 
virtual void setMaxRadius (double pMaxRadius)
 

Protected Member Functions

 VgManipulator ()
 

Detailed Description

Controls the way the user interact with the Open GL surface.

Version
2.0.6931
2.1.19 Now includes methods from the removed subclasses Vg2DManipulator, Vg3DManipulator, VgSimpleGestureManipulator and VgSimpleTrackballManipulator.

Constructor & Destructor Documentation

virtual VgApplication::VgManipulator::~VgManipulator ( )
inlinevirtual

References getType().

VgApplication::VgManipulator::VgManipulator ( )
inlineprotected

Member Function Documentation

virtual bool VgApplication::VgManipulator::getBoundaries ( VgEngine::VgPosition pMinimumPosition,
VgEngine::VgPosition pMaximumPosition 
) const
inlinevirtual

Retrieves the current boundaries of the camera.

Note
This method is only relevant for the "2D", "3D" and "old2D" manipulators. It is a no-op returning false on other manipulators.
Parameters
pMinimumPositionUpdates with the minimum latitude, longitude, and altitude the camera is allowed to move.
pMaximumPositionUpdates with the maximum latitude, longitude, and altitude the camera is allowed to move
Returns
true.
Version
2.1.19 Moved from (removed) VgApplication::Vg2DManipulator to VgApplication::VgManipulator.
virtual std::string VgApplication::VgManipulator::getType ( ) const
pure virtual
Returns
The type identifier of the instance.

Referenced by ~VgManipulator().

virtual void VgApplication::VgManipulator::setAnchor ( const VgEngine::VgPosition pAnchor)
inlinevirtual

Set the anchor point around with the view will pivot.

Note
This method is only relevant for the "simpleTrackball" manipulator. It is a no-op on other manipulators.
Parameters
pAnchorposition of pivot.
Version
2.1.19 setAnchor was moved from (removed) VgApplication::VgSimpleTrackballManipulator to VgApplication::VgManipulator.
virtual bool VgApplication::VgManipulator::setBoundaries ( const VgEngine::VgPosition pMinimumPosition,
const VgEngine::VgPosition pMaximumPosition 
)
inlinevirtual

Set the boundaries where the camera can move. If the current camera position is outside this new boundary, the camera will be moved inside this new area.

The original values for the manipulators are set on the vg_config.xml or via the default values of the dataset It is usually smaller than that found on the dataset.

Remarks
you can use this URL https://developers.google.com/maps/documentation/utilities/polylineutility to try out different values
Setting the minimum and maximum altitude (mZOrAltitude) to be the same will still allow some interaction with the manipulator due to the "bounce" effect when one reaches the limits.
Note
This method is only relevant for the "2D", "3D" and "old2D" manipulators. It is a no-op returning false on other manipulators.
Parameters
pMinimumPositionMinimum latitude, longitude and altitude the camera is allowed to move.
pMaximumPositionMaximum latitude, longitude and altitude the camera is allowed to move. It supposes the all the values are greater than the values in pMinimumPosition
Returns
true.
See also
VgEngine::VgIDatabase::getCurrentDatasetDescriptor
Version
2.1.19 Moved from (removed) VgApplication::Vg2DManipulator to VgApplication::VgManipulator.
virtual bool VgApplication::VgManipulator::setBoundaries ( const std::vector< VgEngine::VgPosition > &  pPositions,
bool  pAutoComputeMaxAltitude 
)
inlinevirtual

Set the boundaries where the camera can move. If the current camera position is outside this new boundary, the camera will be moved inside this new area.

The original values for the manipulators are set on the vg_config.xml or via the default values of the dataset It is usually smaller than that found on the dataset.

Remarks
you can use this URL https://developers.google.com/maps/documentation/utilities/polylineutility to try out different values
Setting the minimum and maximum altitude (mZOrAltitude) to be the same will still allow some interaction with the manipulator due to the "bounce" effect when one reaches the limits.
Note
This method is only relevant for the "2D", "3D" and "old2D" manipulators. It is a no-op returning false on other manipulators.
Parameters
pPositionsSet of positions used to compute the boundaries. Note: the boundaries will be the bounding box of these positions, not the exact polygon described by them.
pAutoComputeMaxAltitudePass true to compute the best altitude automatically, using VgICamera::getViewpointFromPositions.
Version
2.1.4
2.1.19 Moved from (removed) VgApplication::Vg2DManipulator to VgApplication::VgManipulator.
virtual void VgApplication::VgManipulator::setListener ( VgEngine::VgRefPtr< VgApplication::VgManipulatorListener > &  pListener)
inlinevirtual

Sets the listener to simple gestures. It is notified once a simple gesture is recognized.

Note
This method is only relevant for the "simpleGesture" manipulator. It is a no-op on other manipulators.
Parameters
pListenerSimple gestures listener. Pass NULL to remove the current Listener.
Remarks
The listener won't be deleted in ~VgSimpleGestureManipulator(). The caller is responsible of its deletion.
Version
2.1.19 setListener was moved from (removed) VgApplication::VgSimpleGestureManipulator to VgApplication::VgManipulator.
virtual void VgApplication::VgManipulator::setMaxRadius ( double  pMaxRadius)
inlinevirtual

Set the maximum distance to the anchor point.

Note
This method is only relevant for the "simpleTrackball" manipulator. It is a no-op on other manipulators.
Parameters
pMaxRadiusThe maximum radius to set.
Version
2.1.19 setMaxRadius was moved from (removed) VgApplication::VgSimpleTrackballManipulator to VgApplication::VgManipulator.
virtual void VgApplication::VgManipulator::setMinRadius ( double  pMinRadius)
inlinevirtual

Set the minimum distance to the anchor point.

Note
This method is only relevant for the "simpleTrackball" manipulator. It is a no-op on other manipulators.
Parameters
pMinRadiusThe minimum radius to set.
Version
2.1.19 setMinRadius was moved from (removed) VgApplication::VgSimpleTrackballManipulator to VgApplication::VgManipulator.

The documentation for this class was generated from the following file:
VisioMove 2.1.22, Visioglobe® 2016