//-----------------------------------------------------------------------------+ // Copyright (C), 1998-2007, SH Software Co. Ltd. // = FileName : XArchMatchProp.cpp // = Version : ver2.0 // = Author : zjq // = CreateDate : 2002-09-09 // = Description: 匹配属性类的定义 // = Maintainers: // //-----------------------------------------------------------------------------+ #include "StdAfx.h" #include "XArchMatchProp.h" #include "AecEntity.h" #include "AecCurveEntity.h" XArchMatchProp::~XArchMatchProp() { } // 提供对格式刷的支持 void XArchMatchProp::copyProperties(AcDbEntity* pSrcEntity, AcDbEntity* pTrgEntity, unsigned int gMatchFlag) const { if (pTrgEntity->isKindOf(AecEntity::desc())) { ((AecEntity *)pTrgEntity)->CopyPropertiesFrom(pSrcEntity, gMatchFlag); } else if (pTrgEntity->isKindOf(AecCurveEntity::desc())) { ((AecEntity *)pTrgEntity)->CopyPropertiesFrom(pSrcEntity, gMatchFlag); } else { // 颜色 if (gMatchFlag & kColorFlag) { pTrgEntity->setColorIndex(pSrcEntity->colorIndex()); } // 图层 if (gMatchFlag & kLayerFlag) { pTrgEntity->setLayer(pSrcEntity->layerId()); } // 线型 if (gMatchFlag & kLtypeFlag) { pTrgEntity->setLinetype(pSrcEntity->linetypeId()); } // 线型比例 if (gMatchFlag & kLtscaleFlag) { pTrgEntity->setLinetypeScale(pSrcEntity->linetypeScale()); } // 可见性 pTrgEntity->setVisibility(pSrcEntity->visibility()); } }