www.pudn.com > cad3d.zip > ITopology.h


#ifndef __ITopology_h__
#define __ITopology_h__

#include "defs.h"
#include "Topology/Topology.h"

class CControlPoint;
class TOPOLOGY_API ITopology
{
public:
	virtual ~ITopology() {};

	//vertices handling
	virtual CControlPoint&	AddVertex(const C3DPoint& rPt) = 0;
	virtual void			RemoveVertex(CControlPoint& rVertex) = 0;
	virtual void			DeleteVertex(CControlPoint& rVertex) = 0;
	virtual CControlPoint*	GetVertexPtrById(CID nId) = 0;
	virtual C3DPoint		GetGeometryCenter() const = 0;
	virtual void			ClassifyVertices() const = 0;

	virtual void			ClearTopology() = 0;
	virtual void			CloneTopology(ITopology& rDest) const = 0;
	virtual bool			CanModifyTopology() const = 0;
	virtual bool			NeedsMoreVertices() const = 0;
};
 
#endif // __ITopology_h__