All the methods to do a viewframe operation.
#include <AlViewFrame.h> class AlViewFrame enum Options { kObject, kObjectAndAbove, kObjectAndBelow, kObjectAndAboveBelow }; static statusCode viewFrame(const double); static statusCode viewFrame(AlAnimatable*, const double,Options=kObject); static statusCode viewFrame(AlSurface*, const double, Options=kObject); static statusCode viewFrame(AlCurve*, const double, Options=kObject);
This is a static class in that all of its member functions are static. It provides the functionality to do a viewframe on the entire universe or a single file.
When doing a viewframe, it is important to remember that if the model contains construction history, fillet surfaces may be recreated. As a result, any existing AlSurfaceCVs from these surfaces will no longer be valid after the viewframe. They will not be deleted, but will instead be made inactive; all their methods will fail. Any object can be tested to see whether it is no longer active with the isValid() method. An inactive object may be deleted, or all inactive objects may be deleted with the AlUniverse::cleanUpUniverse() method. Please see the documentation on AlUniverse::cleanUpUniverse() for its possible side affects.
statusCode AlViewFrame::viewFrame(const double frame)
Views the universe at the frame time specified by "frame". All animated items in the universe will have their animation evaluated at the given frame time, and the animated parameters will now take on their new values. Note that if the model contains construction history, fillets and trims may be re-evaluated. This could cause any surface CV pointers to become invalid. After any viewFrame, pointers to anything should not be trusted. If this is a problem, you should add a message handler for kMessageDagNodeReplaceGeometry.
statusCode AlViewFrame::viewFrame( AlAnimatable* obj, const double frame, AlViewFrame::Options opts )
Views the animatable object at the frame time specified by "frame". The object will have its animation evaluated at the given frame time, and the animated parameters will now take on their new values.
statusCode AlViewFrame::viewFrame( AlCurve* curve, const double frame, AlViewFrame::Options opts )
statusCode AlViewFrame::viewFrame( AlSurface* surface, const double frame, AlViewFrame::Options opts )
Views the CVs of the surface at the frame time specified by "frame". The surface CVs will have their animation evaluated at the given frame time, and the animated parameters will now take on their new values. A viewFrame will NOT be done on the shaders and textures on the geometry below the surface.