|
virtual vtkTypeBool | IsA (const char *type) |
| Return 1 if this class is the same type of (or a subclass of) the named class. More...
|
|
vtkCameraInterpolator * | NewInstance () const |
|
void | PrintSelf (ostream &os, vtkIndent indent) override |
| Methods invoked by print to print information about the object including superclasses. More...
|
|
int | GetNumberOfCameras () |
| Return the number of cameras in the list of cameras. More...
|
|
double | GetMinimumT () |
| Obtain some information about the interpolation range. More...
|
|
double | GetMaximumT () |
|
void | Initialize () |
| Clear the list of cameras. More...
|
|
void | AddCamera (double t, vtkCamera *camera) |
| Add another camera to the list of cameras defining the camera function. More...
|
|
void | RemoveCamera (double t) |
| Delete the camera at a particular parameter t. More...
|
|
void | InterpolateCamera (double t, vtkCamera *camera) |
| Interpolate the list of cameras and determine a new camera (i.e., fill in the camera provided). More...
|
|
virtual void | SetInterpolationType (int) |
| These are convenience methods to switch between linear and spline interpolation. More...
|
|
virtual int | GetInterpolationType () |
|
void | SetInterpolationTypeToLinear () |
|
void | SetInterpolationTypeToSpline () |
|
void | SetInterpolationTypeToManual () |
|
virtual void | SetPositionInterpolator (vtkTupleInterpolator *) |
| Set/Get the tuple interpolator used to interpolate the position portion of the camera. More...
|
|
virtual vtkTupleInterpolator * | GetPositionInterpolator () |
|
virtual void | SetFocalPointInterpolator (vtkTupleInterpolator *) |
| Set/Get the tuple interpolator used to interpolate the focal point portion of the camera. More...
|
|
virtual vtkTupleInterpolator * | GetFocalPointInterpolator () |
|
virtual void | SetViewUpInterpolator (vtkTupleInterpolator *) |
| Set/Get the tuple interpolator used to interpolate the view up portion of the camera. More...
|
|
virtual vtkTupleInterpolator * | GetViewUpInterpolator () |
|
virtual void | SetViewAngleInterpolator (vtkTupleInterpolator *) |
| Set/Get the tuple interpolator used to interpolate the view angle portion of the camera. More...
|
|
virtual vtkTupleInterpolator * | GetViewAngleInterpolator () |
|
virtual void | SetParallelScaleInterpolator (vtkTupleInterpolator *) |
| Set/Get the tuple interpolator used to interpolate the parallel scale portion of the camera. More...
|
|
virtual vtkTupleInterpolator * | GetParallelScaleInterpolator () |
|
virtual void | SetClippingRangeInterpolator (vtkTupleInterpolator *) |
| Set/Get the tuple interpolator used to interpolate the clipping range portion of the camera. More...
|
|
virtual vtkTupleInterpolator * | GetClippingRangeInterpolator () |
|
vtkMTimeType | GetMTime () override |
| Override GetMTime() because we depend on the interpolators which may be modified outside of this class. More...
|
|
| vtkBaseTypeMacro (vtkObject, vtkObjectBase) |
|
virtual void | DebugOn () |
| Turn debugging output on. More...
|
|
virtual void | DebugOff () |
| Turn debugging output off. More...
|
|
bool | GetDebug () |
| Get the value of the debug flag. More...
|
|
void | SetDebug (bool debugFlag) |
| Set the value of the debug flag. More...
|
|
virtual void | Modified () |
| Update the modification time for this object. More...
|
|
unsigned long | AddObserver (unsigned long event, vtkCommand *, float priority=0.0f) |
| Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
|
|
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 *) |
|
vtkTypeBool | HasObserver (unsigned long event, vtkCommand *) |
|
vtkTypeBool | HasObserver (const char *event, vtkCommand *) |
|
void | RemoveObserver (unsigned long tag) |
|
void | RemoveObservers (unsigned long event) |
|
void | RemoveObservers (const char *event) |
|
void | RemoveAllObservers () |
|
vtkTypeBool | HasObserver (unsigned long event) |
|
vtkTypeBool | HasObserver (const char *event) |
|
template<class U , class T > |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f) |
| Overloads to AddObserver that allow developers to add class member functions as callbacks for events. More...
|
|
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) |
| Allow user to set the AbortFlagOn() with the return value of the callback method. More...
|
|
int | InvokeEvent (unsigned long event, void *callData) |
| This method invokes an event and return whether the event was aborted or not. More...
|
|
int | InvokeEvent (const char *event, void *callData) |
|
int | InvokeEvent (unsigned long event) |
|
int | InvokeEvent (const char *event) |
|
const char * | GetClassName () const |
| Return the class name as a string. More...
|
|
virtual void | Delete () |
| Delete a VTK object. More...
|
|
virtual void | FastDelete () |
| Delete a reference to this object. More...
|
|
void | InitializeObjectBase () |
|
void | Print (ostream &os) |
| Print an object to an ostream. More...
|
|
virtual void | PrintHeader (ostream &os, vtkIndent indent) |
|
virtual void | PrintTrailer (ostream &os, vtkIndent indent) |
|
virtual void | Register (vtkObjectBase *o) |
| Increase the reference count (mark as used by another object). More...
|
|
virtual void | UnRegister (vtkObjectBase *o) |
| Decrease the reference count (release by another object). More...
|
|
int | GetReferenceCount () |
| Return the current reference count of this object. More...
|
|
void | SetReferenceCount (int) |
| Sets the reference count. More...
|
|
void | PrintRevisions (ostream &) |
| Legacy. More...
|
|
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.
- Tests:
- vtkCameraInterpolator (Tests)
Definition at line 64 of file vtkCameraInterpolator.h.