//-----------------------------------------------------------------------------+ // Copyright (C), 1998-2007, Beijing Tangent Software Co. Ltd. // = FileName : TPGeFace3D.h // = Version : ver2.0 // = Author : xlc // = CreateDate : 2002-09-09 // = Description: 类的声明 空间任意曲面 // = Maintainers: // //-----------------------------------------------------------------------------+ #ifndef _TPGEFACE3D_H_ #define _TPGEFACE3D_H_ #ifndef _TGOBJECT3D_H_ #include "TGObject3D.h" #endif #ifndef _TGOBJECTLIST_H_ #include "TGObjectList.h" #endif #ifndef _TGOBJECT_H_ #include "TGObject.h" #endif class GEOAPI TPGeFace3D : public TGObject3D { DECLARE_RUN_TIME_CLASS(TPGeFace3D) public: virtual ~TPGeFace3D(); virtual bool IsClosed() const; virtual bool IsSelfCross() const; virtual double Area() const; virtual double Volume() const; virtual void Cut(const TGObject& obj,TGObjectList& left,TGObjectList& right,TGObjectList& mid) const; //不能是自交曲面!! //封闭曲面切割结果为左为内,右为外,不考虑曲面方向!不封闭曲面切割结果,左为下,右为上。 //不封闭的有限曲线段切割时,要求其可以正确进行结果分发时的上下测试!! //子类需要加速才需要重载 //重载 TGObject virtual bool IsInclude(const TGObject& obj) const; }; #endif