//-----------------------------------------------------------------------------+ // 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