# SnapShotsClient class

Namespace: [Rhino.DocObjects.SnapShots](https://developer.rhino3d.com/api/rhinocommon/namespace/rhino.docobjects.snapshots.md) · Assembly: [RhinoCommon](https://developer.rhino3d.com/api/rhinocommon/assembly/rhinocommon.md)

```cs
public abstract class SnapShotsClient : IDisposable
```

This is the abstract interface class for all Snapshot clients.

## Constructors

- [SnapShotsClient](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.snapshots.snapshotsclient/ctor.md): SnapShotsClient constructor

## Properties

- [CppPointer](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.snapshots.snapshotsclient/cpppointer.md)
- [SerialNumber](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.snapshots.snapshotsclient/serialnumber.md)

## Methods

- [AnimateDocument](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.snapshots.snapshotsclient/animatedocument.md): Called for each frame. Starting at 0.0.
- [AnimateObject](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.snapshots.snapshotsclient/animateobject.md): Called for each frame. Starting at 0.0.
- [AnimationStart](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.snapshots.snapshotsclient/animationstart.md): Called once at the start of an animation.
- [AnimationStop](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.snapshots.snapshotsclient/animationstop.md): Called once at the end of an animation.
- [ApplicationCategory](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.snapshots.snapshotsclient/applicationcategory.md): (static) Predefined application category
- [Category](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.snapshots.snapshotsclient/category.md): The category of this client. Usually one of the above predefined categories like e.g object, rendering or application category
- [ClientId](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.snapshots.snapshotsclient/clientid.md): The unique id of this client.
- [Dispose](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.snapshots.snapshotsclient/dispose.md): SnapShotsClient Dispose
- [DocumentCategory](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.snapshots.snapshotsclient/documentcategory.md): (static) Predefined document category
- [ExtendBoundingBoxForDocumentAnimation](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.snapshots.snapshotsclient/extendboundingboxfordocumentanimation.md): Called once at the start of an animation. This can be used to extend the scene bounding box to avoid clipping.
- [ExtendBoundingBoxForObjectAnimation](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.snapshots.snapshotsclient/extendboundingboxforobjectanimation.md): Called once at the start of an animation. This can be used to extend the scene bounding box to avoid clipping.
- [IsCurrentModelStateInAnySnapshot](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.snapshots.snapshotsclient/iscurrentmodelstateinanysnapshot.md): (2 overloads) Called before restoring a snapshot. Warns the user if the current model state is not already saved.
- [LayersCategory](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.snapshots.snapshotsclient/layerscategory.md): (static) Predefined layers category
- [LightsCategory](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.snapshots.snapshotsclient/lightscategory.md): (static) Predefined lights category
- [Name](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.snapshots.snapshotsclient/name.md): The client's name.
- [ObjectsCategory](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.snapshots.snapshotsclient/objectscategory.md): (static) Predefined objects category
- [ObjectTransformNotification](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.snapshots.snapshotsclient/objecttransformnotification.md): Called for every object that is associated with a snapshot and gets transformed in Rhino. This is getting called for each stored snapshot and gives the client the possibility to update the stored data.
- [PlugInId](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.snapshots.snapshotsclient/pluginid.md): The plug-in id that registers this client.
- [PrepareForDocumentAnimation](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.snapshots.snapshotsclient/preparefordocumentanimation.md): Called once at the start of an animation.
- [PrepareForObjectAnimation](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.snapshots.snapshotsclient/prepareforobjectanimation.md): Called once at the start of an animation.
- [RegisterSnapShotClient](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.snapshots.snapshotsclient/registersnapshotclient.md): (static) Function used to register snapshots client
- [RenderingCategory](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.snapshots.snapshotsclient/renderingcategory.md): (static) Predefined rendering category
- [RestoreDocument](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.snapshots.snapshotsclient/restoredocument.md): Called when the user restores a snapshot and SupportDocument() returns true.
- [RestoreObject](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.snapshots.snapshotsclient/restoreobject.md): Called when the user restores a snapshot and SupportsObjects() and SupportsObject(Rhino.DocObjects.RhinoObject doc_object) returns true.
- [SaveDocument](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.snapshots.snapshotsclient/savedocument.md): Called when the user saves a snapshot and SupportDocument() returns true.
- [SaveObject](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.snapshots.snapshotsclient/saveobject.md): Called when the user saves a snapshot and SupportsObjects() and SupportsObject(Rhino.DocObjects.RhinoObject doc_object) returns true.
- [SnapshotRestored](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.snapshots.snapshotsclient/snapshotrestored.md): Called after all clients restored their data.
- [SupportsAnimation](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.snapshots.snapshotsclient/supportsanimation.md): Returns true if the client allows animation.
- [SupportsDocument](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.snapshots.snapshotsclient/supportsdocument.md): Defines if the client supports document user data or not
- [SupportsObject](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.snapshots.snapshotsclient/supportsobject.md): Returns true if the client saves/restores object user data for the given object.
- [SupportsObjects](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.snapshots.snapshotsclient/supportsobjects.md): Returns true if the client saves/restores object user data.
- [ViewsCategory](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.snapshots.snapshotsclient/viewscategory.md): (static) Predefined views category
