/*
///////////////////////////////////////////////////////////////////////////////////////////////////
// Description : WayMod.hpp
//   
// Modification classes
//
///////////////////////////////////////////////////////////////////////////////////////////////////
// inherit from CPA_Modif
//					
///////////////////////////////////////////////////////////////////////////////////////////////////
// Creation date: 21 jan 1997                        Author: J Thénoz
///////////////////////////////////////////////////////////////////////////////////////////////////
// Modification date:			                      Author: 
// 
//
// 
//
///////////////////////////////////////////////////////////////////////////////////////////////////
*/

//ANNECY Shaitan Nettoyage (12/05/98) {
/*

#ifndef __WayMOD_HPP__
#define __WayMOD_HPP__

#define TYPE_INSERT_WP		1
#define TYPE_DELETE_WP		2
#define TYPE_REMOVE_WP		3
#define TYPE_ADD_NEW_WP		4


// insert a WP at any position in the way
class ModifWayInsert : public CPA_Modif
{
protected:
	Way*			m_pWay;
	WayPoint*		m_pInsertWP;
	WP_tduc_WPIndex	m_stBeforeWP;
	BOOL			m_DialogRefresh;
	Link*			m_pOldLink;
	Link*			m_pLinkBefore;
	Link*			m_pLinkAfter;

public :
	ModifWayInsert (Way* pWay, WayPoint* m_pInsertWP, WP_tduc_WPIndex stBeforeWP, BOOL bDialog1stRefresh=TRUE,BOOL pBlock=0);
	BOOL Do (void);
	BOOL Undo (void);
};

// delete a way point in the net at a given position
class ModifWayDelete : public CPA_Modif
{
protected:
	Way*		m_pWay;
	WayPoint*	m_pDeleteWP;
	WP_tduc_WPIndex	m_stDeletePosWP;
	Link*		m_pLink;
	Link*		m_pOldLinkBefore;
	Link*		m_pOldLinkAfter;
	BOOL		m_DialogRefresh;
public :
	ModifWayDelete (Way* pWay, WP_tduc_WPIndex lPosDeleteWP, BOOL pBlock=0);
	BOOL Do (void);
	BOOL Undo (void);
};

// delete all the waypoints in a way
class ModifWayRemove : public CPA_Modif
{
protected:
	Way* m_pWay;
	WayPoint* m_pRemoveWP;
	long m_lNbRemoveWP;
	WP_tduc_WPIndex* m_dstRemovePosWP;
	Link** m_dpoRemoveLinkBefore;
	Link** m_dpoRemoveLinkAfter;

public :
	ModifWayRemove (Way* pWay, WayPoint* pDeleteWP, BOOL pBlock=0);
	BOOL Do (void);
	BOOL Undo (void);
};

// Add a new WP in a way
class ModifWayAddWP : public CPA_Modif
{
protected :
	Way*		m_poWay;			// net where the WP wil be add
	CPA_SuperObject*	m_poSuperWP;			// new super object WP
	MTH3D_tdstVector*		m_pAbsolutePosition;	// location of the WP in absolute system
	CPA_Interface*		m_pEditor;				// ref to the editor to be use
	ModifWayInsert*		m_pModifInsertWP;	// insert modif object
	WP_tduc_WPIndex		m_stPosBeforeWP;		// pos to insert

public :
	ModifWayAddWP ( Way* poWay, MTH3D_tdstVector* pAbsolutePosition, WP_tduc_WPIndex lBeforeWP, CPA_Interface* pEditor, BOOL pBlock=FALSE);
	BOOL Do (void);
	BOOL Undo (void);
};

#endif

*/
//ENDANNECY Shaitan Nettoyage }
