/********************************************************** * * * 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_ */