第三章创建和编辑基本图形对象.pptVIP

  • 33
  • 0
  • 约1.11万字
  • 约 49页
  • 2015-08-31 发布于重庆
  • 举报
第三章创建和编辑基本图形对象.ppt

3.3 对象的类型判断 由于所有实体都是从AcDbEntity 派生的,所以当打开一个AcDbEntity 对象时,开发者经常需要进一步判断其类型,如判断是一条线还是一个圆等。在实际的开发中,对ObjectARX 对象进行类型判断需要使用ObjectARX 提供的类型判断机制。 我们可以通过AcRxObject::desc()静态函数返回AcRxClass 类型的指针, 然后调用AcRxObject::isA()或者AcRxObject::isKindOf()来进行类型判断,其中AcRxObject::isA()用于判断对象是否是所需要的对象类型, 而AcRxObject::isKindOf()可用于判断对象是否是所需要的类型或者其派生类类型。 假定AcDbEntity *pEnt,判断实体是否正好是一条线段可用以下代码: if(pEnt-isA()==AcDbLine::desc()) 如果要判断实体是否是线段或者线段的派生对象,可用以下代码来实现: if(pEnt-isKindOf(AcDbLine::desc()) { AcDbLine* pLine = AcDbLine::cast(pEnt); } 通过上述方法完成了对象的类型判断以后,如果需要进行类型转换,通常调用静态函 数AcRxObject::cast ()来完成,该函数将传入的对象指针转化为指定

文档评论(0)

1亿VIP精品文档

相关文档