Files
envi-code/SourceCode/Code2026/AdsXRx/XAdvanceSampler.cpp
T
gjm 164968b62e chore
把非utf8-bom编码的cpp/h文件改为 utf8 bom 编码, msvc识别utf8编码时,如果不是bom格式的,会使用当前cp_oem来解码.
2026-10-04 00:04:20 +08:00

61 lines
1.5 KiB
C++

//-------------------------------------------------------------------------------------------------------+
// Copyright (C), 1998-2007, SH Software Co. Ltd.
// = FileName : XAdvanceSampler 类
// = Version : ver2.0
// = Author : zjq
// = CreateDate : 2002-09-09
// = Description: XAdvanceSampler 定义
// = Maintainers:
//
//-------------------------------------------------------------------------------------------------------+
#include "StdAfx.h"
#include "XAdvanceSampler.h"
#include "XScreenDc.h"
#include "XGlobalFunc.h"
#include "XPrivateGlobalFunc.h"
XPoint XAdvanceSampler::g_ptLastTemp;
XPoint XAdvanceSampler::g_ptBase;
int XAdvanceSampler::g_nCtrlFlag = 0;
double XAdvanceSampler::g_nDirection = 0.0;
XAdvanceSampler::~XAdvanceSampler()
{
}
void XAdvanceSampler::Init(XPoint ptBase, int nFlag)
{
g_ptBase = g_ptLastTemp = ptBase;
g_nCtrlFlag = nFlag;
g_nDirection = 0.0;
}
int XAdvanceSampler::MoveSampler(ads_point pt0, ads_matrix mat)
{
// Move操作时,没有基点,正交不起作用
XPoint pt;
if(g_nCtrlFlag)
{
XExport::CapturePoint(g_ptBase, pt0, pt); //使得正交(Ortho)和捕捉(SNAP)起作用
}
else
{
XExport::CapturePoint(NULL, pt0, pt); //使得正交(Ortho)和捕捉(SNAP)起作用
}
if(g_nCtrlFlag)
{
XScreenDc dc(-1);
dc << XLine(g_ptBase, g_ptLastTemp);
dc << XLine(g_ptBase, pt);
g_ptLastTemp = pt;
}
g_nDirection = ads_angle(g_ptBase, pt);
pt = XPrivate::Ucs2Wcs(pt);
XPrivate::Ucs2Wcs(g_ptBase).GetMoveMatrix(pt, mat);
return RTNORM;
}