54 lines
1.4 KiB
C++
54 lines
1.4 KiB
C++
#ifndef _AECANGLEWATCH_H__
|
|
#define _AECANGLEWATCH_H__
|
|
|
|
#if _MSC_VER > 1000
|
|
#pragma once
|
|
#endif
|
|
|
|
#include "dbmain.h"
|
|
#include "AecDbCurveBase.h"
|
|
|
|
#ifdef EARTHWORM_EXPORT
|
|
#define DLLIMPEXP __declspec(dllexport)
|
|
#else
|
|
#define DLLIMPEXP __declspec(dllimport)
|
|
#endif
|
|
|
|
class DLLIMPEXP AecAngleWatch : public AecDbCurveBase
|
|
{
|
|
public:
|
|
|
|
AecAngleWatch(BOOL bIsISO = FALSE);
|
|
virtual ~AecAngleWatch();
|
|
|
|
void SetAngleWath(AcGePoint3d& ptCen,const AcGePoint3d& ptGeTo,const AcGeVector3d& vtDir = AcGeVector3d::kXAxis);
|
|
void SwitchAutoSnapOrF8();
|
|
|
|
void SetISOMode(int nAngMode, int nAngle);
|
|
|
|
virtual Acad::ErrorStatus Draw2d(AcGiDraw &mode) const;
|
|
Acad::ErrorStatus DrawISOXYZ(AcGiDraw &mode) const;
|
|
|
|
BOOL snapWatch(AcGePoint3d& ptCen,AcGePoint3d& ptGeTo,const AcGeVector3d& vtDir = AcGeVector3d::kXAxis);
|
|
virtual const AecDbObjXDataMap* GetSpecialtyData() const { assertReadEnabled(); return NULL; }
|
|
virtual AecDbObjXDataMap* GetSpecialtyData(AcDb::OpenMode bMode = AcDb::kForWrite) { assertWriteEnabled(); return NULL; }
|
|
|
|
double GetAngWatchSp() const;
|
|
void SetAngWatchSp(double nSp);
|
|
|
|
public:
|
|
int m_nAngMode, m_nAngle;
|
|
AcGePoint3d m_ptGeCen;
|
|
AcGePoint3d m_ptGeTo;
|
|
AcGeVector3d m_vtDir;
|
|
struct resbuf m_rbAutoSnap;
|
|
|
|
public:
|
|
BOOL m_bFallInSnap; //捕捉
|
|
double m_nWatchStep; //表针步长
|
|
BOOL m_bWatchPoint; //是否画表针
|
|
double m_dSnapAngle;//捕捉角度,默认10度
|
|
};
|
|
|
|
#endif //_AECANGLEWATCH_H__
|