//#################################################################################
//
// BASE DEFINITION CLASS OF DLL interface Modification
//
//#################################################################################
//
//

#ifndef __3DGMODIF_HPP__
#define __3DGMODIF_HPP__

class Geometry3D;
//CPA2 Corneliu Babiuc 08-09-98 (duplicated points)
class CPA_PointsList;
//END CPA2 Corneliu Babiuc 08-09-98 (duplicated points)

///////////////////////////////////////////////////////////////////////////////
// class Geometry3D_Modif

class Geometry3D_Modif : public CPA_Modif
{
protected:
//CPA2 Corneliu Babiuc 09-09-98 (duplicated points)
/*
    Geometry3D         *m_p_xObject;
//-------------------------------------------
//ROMTEAM WorldEditor (Viorel Preoteasa 20/01/98)
//    ACP_tdxIndex        m_xIndexPoint;
    ACP_tdxIndex       *m_xIndexPoints;
	int                 m_iNbPoints;
	float              *m_fDist;
//ENDROMTEAM WorldEditor (Viorel Preoteasa) 
*/
    CPA_List<CPA_PointsList>    m_lstPointsList;
//END CPA2 Corneliu Babiuc 09-09-98 (duplicated points)
//-------------------------------------------
    MTH3D_tdstVector    m_st3DTranslation;
    BOOL                m_bFirstTime;

//ROMTEAM WorldEditor (Nicu 05/12/97) 
		DWORD m_pGeom;
		DWORD *m_adrGeom;

public:
//-------------------------------------------
//ROMTEAM WorldEditor (Viorel Preoteasa 20/01/98) 
//	Geometry3D_Modif(Geometry3D *_p_Object,ACP_tdxIndex _xIndexPoint,MTH3D_tdstVector _st3DTranslation, DWORD *adr = NULL);
    //CPA2 Corneliu Babiuc 09-09-98 (duplicated points)
    Geometry3D_Modif(CPA_List<CPA_PointsList> *_lstPoints, MTH3D_tdstVector _st3DTranslation, DWORD *adr = NULL, BOOL _bFirstTime = TRUE);
//	Geometry3D_Modif(Geometry3D *_p_Object,int NbPoints, ACP_tdxIndex *_xIndexPoints, float *Dist, MTH3D_tdstVector _st3DTranslation, DWORD *adr = NULL);
    //END CPA2 Corneliu Babiuc 09-09-98 (duplicated points)
//ENDROMTEAM WorldEditor (Viorel Preoteasa) 
//-------------------------------------------
//ENDROMTEAM WorldEditor (Nicu) 


    ~Geometry3D_Modif();
// actions
	BOOL Do (void);
	BOOL Undo (void);
};


///////////////////////////////////////////////////////////////////////////////
// class Geometry3D_Rename

class Geometry3D_Rename : public CPA_Modif
{
protected:
    Geometry3D         *m_p_xObject;
    CString            m_csNewName;

public:
    Geometry3D_Rename(Geometry3D *_p_Object,CString _csName);
    ~Geometry3D_Rename();
// actions
	BOOL Do (void);
	BOOL Undo (void);
};

#endif //__3DGMODIF_HPP__