Inherits DD::Image::GeoOp.
Protected Member Functions | |
ModifyGeo (Node *node) | |
void | geometry_engine (Scene &scene, GeometryList &out) |
virtual void | modify_geometry (int obj, Scene &, GeometryList &out)=0 |
It's primary task is to make the geometry_engine() call more easy to implement by managing the modified point list prior to and after the engine call. In addition to automatically calling evaluate_transform() to see if the points must be transformed by the object matrix prior to manipulation, ModifyGeo copies the point list from the input so a plugin writer must only need to write a single point loop. The plugin author must at least implement the modify_geometry() method.
void ModifyGeo::geometry_engine | ( | Scene & | scene, |
GeometryList & | out | ||
) | [protected, virtual] |
Sub-class dependent portion of get_geometry(). This should be implemented on plugins to modify geometry. The default implementation gets the input's points then calls the single cache modify_geometry() on each GeoInfo in the output cache list.
Reimplemented from DD::Image::GeoOp.
References DD::Image::GeoOp::evaluate_transform(), DD::Image::GeoOp::get_geometry(), modify_geometry(), DD::Image::GeometryList::size(), and DD::Image::GeoInfo::validate().
virtual void DD::Image::ModifyGeo::modify_geometry | ( | int | obj, |
Scene & | , | ||
GeometryList & | out | ||
) | [protected, pure virtual] |
Single object GeoInfo modify_geometry call so that plugins which apply the same function to all GeoInfos in the output list can just implement this one function. Pure virtual - must be implemented.
Referenced by geometry_engine().