Files
envi-code/SourceCode/Code2026/tg_shs/shs_subgeLib/TGNode.cpp
T
2026-09-28 15:28:50 +08:00

69 lines
1.2 KiB
C++

//-----------------------------------------------------------------------------+
// Copyright (C), 1998-2007, Beijing Tangent Software Co. Ltd.
// = FileName : TGNode.cpp
// = Version : ver2.0
// = Author : xlc
// = CreateDate : 2002-09-09
// = Description: ÀàµÄ¶¨Òå
// = Maintainers:
//
//-----------------------------------------------------------------------------+
#include "StdAfx.h"
#include "TGNode.h"
TGNode::TGNode()
{
}
TGNode::TGNode(const TGPoint&pt)
: TGPoint2D(pt)
{
}
TGNode::~TGNode()
{
}
bool TGNode::operator ==(const TGPoint&pt)const
{
return TGPoint2D::operator==(pt);
}
bool TGNode::operator > (const TGNode&)const
{
return false;
}
bool TGNode::operator < (const TGNode&)const
{
return false;
}
bool TGNode::FindNode(TGNode*pNodeTo,TPGeEdgePath&path)
{
AddFlag(LOCKED);
for(MoveToFirst();!IsOut();MoveToNext())
{
TPGeEdge*pEdge=GetCurData();
if(pEdge->IsNot(LOCKED))
{
pEdge->AddFlag(LOCKED);
path.AddTail(pEdge);
TGNode*pNode=pEdge->EndNode();
if(pNode==pNodeTo || (pNode!=NULL&&pNode->IsNot(LOCKED)&&pNode->FindNode(pNodeTo,path)))
{
break;
}
path.DelTail();
pEdge->RemoveFlag(LOCKED);
}
}
RemoveFlag(LOCKED);
return !IsOut();
}