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

68 lines
1.5 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
//-----------------------------------------------------------------------------+
// Copyright (C), 1998-2007, Beijing Tangent Software Co. Ltd.
// = FileName : TGGeTriangle类
// = Version : ver2.0
// = Author : wlw
// = CreateDate : 2002-09-09
// = Description: TGGeTriangle类声明
// = Maintainers:
//
//-----------------------------------------------------------------------------+
#ifndef _TGGETRIANGLE_H_
#define _TGGETRIANGLE_H_
#ifndef _TADSGEPOINT3D_H_
#include "TADSGePoint3d.h"
#endif
#ifndef _TGGE3DFACE_H_
#include "TGGe3DFace.h"
#endif
#define SIDE1_INVISIBLE 0x01
#define SIDE2_INVISIBLE 0x02
#define SIDE3_INVISIBLE 0x04
// 用三角形拼多边形
class GEOAPI TGGeTriangle
{
public:
TGGeTriangle(const TADSGePoint3d &pt1, const TADSGePoint3d &pt2, const TADSGePoint3d &pt3, int nFlag=0);
virtual ~TGGeTriangle();
void Ecs2Wcs(TVector3D vtEcs);
void Wcs2Ecs(TVector3D vtEcs);
void AsFace(TGGe3DFace &face) const;
int IsLinear();
int IsInvisible();
// 1~3-命中1~3点;-1~-3 -命中1~3边;0-外部;4-内部
int HitTest2d(const TADSGePoint3d &ptTest) const;
enum HitType
{
HIT_SIDE1 = -1, //边1
HIT_SIDE2 = -2, //边2
HIT_SIDE3 = -3, //边3
HIT_OUTSIDE = 0, //外部
HIT_VERTEX1 = 1, //顶点1
HIT_VERTEX2 = 2, //顶点2
HIT_VERTEX3 = 3, //顶点3
HIT_INSIDE = 4 //内部
};
public:
int m_nFlag;
TADSGePoint3d vertex1, vertex2, vertex3;
};
#endif