ObjectARX Reference Guide > AcGi Classes > AcGiDrawable Class
Class Hierarchy
class AcGiDrawable : public AcRxObject;



All graphical objects, both transient and persistent, will implement a drawable interface. Objects exposing this interface are capable of drawing themselves through the Draw API. 

AcDbObject has a method called drawable, allowing the AcDbObject to be queried for a drawable interface defined as follows: 

AcDrawable* AcDbObject::drawable(); Thus, any AcDbObject-derived class is potentially a drawable. By default this method returns a null pointer. 

All displayable objects are derived from AcGiDrawable (which is referred to throughout as a "drawable"). This class implements the protocol by which objects can be queried by the graphics system (GS) for their geometry, attributes, cache pointers, and database IDs. 

A drawable need not have displayable output. Some drawables only affect attributes, transformations, or clipping regions; others contain other drawables and have no geometry or attributes of their own. AutoCAD's AcDbLayerTableRecord and AcDbBlockTableRecord classes are examples of such drawables. 

A drawable need not be an AcDb database object. Two examples of non-persistent drawables are the UCS Icon and the Grid. These are visual elements of the AutoCAD editor that do not belong to an AcDb database.

See Also