reman3/Rayman_X/cpa/tempgrp/Mgt/MGTmo.h

55 lines
2.8 KiB
C

/**********************************************************
* *
* Magnet *
* *
* Author : Ubi China - Marc Trabucato *
* *
**********************************************************/
#if !defined( _MGTMO_H_ )
#define _MGTMO_H_
/*************************************************************************************************/
#include "cpa_expt.h"
#include "MGT\MGTStruc.h"
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
/*************************************************************************************************/
#define MGT_M_BYTESFORBITS( lNumberOfBits ) ( (lNumberOfBits>>3) + ( (lNumberOfBits&0x7) ? 1 : 0 ) )
#define MGT_C_xIndexError ((ACP_tdxIndex)-1)
#define MGT_M_pvMalloc(Var,cast,Size) Var = (cast) TMP_M_p_Malloc(Size)
#define MGT_M_Free(Var) TMP_M_Free(Var)
/*************************************************************************************************/
ACP_tdxIndex MGT_fn_xCreateModifiedObject ( GEO_tdstGeometricObject *p_stObject );
ACP_tdxIndex MGT_fn_xFindModifiedObject ( GEO_tdstGeometricObject *p_stObject );
void MGT_fn_vAddMagnetModificationToModifiedObject ( MGT_tdxHandleToMagnetModification h_MagnetModif );
void MGT_fn_vClearAlreadyInfluencedPointsOfModifiedObject( MGT_tdxHandleToModifiedObject h_ModifiedObject );
void MGT_fn_vDeleteMagnetModificationToModifiedObject ( MGT_tdxHandleToMagnetModification h_MagnetModif );
void MGT_fn_vDeleteModifiedObject ( ACP_tdxIndex x_ModifiedObject );
void MGT_fn_hDeleteIfExistsMagnetModification ( ACP_tdxIndex x_ModifiedObject, ACP_tdxIndex x_Magnet );
void MGT_fn_vDeleteModifiedObjectIfNeeded ( ACP_tdxIndex x_ModifiedObject );
/*************************************************************************************************/
extern HIE_tdxHandleToSuperObject MGT_g_aDEF_hActivatedMagnets[MGT_MAX_NUMBEROF_MAGNETS]; /* handle of activated magnets */
extern ACP_tdxIndex MGT_g_xMaxIndexOfActivatedMagnet;
extern MGT_tdxHandleToModifiedObject MGT_g_aDEF_hModifiedObjects[MGT_MAX_NUMBEROF_MODIFIEDOBJECTS];
extern ACP_tdxIndex MGT_g_xMaxIndexOfModifiedObject;
/*************************************************************************************************/
#ifdef __cplusplus
};
#endif /* __cplusplus */
/*************************************************************************************************/
#endif /* _MGTMO_H_ */