//-----------------------------------------------------------------------------+ // Copyright (C), 1998-2007, Beijing Tangent Software Co. Ltd. // = FileName : TArc3DWall.cpp // = Version : ver2.0 // = Author : xlc // = CreateDate : 2002-09-09 // = Description: 3维弧墙圆弧类的定义 // = Maintainers: // //-----------------------------------------------------------------------------+ #include "StdAfx.h" #include "TArc3DWall.h" #include "TchPrivateGlobalFunc.h" #include "TchGeLib.h" TArc3DWall::TArc3DWall(const TGGeArc &a, ads_real h, ads_real iD, ads_real oD) : TGGeArc(a), height(h), iDist(iD), oDist(oD) { } TArc3DWall::~TArc3DWall() { } int TArc3DWall::MakeWall(TGGiExplodeDrawBase &dc,const TGGeArc &iArc, const TGGeArc &oArc, TDPtrList §ionList) { int len = sectionList.Length(); ads_real lastAng = GetStarAngle(); for(int i = 0; i= arc.GetRadius() || oDist >= arc.GetRadius()) { return RTERROR; } TGGeArc iArc = arc.Offset(-iDist); TGGeArc oArc = arc.Offset(oDist); TchPrivate::DrawArcSeg(dc, iArc, height, bShowStart, bShowEnd); TchPrivate::DrawArcSeg(dc, oArc, height, bShowStart, bShowEnd); return RTNORM; } void TArc3DWall::MakeArcWallSeg(TGGiExplodeDrawBase &dc, const TGGeArc &iArc, const TGGeArc &oArc, ads_real height, int bShowStart, int bShowEnd) { DrawArcSeg(dc, iArc, height, bShowStart, bShowEnd); DrawArcSeg(dc, oArc, height, bShowStart, bShowEnd); }