- 积分
- 365
- 明经币
- 个
- 注册时间
- 2003-2-23
- 在线时间
- 小时
- 威望
-
- 金钱
- 个
- 贡献
-
- 激情
-
|
楼主 |
发表于 2003-6-30 12:44:00
|
显示全部楼层
//他总是在203行时发生错误,我查过技术文档,这些函数都不错,我已把出错的涵数标注出来
//////////////////////////////////////////////////////////////////////////////
// lkdMyCircle custom object, created by [03-6-29], ,
#if !defined(ARX__LKDMYCIRCLE_H__20030629_180151)
#define ARX__LKDMYCIRCLE_H__20030629_180151
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "dbents.h"
#pragma warning(disable: 4275 4251)
#ifdef _MYCIRLE_
#define DLLIMPEXP __declspec(dllexport)
#else
#define DLLIMPEXP
#endif
#ifndef LKDMYCIRLE_DBXSERVICE
#define LKDMYCIRLE_DBXSERVICE "LKDMYCIRLE_DBXSERVICE"
#endif
class DLLIMPEXP lkdMyCircle : public AcDbCircle
{
public:
ACRX_DECLARE_MEMBERS(lkdMyCircle);
// Constructor / Destructor
lkdMyCircle();
virtual ~lkdMyCircle();
//{{AFX_ARX_METHODS(lkdMyCircle)
virtual void xmitPropagateModify() const;
virtual void viewportDraw(AcGiViewportDraw* mode);
virtual void subObjModified(const AcDbObject* dbObj,
const AcDbObject* subObj);
virtual void unappended(const AcDbObject* dbObj);
virtual void subSetDatabaseDefaults(AcDbDatabase* pDb);
virtual void setGsNode(AcGsNode* pNode);
virtual void saveAs(AcGiWorldDraw* mode, AcDb::SaveType st);
virtual void recvPropagateModify(const AcDbObject* subObj);
virtual void reappended(const AcDbObject* dbObj);
virtual void openedForModify(const AcDbObject* dbObj);
virtual void objectClosed(const AcDbObjectId objId);
virtual void modifyUndone(const AcDbObject* dbObj);
virtual void modifiedXData(const AcDbObject* dbObj);
virtual void modifiedGraphics(const AcDbEntity* dbEnt);
virtual void modified(const AcDbObject* dbObj);
virtual void list() const;
virtual void goodbye(const AcDbObject* dbObj);
virtual void getEcs(AcGeMatrix3d& retVal) const;
virtual void erased(const AcDbObject* dbObj,
Adesk::Boolean pErasing = true);
virtual void copied(const AcDbObject* dbObj,
const AcDbObject* newObj);
virtual void cancelled(const AcDbObject* dbObj);
virtual void addPersistentReactor(AcDbObjectId objId);
virtual resbuf* xData(const char* regappName = NULL) const;
virtual Adesk::UInt32 setAttributes(AcGiDrawableTraits* pTraits);
virtual Adesk::Boolean worldDraw(AcGiWorldDraw* mode);
virtual Adesk::Boolean isPlanar() const;
virtual Adesk::Boolean isPersistent() const;
virtual Adesk::Boolean isPeriodic() const;
virtual Adesk::Boolean isClosed() const;
virtual Adesk::Boolean cloneMeForDragging();
virtual AcRxObject* clone() const;
virtual AcGsNode* gsNode() const;
virtual AcDbObjectId id() const;
virtual AcGiDrawable* drawable();
virtual AcDbEntity* subentPtr(const AcDbFullSubentPath& id) const;
virtual AcDb::DuplicateRecordCloning mergeStyle() const;
virtual Acad::ErrorStatus wblockClone(AcRxObject* pOwnerObject,
AcDbObject*& pClonedObject,
AcDbIdMapping& idMap,
Adesk::Boolean isPrimary = true) const;
virtual Acad::ErrorStatus transformBy(const AcGeMatrix3d& xform);
virtual Acad::ErrorStatus unhighlight(const AcDbFullSubentPath& subId = kNullSubent,
const Adesk::Boolean highlightAll = false) const;
virtual Acad::ErrorStatus swapReferences(const AcDbIdMapping& idMap);
virtual Acad::ErrorStatus subSwapIdWith(AcDbObjectId otherId,
Adesk::Boolean swapXdata = false,
Adesk::Boolean swapExtDict = false);
virtual Acad::ErrorStatus subOpen(AcDb::OpenMode openMode);
virtual Acad::ErrorStatus subHandOverTo(AcDbObject* newObject);
virtual Acad::ErrorStatus subErase(Adesk::Boolean erasing);
virtual Acad::ErrorStatus subClose();
virtual Acad::ErrorStatus subCancel();
virtual Acad::ErrorStatus setXData(const resbuf* xdata);
virtual Acad::ErrorStatus setVisibility(AcDb::Visibility newVal,
Adesk::Boolean doSubents = true);
virtual Acad::ErrorStatus setPlotStyleName(AcDb::PlotStyleNameType x0,
AcDbObjectId newId = AcDbObjectId::kNull,
Adesk::Boolean doSubents = true);
virtual Acad::ErrorStatus setPlotStyleName(const char* newName,
Adesk::Boolean doSubents = true);
virtual Acad::ErrorStatus setOwnerId(AcDbObjectId objId);
virtual Acad::ErrorStatus setLineWeight(AcDb:ineWeight newVal,
Adesk::Boolean doSubents = true);
virtual Acad::ErrorStatus setLinetypeScale(double newval,
Adesk::Boolean doSubents = true);
virtual Acad::ErrorStatus setLinetype(const char* newVal,
Adesk::Boolean doSubents = true);
virtual Acad::ErrorStatus setLinetype(AcDbObjectId newVal,
Adesk::Boolean doSubents = true);
virtual Acad::ErrorStatus setColorIndex(Adesk::UInt16 color,
Adesk::Boolean doSubents = true);
virtual Acad::ErrorStatus setLayer(const char* newVal,
Adesk::Boolean doSubents = true);
virtual Acad::ErrorStatus setLayer(AcDbObjectId newVal,
Adesk::Boolean doSubents = true);
virtual Acad::ErrorStatus setColor(const AcCmColor& color,
Adesk::Boolean doSubents = true);
virtual Acad::ErrorStatus removePersistentReactor(AcDbObjectId objId);
virtual Acad::ErrorStatus moveStretchPointsAt(const AcDbIntArray& indices,
const AcGeVector3d& offset);
virtual Acad::ErrorStatus moveGripPointsAt(const AcDbIntArray& indices,
const AcGeVector3d& offset);
virtual Acad::ErrorStatus intersectWith(const AcDbEntity* pEnt,
AcDb::Intersect intType,
const AcGePlane& projPlane,
AcGePoint3dArray& points,
int thisGsMarker = 0,
int otherGsMarker = 0) const;
virtual Acad::ErrorStatus intersectWith(const AcDbEntity* pEnt,
AcDb::Intersect intType,
AcGePoint3dArray& points,
int thisGsMarker = 0,
int otherGsMarker = 0) const;
virtual Acad::ErrorStatus highlight(const AcDbFullSubentPath& subId = kNullSubent,
const Adesk::Boolean highlightAll = false) const;
virtual Acad::ErrorStatus getTransformedCopy(const AcGeMatrix3d& xform,
AcDbEntity*& pEnt) const;
virtual Acad::ErrorStatus getStartPoint(AcGePoint3d& x0) const;
virtual Acad::ErrorStatus getSubentPathsAtGsMarker(AcDb::SubentType type,
int gsMark,
const AcGePoint3d& pickPoint,
const AcGeMatrix3d& viewXform,
int& numPaths,
AcDbFullSubentPath*& subentPaths,
int numInserts = 0,
AcDbObjectId* entAndInsertStack = NULL) const;
virtual Acad::ErrorStatus getStretchPoints(AcGePoint3dArray& stretchPoints) const;
virtual Acad::ErrorStatus getStartParam(double& x0) const;
virtual Acad::ErrorStatus getSplitCurves(const AcGePoint3dArray& points,
AcDbVoidPtrArray& curveSegments) const;
virtual Acad::ErrorStatus getSplitCurves(const AcGeDoubleArray& params,
AcDbVoidPtrArray& curveSegments) const;
virtual Acad::ErrorStatus getSpline(AcDbSpline*& spline) const;
virtual Acad::ErrorStatus getSecondDeriv(double param,
AcGeVector3d& secDeriv) const;
virtual Acad::ErrorStatus getSecondDeriv(const AcGePoint3d& x0,
AcGeVector3d& secDeriv) const;
virtual Acad::ErrorStatus getProjectedCurve(const AcGePlane& x0,
const AcGeVector3d& projDir,
AcDbCurve*& projCrv) const;
virtual Acad::ErrorStatus getPointAtParam(double x0,
AcGePoint3d& x1) const;
virtual Acad::ErrorStatus getPointAtDist(double x0,
AcGePoint3d& x1) const;
virtual Acad::ErrorStatus getPlane(AcGePlane& x0,
AcDb::Planarity& x1) const;
virtual Acad::ErrorStatus getParamAtPoint(const AcGePoint3d& x0,
double& x1)const;
virtual Acad::ErrorStatus getParamAtDist(double dist,
double& param) const;
virtual Acad::ErrorStatus getOsnapPoints(AcDb::OsnapMode osnapMode,
int gsSelectionMark,
const AcGePoint3d& pickPoint,
const AcGePoint3d& lastPoint,
const AcGeMatrix3d& viewXform,
AcGePoint3dArray& snapPoints,
AcDbIntArray& geomIds) const;
virtual Acad::ErrorStatus getOrthoProjectedCurve(const AcGePlane& x0,
AcDbCurve*& projCrv) const;
virtual Acad::ErrorStatus getOffsetCurvesGivenPlaneNormal(const AcGeVector3d& normal,
double offsetDist,
AcDbVoidPtrArray& offsetCurves) const;
virtual Acad::ErrorStatus getOffsetCurves(double offsetDist,
AcDbVoidPtrArray& offsetCurves) const;
virtual Acad::ErrorStatus getObjectSaveVersion(const AcDbDxfFiler* pFiler,
AcDb::AcDbDwgVersion& ver,
AcDb::MaintenanceReleaseVersion& maintVer);
virtual Acad::ErrorStatus getObjectSaveVersion(const AcDbDwgFiler* pFiler,
AcDb::AcDbDwgVersion& ver,
AcDb::MaintenanceReleaseVersion& maintVer);
virtual Acad::ErrorStatus getGsMarkersAtSubentPath(const AcDbFullSubentPath& subPath,
AcDbIntArray& gsMarkers) const;
virtual Acad::ErrorStatus getGripPoints(AcGePoint3dArray& gripPoints,
AcDbIntArray& osnapModes,
AcDbIntArray& geomIds) const;
virtual Acad::ErrorStatus getGeomExtents(AcDbExtents& extents) const;
virtual Acad::ErrorStatus getFirstDeriv(double param,
AcGeVector3d& firstDeriv) const;
virtual Acad::ErrorStatus getFirstDeriv(const AcGePoint3d& x0,
AcGeVector3d& firstDeriv) const;
virtual Acad::ErrorStatus getEndPoint(AcGePoint3d& x0) const;
virtual Acad::ErrorStatus getEndParam(double& x0) const;
virtual Acad::ErrorStatus getDistAtPoint(const AcGePoint3d& x0,double& x1) const;
//*发生错误的涵数** virtual Acad::ErrorStatus getDistAtParam(double param,double& dist) const;
//*发生错误的涵数** virtual Acad::ErrorStatus getCompoundObjectTransform(AcGeMatrix3d & xMat) const;
virtual Acad::ErrorStatus getClosestPointTo(const AcGePoint3d& givenPnt,
const AcGeVector3d& direction,
AcGePoint3d& pointOnCurve,
Adesk::Boolean extend = Adesk::kFalse) const;
virtual Acad::ErrorStatus getClosestPointTo(const AcGePoint3d& givenPnt,
AcGePoint3d& pointOnCurve,
Adesk::Boolean extend = Adesk::kFalse) const;
virtual Acad::ErrorStatus getClassID(CLSID* pClsid) const;
virtual Acad::ErrorStatus getArea(double& x0) const;
virtual Acad::ErrorStatus extend(double newParam);
virtual Acad::ErrorStatus extend(Adesk::Boolean extendStart,
const AcGePoint3d& toPoint);
virtual Acad::ErrorStatus explode(AcDbVoidPtrArray& entitySet) const;
virtual Acad::ErrorStatus dxfOutFields(AcDbDxfFiler* pFiler) const;
virtual Acad::ErrorStatus dxfInFields(AcDbDxfFiler* pFiler);
//*发生错误的涵数** virtual Acad::ErrorStatus dwgOutFields(AcDbDwgFiler* pFiler) const;
//*发生错误的涵数** virtual Acad::ErrorStatus dwgInFields(AcDbDwgFiler* pFiler);
//*发生错误的涵数** virtual Acad::ErrorStatus deepClone(AcDbObject* pOwnerObject,
AcDbObject*& pClonedObject,
AcDbIdMapping& idMap,
Adesk::Boolean isPrimary = true) const;
virtual Acad::ErrorStatus decomposeForSave(AcDb::AcDbDwgVersion ver,
AcDbObject*& replaceObj,
AcDbObjectId& replaceId,
Adesk::Boolean& exchangeXData);
virtual Acad::ErrorStatus copyFrom(const AcRxObject* pSrc);
virtual Acad::ErrorStatus audit(AcDbAuditInfo* pAuditInfo);
//*发生错误的涵数** virtual Acad::ErrorStatus applyPartialUndo(AcDbDwgFiler* undoFiler,
AcRxClass* classObj);
//}}AFX_ARX_METHODS
//{{AFX_ARX_DATA_ACCESS(lkdMyCircle)
Acad::ErrorStatus setRjl(const double rjl);
double rjl();
Acad::ErrorStatus setMj(const double mj);
double mj();
Acad::ErrorStatus setDj(const double dj);
double dj();
//*发生错误的涵数** Acad::ErrorStatus setYdmch(const char Ydmch);
char ydmch();
//}}AFX_ARX_DATA_ACCESS
private:
//{{AFX_ARX_DATA(lkdMyCircle)
double m_rjl;
double m_mj;
double m_dj;
char m_Ydmch;
//}}AFX_ARX_DATA
private:
void *operator new[](unsigned nSize) { return 0; }
void operator delete[](void *p) {};
void *operator new[](unsigned nSize, const char *file, int line) { return 0; }
};
#endif // !defined(ARX__LKDMYCIRCLE_H__20030629_180151) |
|