/*=========================================================================
*
* EDTParam.hpp
*
*
* Version			1.0
* Creation date
* Revision date
*
* Shaitan
*=======================================================================*/
#ifdef ACTIVE_EDITOR
 
/****************************************/
#ifndef CPA_EXPORT
#if defined(CPA_WANTS_IMPORT)
#define CPA_EXPORT __declspec(dllimport)
#elif defined(CPA_WANTS_EXPORT)
#define CPA_EXPORT __declspec(dllexport)
#else
#define CPA_EXPORT
#endif
#endif
/****************************************/
 
#ifndef __CPAPARAM_HPP__
#define __CPAPARAM_HPP__
 
#include "itf/DEVVp3D.hpp"		/* tdstMousePos*/
 
class CPA_SuperObject;
 
/*#################################################################################*/
/* PARENT MODIFICATION*/
/*#################################################################################*/
 
/*===========================================================================
		Class EDT_SaveParents
=========================================================================*/
class EDT_SaveParents : public CObject
{
public:
	CPA_SuperObject *m_pChild;
	CPA_SuperObject *m_pInitialParent;
	CPA_SuperObject *m_pFinalParent;
 
	EDT_SaveParents (CPA_SuperObject *pChild, CPA_SuperObject *pInitParent, CPA_SuperObject *pFinalParent)
	{
		m_pChild = pChild;
		m_pInitialParent = pInitParent;
		m_pFinalParent = pFinalParent;
	}
 
	~EDT_SaveParents (void) { }
};
 
 
/*#################################################################################*/
/* POSITION MODIFICATION*/
/*#################################################################################*/
 
/*===========================================================================
		Class EDT_SavePos
=========================================================================*/
class EDT_SavePos : public CObject
{
public:
	CPA_SuperObject			*m_pObject;
	GEO_tdxHandleToMatrix	m_hInitialMatrix;
	GEO_tdxHandleToMatrix	m_hFinalMatrix;
 
	EDT_SavePos (CPA_SuperObject *pEdObj, GEO_tdxHandleToMatrix hInitMatrix)
	{
		m_pObject = pEdObj;
		m_hFinalMatrix = NULL;
		m_hInitialMatrix = (POS_tdxHandleToPosition) malloc (sizeof (POS_tdstCompletePosition));
		POS_fn_vSetIdentityMatrix(m_hInitialMatrix);
		GEO_M_vCopyMatrix(m_hInitialMatrix, hInitMatrix);
	}
 
	~EDT_SavePos (void) { }
};
 
/*===========================================================================
		Class EDT_SaveGlobalPos
=========================================================================*/
class EDT_SaveGlobalPos : public CObject
{
public:
	CPA_SuperObject			*m_pObject;
	GEO_tdxHandleToMatrix	m_hInitialGlobalMatrix;
	GEO_tdxHandleToMatrix	m_hFinalGlobalMatrix;
 
	EDT_SaveGlobalPos (CPA_SuperObject *pEdObj, GEO_tdxHandleToMatrix hInitMatrix)
	{
		m_pObject = pEdObj;
		m_hFinalGlobalMatrix = NULL;
		m_hInitialGlobalMatrix = (POS_tdxHandleToPosition) malloc (sizeof (POS_tdstCompletePosition));
		POS_fn_vSetIdentityMatrix(m_hInitialGlobalMatrix);
		/*m_hInitialGlobalMatrix = POS_fn_hCreateMatrix(POS_C_xCompletePosition);*/
		GEO_M_vCopyMatrix(m_hInitialGlobalMatrix, hInitMatrix);
	}
 
	~EDT_SaveGlobalPos (void) { }
};
 
 
 
#endif /* __CPAPARAM_HPP__*/
#endif /* ACTIVE_EDITOR*/
