DM_draw_engine
List of: Classes
Subjects: Deformable Modeling
Contents: Standalone Deformable Modeling

Purpose: This class provides an abstract draw primitive interface between the deformable modeling icons and the view-controller.

Derivation: DM_draw_engine : -

Filename: ds/dmicon/dm_draw_engine.hxx

Description: The DM_draw_engine interface classes provide abstract draw primitive methods to icons Draw_point and Draw_polyline. This decouples the icon library from rendering-context specifics, for example, OpenGL or DirectX commands.


Related classes: The draw engine uses the data encapsulated in a DM_draw_args object for drawing. The DM_draw_args object is passed through from the original view manager draw request. Icons only obtain concrete DM_draw_engine objects from the (global) DM_draw_engine_mgr.

Constructor: protected: DM_draw_engine::DM_draw_engine ();


Default constructor.




Destructor: public: virtual void DM_draw_engine::Lose ()=0;


Lose method for self-destruction.






protected: virtual DM_draw_engine::~DM_draw_engine ();


Destructor; use the Release_this method.



Methods: public: virtual void*


DM_draw_engine::Customer_cast ();


Casting operator; used for overriding.






public: virtual void DM_draw_engine::Draw_marker (


Spatial_abs_hurler&, // error handler


DS_dmod*, // icon owner ID


int tag, // icon owner ID


const double*, // marker location (xyz)


double, // color (r,g,b)


double, // color (r,g,b)


double, // color (r,g,b)


double, // line width


const DM_def_icon_draw_args& // draw args


) const =0;


Add a marker.






public: virtual void DM_draw_engine::Draw_polyline (


Spatial_abs_hurler&, // error handler


DS_dmod*, // icon owner ID


int tag, // icon owner ID


int, // number of points


const double*, // array of points


double, // color (r,g,b)


double, // color (r,g,b)


double, // color (r,g,b)


double, // line width


const DM_def_icon_draw_args& // draw args


) const =0;


Add a polyline. The color values must be between 0 and 1.






public: virtual void DM_draw_engine::Mark_dirty (


Spatial_abs_hurler& // error handler


)=0;


Notify the draw engine of changes which may affect cached data.






public: virtual ADM_draw_engine*


DM_draw_engine::Spatial_cast ();


Casting operator; reserved for DM_default_icons.
PDF/DS/06CL.PDF
HTM/DATA/DS/DS/06CL/0016.HTM