//-----------------------------------------------------------------------------+ // Copyright (C), 1998-2007, SH Software Co. Ltd. // = FileName : XAsdkCustomSubEntityTraits.h // = Version : ver2.0 // = Author : zjq // = CreateDate : 2002-09-09 // = Description: 类的声明 // = Maintainers: // //-----------------------------------------------------------------------------+ #ifndef _XAsdkCustomSubEntityTraits_H_ #define _XAsdkCustomSubEntityTraits_H_ class GEOAPI XAsdkCustomSubEntityTraits : public AcGiSubEntityTraits // 该类将属性应用于后来画的AcGi几何原型 { public: ACRX_DECLARE_MEMBERS(XAsdkCustomSubEntityTraits); XAsdkCustomSubEntityTraits(); virtual ~XAsdkCustomSubEntityTraits(); virtual void setColor(const Adesk::UInt16 color); virtual void setLayer(const AcDbObjectId layerId); virtual void setLineType(const AcDbObjectId linetypeId); virtual void setMaterial(const AcDbObjectId materialId); virtual void setSelectionMarker(const LONG_PTR markerId); virtual void setFillType(const AcGiFillType fillType); virtual void setTrueColor(const AcCmEntityColor& color); virtual void setLineWeight(const AcDb::LineWeight lw); virtual void setLineTypeScale(double dScale = 1.0); virtual void setThickness(double dThickness); virtual AcCmEntityColor trueColor() const; virtual AcDb::LineWeight lineWeight() const; virtual double lineTypeScale() const; virtual double thickness() const; virtual Adesk::UInt16 color() const; virtual AcDbObjectId layerId() const; virtual AcDbObjectId lineTypeId() const; virtual AcDbObjectId materialId()const; virtual AcGiFillType fillType() const; private: Adesk::UInt16 mColorIndex; AcDbObjectId mLayerId; AcDbObjectId mLinetypeId; AcDbObjectId mMaterialId; LONG_PTR mMarkerId; AcGiFillType mFillType; AcCmEntityColor mTrueColor; AcDb::LineWeight mLineWeight; double mLineTypeScale; double mThickness; }; #endif