|
virtual int | IsA (const char *type) |
|
vtkCameraInterpolator * | NewInstance () const |
|
void | PrintSelf (ostream &os, vtkIndent indent) |
|
int | GetNumberOfCameras () |
|
void | Initialize () |
|
void | AddCamera (double t, vtkCamera *camera) |
|
void | RemoveCamera (double t) |
|
void | InterpolateCamera (double t, vtkCamera *camera) |
|
unsigned long | GetMTime () |
|
|
double | GetMinimumT () |
|
double | GetMaximumT () |
|
|
virtual void | SetInterpolationType (int) |
|
virtual int | GetInterpolationType () |
|
void | SetInterpolationTypeToLinear () |
|
void | SetInterpolationTypeToSpline () |
|
void | SetInterpolationTypeToManual () |
|
|
virtual void | SetPositionInterpolator (vtkTupleInterpolator *) |
|
virtual vtkTupleInterpolator * | GetPositionInterpolator () |
|
|
virtual void | SetFocalPointInterpolator (vtkTupleInterpolator *) |
|
virtual vtkTupleInterpolator * | GetFocalPointInterpolator () |
|
|
virtual void | SetViewUpInterpolator (vtkTupleInterpolator *) |
|
virtual vtkTupleInterpolator * | GetViewUpInterpolator () |
|
|
virtual void | SetViewAngleInterpolator (vtkTupleInterpolator *) |
|
virtual vtkTupleInterpolator * | GetViewAngleInterpolator () |
|
|
virtual void | SetParallelScaleInterpolator (vtkTupleInterpolator *) |
|
virtual vtkTupleInterpolator * | GetParallelScaleInterpolator () |
|
|
virtual void | SetClippingRangeInterpolator (vtkTupleInterpolator *) |
|
virtual vtkTupleInterpolator * | GetClippingRangeInterpolator () |
|
vtkObject * | NewInstance () const |
|
virtual void | DebugOn () |
|
virtual void | DebugOff () |
|
bool | GetDebug () |
|
void | SetDebug (bool debugFlag) |
|
virtual void | Modified () |
|
unsigned long | AddObserver (unsigned long event, vtkCommand *, float priority=0.0f) |
|
unsigned long | AddObserver (const char *event, vtkCommand *, float priority=0.0f) |
|
vtkCommand * | GetCommand (unsigned long tag) |
|
void | RemoveObserver (vtkCommand *) |
|
void | RemoveObservers (unsigned long event, vtkCommand *) |
|
void | RemoveObservers (const char *event, vtkCommand *) |
|
int | HasObserver (unsigned long event, vtkCommand *) |
|
int | HasObserver (const char *event, vtkCommand *) |
|
void | RemoveObserver (unsigned long tag) |
|
void | RemoveObservers (unsigned long event) |
|
void | RemoveObservers (const char *event) |
|
void | RemoveAllObservers () |
|
int | HasObserver (unsigned long event) |
|
int | HasObserver (const char *event) |
|
template<class U , class T > |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f) |
|
template<class U , class T > |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
|
template<class U , class T > |
unsigned long | AddObserver (unsigned long event, U observer, bool(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
|
int | InvokeEvent (unsigned long event, void *callData) |
|
int | InvokeEvent (const char *event, void *callData) |
|
int | InvokeEvent (unsigned long event) |
|
int | InvokeEvent (const char *event) |
|
const char * | GetClassName () const |
|
virtual void | Delete () |
|
virtual void | FastDelete () |
|
void | Print (ostream &os) |
|
virtual void | Register (vtkObjectBase *o) |
|
virtual void | UnRegister (vtkObjectBase *o) |
|
void | SetReferenceCount (int) |
|
void | PrintRevisions (ostream &) |
|
virtual void | PrintHeader (ostream &os, vtkIndent indent) |
|
virtual void | PrintTrailer (ostream &os, vtkIndent indent) |
|
int | GetReferenceCount () |
|
interpolate a series of cameras to update a new camera
This class is used to interpolate a series of cameras to update a specified camera. Either linear interpolation or spline interpolation may be used. The instance variables currently interpolated include position, focal point, view up, view angle, parallel scale, and clipping range.
To use this class, specify the type of interpolation to use, and add a series of cameras at various times "t" to the list of cameras from which to interpolate. Then to interpolate in between cameras, simply invoke the function InterpolateCamera(t,camera) where "camera" is the camera to be updated with interpolated values. Note that "t" should be in the range (min,max) times specified with the AddCamera() method. If outside this range, the interpolation is clamped. This class copies the camera information (as compared to referencing the cameras) so you do not need to keep separate instances of the camera around for each camera added to the list of cameras to interpolate.
- Warning
- The interpolator classes are initialized the first time InterpolateCamera() is called. Any later changes to the interpolators, or additions to the list of cameras to be interpolated, causes a reinitialization of the interpolators the next time InterpolateCamera() is invoked. Thus the best performance is obtained by 1) configuring the interpolators, 2) adding all the cameras, and 3) finally performing interpolation.
-
Currently position, focal point and view up are interpolated to define the orientation of the camera. Quaternion interpolation may be added in the future as an alternative interpolation method for camera orientation.
- Examples:
- vtkCameraInterpolator (Examples)
- Tests:
- vtkCameraInterpolator (Tests)
Definition at line 66 of file vtkCameraInterpolator.h.
virtual void vtkCameraInterpolator::SetInterpolationType |
( |
int |
| ) |
|
|
virtual |
These are convenience methods to switch between linear and spline interpolation. The methods simply forward the request for linear or spline interpolation to the instance variable interpolators (i.e., position, focal point, clipping range, orientation, etc.) interpolators. Note that if the InterpolationType is set to "Manual", then the interpolators are expected to be directly manipulated and this class does not forward the request for interpolation type to its interpolators.
virtual int vtkCameraInterpolator::GetInterpolationType |
( |
| ) |
|
|
virtual |
These are convenience methods to switch between linear and spline interpolation. The methods simply forward the request for linear or spline interpolation to the instance variable interpolators (i.e., position, focal point, clipping range, orientation, etc.) interpolators. Note that if the InterpolationType is set to "Manual", then the interpolators are expected to be directly manipulated and this class does not forward the request for interpolation type to its interpolators.
void vtkCameraInterpolator::SetInterpolationTypeToLinear |
( |
| ) |
|
|
inline |
These are convenience methods to switch between linear and spline interpolation. The methods simply forward the request for linear or spline interpolation to the instance variable interpolators (i.e., position, focal point, clipping range, orientation, etc.) interpolators. Note that if the InterpolationType is set to "Manual", then the interpolators are expected to be directly manipulated and this class does not forward the request for interpolation type to its interpolators.
Definition at line 125 of file vtkCameraInterpolator.h.
void vtkCameraInterpolator::SetInterpolationTypeToSpline |
( |
| ) |
|
|
inline |
These are convenience methods to switch between linear and spline interpolation. The methods simply forward the request for linear or spline interpolation to the instance variable interpolators (i.e., position, focal point, clipping range, orientation, etc.) interpolators. Note that if the InterpolationType is set to "Manual", then the interpolators are expected to be directly manipulated and this class does not forward the request for interpolation type to its interpolators.
Definition at line 127 of file vtkCameraInterpolator.h.
void vtkCameraInterpolator::SetInterpolationTypeToManual |
( |
| ) |
|
|
inline |
These are convenience methods to switch between linear and spline interpolation. The methods simply forward the request for linear or spline interpolation to the instance variable interpolators (i.e., position, focal point, clipping range, orientation, etc.) interpolators. Note that if the InterpolationType is set to "Manual", then the interpolators are expected to be directly manipulated and this class does not forward the request for interpolation type to its interpolators.
Definition at line 129 of file vtkCameraInterpolator.h.