www.pudn.com > cad3d.zip > ISurfTopology.h
#ifndef __ISurfTopology_h__
#define __ISurfTopology_h__
#include "Topology/ITopology.h"
class CControlPoint;
class CControlFace;
//surface specific topology
class ISurfTopology : public ITopology
{
public:
virtual ~ISurfTopology() {};
virtual bool IsTriangular() const = 0;
virtual bool IsValencySupported(top_int nVertsCount) const = 0;
virtual top_int GetMaxValency() const = 0;
virtual top_int GetMinValency() const = 0;
//faces handling
virtual CControlFace& AddFace(top_int nVertsCount = -1) = 0;
virtual CControlFace& AddTriangle(CControlPoint* pVer0, CControlPoint* pVer1, CControlPoint* pVer2) = 0;
virtual CControlFace& AddQuad(CControlPoint* pVer0, CControlPoint* pVer1,CControlPoint* pVer2, CControlPoint* pVer3) = 0;
virtual void RemoveFace(CControlFace& rFace) = 0;
virtual void DeleteFace(CControlFace& rFace) = 0;
virtual CControlFace* GetFacePtrById(CID nId) = 0;
virtual void CreateLinks() = 0;
virtual void CreateLinks(CControlFace& rFace) = 0;
};
#endif // __ISurfTopology_h__