Files
envi-code/SourceCode/Code2026/tg_shs/inc/geo/TArcWallUnit.h
T
2026-09-28 15:28:50 +08:00

60 lines
1.6 KiB
C++

//-----------------------------------------------------------------------------+
// Copyright (C), 1998-2007, Beijing Tangent Software Co. Ltd.
// = FileName : TArcWallUnit.h
// = Version : ver2.0
// = Author : xlc
// = CreateDate : 2002-09-09
// = Description: ÀàµÄÉùÃ÷
// = Maintainers:
//
//-----------------------------------------------------------------------------+
#ifndef _TARCWALLUNIT_H_
#define _TARCWALLUNIT_H_
#ifndef _TDPTRLIST_H_
#include "TDPtrList.h"
#endif
#ifndef _TGGEPOLY2D_H_
#include "TGGePoly2D.h"
#endif
#ifndef _TGGE3DFACE_H_
#include "TGGe3DFace.h"
#endif
#ifndef _TGGEPOLYGONEX_H_
#include "TGGePolygonEx.h"
#endif
class GEOAPI TArcWallUnit
{
public:
TArcWallUnit();
TArcWallUnit(double rad, double wBeg, double hBeg, double hEnd);
virtual ~TArcWallUnit();
void Tessellate(double xBeg, double nStep, int num, TDPtrList<TGGe3DFace> &lstFaces, TDPtrList<TGGe3DFace> &lstSectFaces);
void Tessellate(TDPtrList<TGGe3DFace> &lstSectFaces, double nHeight, BOOL bHasTop, BOOL bHasBot,BOOL bHasLeft, BOOL bHasRight);
public:
TDPtrList<TGGePoly2D> lstHoles;
double xWallBeg;
double xHoleBeg;
double xHoleEnd;
double nRadius;
private:
int AsTriangleFaces(const TGGePolygonEx &polyOut, const TDPtrList<TGGePoly2D> &lstHoles, TDPtrList<TGGe3DFace> &lstFaces);
int AsTriangleFaces(const TGGePoly2D &polyOut, const TDPtrList<TGGePoly2D> &lstHoles, TDPtrList<TGGe3DFace> &lstFaces);
void Tessellate(TDPtrList<TGGe3DFace> &lstSectFaces, double xBeg, double nStep, int nDivNum, double nHeight, BOOL bHasTop, BOOL bHasBot, BOOL bHasLeft, BOOL bHasRight);
void SortVertex(TGGe3DFace *pFace);
};
#endif