CameraControls:
--------------------------------------------------------------------------
This function creates a GUI for manipulating the camera view.
Initialize by supplying an axis handle. If no input is provided it will
point to the current axis (gca).
This GUI does not provide direct control over the camera target.
Set the camera target of axes "h" to vector "v" with this command:
set(h,'cameratarget',v)
Move in/out changes the distance from the camera to the target.
Zoom in/out changes the view angle of the camera.
Adjust azimuth and elevation to change the orientation of the camera
while keeping the distance constant.
The azimuth and elevation angles are defined in a local xyz coordinate
frame.
x: along the direction of the camera target vector.
y: cross product of z and x, completes right-handed system
z: cross product of x and the supplied forward vector
Note that the "forward" vector is not an axis property, and so it must
be supplied directly to the CameraControls GUI.
See also: AnimationGUI.m
Since version 8.
--------------------------------------------------------------------------
USAGE:
% Initialize and use current axes (gca)
tag = CameraControls;
% Initialize with specified axes
tag = CameraControls( axisHandle );
% Set the forward vector
CameraControls( 'set forward vector', tag, forwardVector );
% Update the view
CameraControls( 'update', tag );
% Update the view with a new forward vector
CameraControls( 'update', tag, forwardVector );
--------------------------------------------------------------------------
------
Inputs
------
axisHandle (1,1) Handle to the axes for controlling the camera
-------
Outputs
-------
tag (1,:) Tag to the GUI.
--------------------------------------------------------------------------
Children:
Common: General/GetNewTag
Common: Transform/RotMat
Math: Linear/Cross
Math: Linear/Mag
Math: Linear/Unit