75 lines
1.3 KiB
C++
75 lines
1.3 KiB
C++
//-----------------------------------------------------------------------------+
|
|
// Copyright (C), 1998-2007, Beijing Tangent Software Co. Ltd.
|
|
// = FileName : TGMLine3D.cpp
|
|
// = Version : ver2.0
|
|
// = Author : xlc
|
|
// = CreateDate : 2002-09-09
|
|
// = Description: ÀàµÄ¶¨Òå
|
|
// = Maintainers:
|
|
//
|
|
//-----------------------------------------------------------------------------+
|
|
#include "StdAfx.h"
|
|
#include "TGMLine3D.h"
|
|
|
|
IMPLEMENT_RUN_TIME_CLASS1(TGMLine3D,"TGMLine3D",TPGeCurve3D)
|
|
|
|
TGMLine3D::~TGMLine3D()
|
|
{
|
|
|
|
}
|
|
|
|
TGMLine3D::TGMLine3D(long vertexNum,bool bClosed) : points(vertexNum)
|
|
{
|
|
if(bClosed)
|
|
{
|
|
AddFlag(CLOSED_CURVE);
|
|
}
|
|
}
|
|
|
|
TGMLine3D::TGMLine3D(const TTable<TGPoint>&vertexs,bool bClosed) : points(vertexs)
|
|
{
|
|
if(bClosed)
|
|
{
|
|
AddFlag(CLOSED_CURVE);
|
|
}
|
|
}
|
|
|
|
TGMLine3D::TGMLine3D(const TArray<TGPoint>&vertexs,bool bClosed) : points(vertexs)
|
|
{
|
|
if(bClosed)
|
|
{
|
|
AddFlag(CLOSED_CURVE);
|
|
}
|
|
}
|
|
|
|
TGPoint& TGMLine3D::operator[](long i)
|
|
{
|
|
return points[i];
|
|
}
|
|
|
|
long TGMLine3D::GetVertexNum()const
|
|
{
|
|
return points.GetLength();
|
|
}
|
|
|
|
void TGMLine3D::SetClosed(bool bClosed)
|
|
{
|
|
if(bClosed)
|
|
{
|
|
AddFlag(CLOSED_CURVE);
|
|
}
|
|
else
|
|
{
|
|
RemoveFlag(CLOSED_CURVE);
|
|
}
|
|
}
|
|
|
|
void TGMLine3D::SetVertexNum(long num,bool bCopy)
|
|
{
|
|
points.Realloc(num,bCopy);
|
|
}
|
|
|
|
bool TGMLine3D::IsClosed()const
|
|
{
|
|
return Is(CLOSED_CURVE);
|
|
} |