106 lines
2.7 KiB
C++
106 lines
2.7 KiB
C++
/*
|
|
///////////////////////////////////////////////////////////////////////////////////////////////////
|
|
// 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 }
|