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

63 lines
1.4 KiB
C++

//-------------------------------------------------------------------------------------------------------+
// Copyright (C), 1998-2007, SH Software Co. Ltd.
// = FileName : AecDbGripDistDim。cpp
// = Version : ver2.0
// = Author : zjq
// = CreateDate : 2002-09-09
// = Description: 夹点直线端标注类定义文件
// = Maintainers:
//
//-------------------------------------------------------------------------------------------------------+
#include "StdAfx.h"
#include "AecDbGripDistDim.h"
#include "XCurveSegment.h"
#if ARX > 17
AecDbGripDistDim::AecDbGripDistDim(int flag,bool bHover):
AecDbGripDim(flag,bHover)
{
}
AecDbGripDistDim::~AecDbGripDistDim()
{
}
AcDbDimension* AecDbGripDistDim::CreateDimEnt()const
{
return new AcDbAlignedDimension;
}
void AecDbGripDistDim::SetData(AcGePoint3d ptStart,AcGePoint3d ptEnd,double dist)
{
m_ptStart = ptStart;
m_ptEnd = ptEnd;
AcGeVector3d vt = m_ptStart-m_ptEnd;
if (dist < 0)
{
dist = m_fDimScale * 0.5;
}
m_fDist = dist;
}
void AecDbGripDistDim::UpdateDimEnt()
{
AecDbGripDim::UpdateDimEnt();
AcDbAlignedDimension*pDim = AcDbAlignedDimension::cast(DimEnt());
if (pDim == NULL)
{
return;
}
pDim->setXLine1Point(m_ptStart);
pDim->setXLine2Point(m_ptEnd);
XCurveSegment seg(m_ptStart,m_ptEnd,0);
XCurveSegment seg1 = seg.Offset(fabs(m_fDist),m_fDist > 0 ? OFFSET_RIGHT : OFFSET_LEFT);
pDim->setDimLinePoint(seg1.MidPoint().AsAcGePoint3d());
}
#endif