Использование расширения протокола в приложении
Чтобы использовать функциональные возможности расширения протокола, Вы должны получить объект описателя класса для специфического класса. Как только Вы получили указатель на объект описателя класса, Вы можете вызывать любой из методов для того класса. Следующее - пример использования AsdkEntTemperature расширения протокола для класса AcDbEntity:
AcDbEntity *pEnt;
AsdkEntTemperature *pTemp;
pTemp = AsdkEntTemperature::cast ( pEnt->x(AsdkEntTemperature::desc()));
double eTemp = pTemp -> reflectedEnergy (pEnt);
Вы можете использовать макрокоманду ACRX_X_CALL, чтобы упростить этот код следующим образом:
double eTemp = ACRX_X_CALL(pEnt, AsdkEntTemperature)->reflectedEnergy(pEnt);