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

62 lines
1.4 KiB
C++

//-----------------------------------------------------------------------------+
// Copyright (C), 1998-2007, Beijing Tangent Software Co. Ltd.
// = FileName : TGObject3D.h
// = Version : ver2.0
// = Author : xlc
// = CreateDate : 2002-09-09
// = Description: 类的声明 三维实体基类
// = Maintainers:
//
//-----------------------------------------------------------------------------+
#ifndef _TGOBJECT3D_H_
#define _TGOBJECT3D_H_
#ifndef _TGOBJECT_H_
#include "TGObject.h"
#endif
#ifndef _TPGELINE3D_H_
#include "TPGeLine3D.h"
#endif
#ifndef _TPGEPLANE_H_
#include "TPGePlane.h"
#endif
#ifndef _TGPOINT_H_
#include "TGPoint.h"
#endif
class TGObject2D;
class GEOAPI TGObject3D : public TGObject
{
DECLARE_RUN_TIME_CLASS(TGObject3D)
public:
virtual ~TGObject3D();
//overridable
virtual TGObject2D * Convert2D()const;//投影XY平面上的二维实体
virtual bool GetPlane(TPGePlane&plane)const;//如果在一个平面上,返回之
//override TGObject
virtual bool IsInclude(const TGObject&obj)const;//在TGObject基础上增加包含TGPoint3D判断
//transform
void Move(double cx,double cy,double cz);
void Scale(double sx,double sy,double sz);
void Scale(double sx,double sy,double sz,const TGPoint& basePoint);
void RotateX(double angle);
void RotateY(double angle);
void RotateZ(double angle);
void Rotate(double angle,TPGeLine3D& axis);
};
#endif