49 lines
1.3 KiB
C++
49 lines
1.3 KiB
C++
#ifndef _AECISOCRDWATCH_H__
|
|
#define _AECISOCRDWATCH_H__
|
|
|
|
#if _MSC_VER > 1000
|
|
#pragma once
|
|
#endif
|
|
|
|
#include "dbmain.h"
|
|
#include "AecDbCurveBase.h"
|
|
|
|
class AecISOCrdWatch : public AecDbCurveBase
|
|
{
|
|
public:
|
|
AecISOCrdWatch(BOOL bIsISO = FALSE);
|
|
virtual ~AecISOCrdWatch();
|
|
|
|
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);
|
|
|
|
void GetISOCrd(AcGeVector3d &vtX, AcGeVector3d &vtY, AcGeVector3d &vtZ) const;
|
|
|
|
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 //_AecISOCrdWatch_H__
|