在arx中自定义实体遇到的问题
<P>我在arx中自定义了一个类,但在加到数据库的时候发生错误,想问一下是否需要什么注册的操作?是否只能在dbx中写啊?谢谢<BR>头文件</P><P>class EObject:public AcDbEntity<BR>{<BR>protected:<BR> char *m_name;<BR> Adesk::Int32 m_ID;<BR> char *m_location;<BR> AcGePoint3d m_center;</P>
<P>public:<BR> EObject();<BR> virtual ~EObject(){}<BR> virtual Adesk::Boolean worldDraw (AcGiWorldDraw *mode);<BR> virtual Acad::ErrorStatus getGeomExtents(AcDbExtents & extents);<BR> virtual Acad::ErrorStatus transformBy(const AcGeFastTransform& xform);<BR> virtual Acad::ErrorStatus getTransformedCopy(const AcGeMatrix3d &xform, AcDbEntity *&pEnt);<BR> virtual Acad::ErrorStatus getGripPoints(AcGePoint3dArray & gripPoints,AcDbIntArray &osnapModes,AcDbIntArray & geomIds) const;<BR> virtual Acad::ErrorStatus moveGripPointsAt(const AcDbIntArray &indices,const AcGeVector3d &offset);<BR>cpp文件</P>
<P><BR> </P> <P> EObject::EObject()<BR> {<BR> m_ID = -1;<BR> m_location = m_name = NULL;<BR> m_center = AcGePoint3d::kOrigin;<BR> acutPrintf("1eee\n");<BR> }</P>
<P> Adesk::Boolean EObject::worldDraw(AcGiWorldDraw *mode)<BR> {<BR> return (Adesk::kTrue) ;<BR> }</P>
<P> Acad::ErrorStatus EObject::getGeomExtents(AcDbExtents & extents)<BR> {<BR> return Acad::eOk;<BR> }</P>
<P> Acad::ErrorStatus EObject::transformBy(const AcGeFastTransform& xform)<BR> {<BR> assertWriteEnabled(Adesk::kFalse, Adesk::kFalse);<BR> return Acad::eNotApplicable;<BR> }</P>
<P> Acad::ErrorStatus EObject::getTransformedCopy(const AcGeMatrix3d &xform, AcDbEntity *&pEnt)<BR> {<BR> assertReadEnabled();<BR> Acad::ErrorStatus es = Acad::eOk;<BR> return es;<BR> }</P>
<P> Acad::ErrorStatus EObject::getGripPoints(AcGePoint3dArray & gripPoints,AcDbIntArray &osnapModes,AcDbIntArray & geomIds) const<BR> {<BR> return Acad::eNotImplemented;<BR> }<BR> <BR> Acad::ErrorStatus EObject::moveGripPointsAt(const AcDbIntArray &indices,const AcGeVector3d &offset)<BR> {<BR> return Acad::eNotImplemented;<BR> }<BR></P>
页:
[1]