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_ID``defObjectClassID
. 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
.