A deformable object is an object with modifiable points that flows through the pipeline. It is not a separate type, but rather is an instance of the Object type that will return TRUE to the Object::IsDeformable() method. Deformable objects must support the following Object methods: Object::NumPoints(), Object::GetPoint(), Object::SetPoint(), and Object::Deform().
Requests by the geometry pipeline for deformable objects are done using the Class_IDdefObjectClassID. Objects that are deformable should return TRUE in the method Object::CanConvertToType() when passed defObjectClassID. A deformable object should also return its this pointer from the implementation of the function Object::ConvertToType() when passed defObjectClassID.
Examples of deformable objects are LinearShape, ParticleObject, PatchObject, PolyObject, SplineShape, and TriObject. An example of a non-deformable object is the CameraObject.