Sealed Base Functionality

To ensure that the base functionality of the functions being overriden is preserved, ObjectARX ®  has sealed many of common AcDbEntity functions while providing corresponding virtual functions. At runtime AutoCAD ® invokes the sealed functions, which in turn invoke the virtual functions, which you override to modify the default behavior for your custom entities.

The signature of the virtual function is the same as the base function; only the function name is prepended with “sub.” For example, the signature of a sealed base function called for displaying an entity is as follows:

ACDB_PORT Adesk::Boolean worldDraw(
 AcGiWorldDraw * wd
);

The signature of the virtual function that your custom entity must override is given below:

virtual Adesk::Boolean subWorldDraw(
 AcGiWorldDraw* pWd
);
Danger:

If you need to call one of the other functions in this group from your custom entity implementation, ensure that you call the sealed base function. However, do not call the sealed base function from the corresponding virtual, for example to access the base implementation, as this will cause a stack overflow.