227 lines
9.5 KiB
C
227 lines
9.5 KiB
C
#include "cpa_std.h"
|
|
|
|
#include "MEC/mecmatca.h"
|
|
#include "MEC/dnmldmat.h"
|
|
#include "MEC/dnmlkmat.h"
|
|
|
|
#include "DPT.h"
|
|
#include "GEO.h"
|
|
|
|
/* Fills in a MecMatCharacteristics */
|
|
/* Private method */
|
|
/* Author : JM Soudagne */
|
|
/* Date : 1997-04-01 */
|
|
/* Version : 1.00 */
|
|
/* Modify : yyyy-mm-dd */
|
|
SCR_tde_Anl_ReturnValue fn_eScriptFillMecMatCharacteristics(
|
|
DNM_tdxHandleToMecMatCharacteristics _h_MecEnvironment,
|
|
char *_p_szName,
|
|
char *_ap_szPars[],
|
|
SCR_tde_Anl_Action _eAction
|
|
)
|
|
{
|
|
SCR_tde_Anl_ReturnValue eReturnValue = SCR_ERV_Anl_NormalReturn;
|
|
double dfTmp;
|
|
DNM_tdstMecMatCharacteristics *p_stMecMatCharacteristics;
|
|
|
|
p_stMecMatCharacteristics = DNM_fn_p_stMecMatCharacteristicsGiveBackSemantic(_h_MecEnvironment);
|
|
|
|
|
|
if(strcmp(_p_szName,C_EntrySlide) == 0){
|
|
/* slide */
|
|
dfTmp = atof(_ap_szPars[0]);
|
|
DNM_M_xMatCharacteristicsSetSlide(p_stMecMatCharacteristics,MTH_M_xDoubleToReal(dfTmp));
|
|
}
|
|
else if(strcmp(_p_szName,C_EntryRebound) == 0){
|
|
/* rebound */
|
|
dfTmp = atof(_ap_szPars[0]);
|
|
DNM_M_xMatCharacteristicsSetRebound(p_stMecMatCharacteristics,MTH_M_xDoubleToReal(dfTmp));
|
|
}
|
|
|
|
return(eReturnValue);
|
|
}
|
|
|
|
/* Reads the script file describing a MecMatCharacteristics */
|
|
/* Author : JM Soudagne */
|
|
/* Date : 1997-04-01 */
|
|
/* Version : 1.00 */
|
|
/* Modify : 1997-05-14 */
|
|
/* Add of complete name in link table */
|
|
SCR_tde_Anl_ReturnValue fn_eScriptCallBackMecMatCharacteristics(
|
|
SCR_tdst_File_Description *_p_stFile,
|
|
char *_p_szName,
|
|
char *_ap_szPars[],
|
|
SCR_tde_Anl_Action _eAction)
|
|
{
|
|
DNM_tdxHandleToMecMatCharacteristics hMecMatCharacteristics;
|
|
SCR_tde_Anl_ReturnValue eReturnValue = SCR_ERV_Anl_NormalReturn;
|
|
char szLinkTableKey[_MAX_PATH];
|
|
|
|
if(_eAction==SCR_EA_Anl_BeginSection)
|
|
{
|
|
/* If a section is detected */
|
|
hMecMatCharacteristics = DNM_fn_xMatCharacteristicsCreate();
|
|
SCR_M_RdL0_SetSectionLong(0,0,(unsigned long)(hMecMatCharacteristics));
|
|
|
|
strcpy(szLinkTableKey,SCR_M_RdL0_GetCompleteSectionNameR(0));
|
|
|
|
DNM_fn_vSetValueInLinkTableOfMecMatCharacteristics(szLinkTableKey,(unsigned long)(hMecMatCharacteristics));
|
|
}
|
|
else if(_eAction==SCR_EA_Anl_Entry)
|
|
{
|
|
/* Fills the MecMatCharacteristics */
|
|
SCR_M_RdL0_GetSectionLong(0,0,DNM_tdxHandleToMecMatCharacteristics,hMecMatCharacteristics);
|
|
|
|
fn_eScriptFillMecMatCharacteristics(hMecMatCharacteristics,
|
|
_p_szName,
|
|
_ap_szPars,
|
|
_eAction);
|
|
}
|
|
|
|
|
|
return(eReturnValue);
|
|
}
|
|
|
|
|
|
|
|
/* Init the load of mechanical material */
|
|
/* Author : JM Soudagne */
|
|
/* Date : 1997-04-01 */
|
|
/* Version : 1.00 */
|
|
/* Modify : yyyy-mm-dd */
|
|
void DNM_fn_vInitLoadMecMatCharacteristics()
|
|
{
|
|
SCR_fn_v_RdL0_RegisterCallback(
|
|
C_SectionMecMatCharacteristics,
|
|
fn_eScriptCallBackMecMatCharacteristics,
|
|
SCR_CRC_c_RdL0_ForSection
|
|
);
|
|
}
|
|
|
|
/*----------------------------------------------------------------------------
|
|
// Description : DNM_fn_ulWriteMMTBinaryBloc
|
|
//----------------------------------------------------------------------------
|
|
// Methods : Write the binary bloc for the mecanical material
|
|
//----------------------------------------------------------------------------
|
|
// Input : _ulStructAdress : Address of the structure to be written
|
|
// _p_cDestBuffer : Output buffer
|
|
// Output : The length of the data written
|
|
//----------------------------------------------------------------------------
|
|
// Creation date : Aug 97 Author: Alain Robin
|
|
//----------------------------------------------------------------------------
|
|
// Modifications :
|
|
// Modification date : Modification author :
|
|
----------------------------------------------------------------------------*/
|
|
/*
|
|
unsigned long DNM_fn_ulWriteMMTBinaryBloc(unsigned long _ulStructAdress,
|
|
char* _p_cDestBuffer)
|
|
{
|
|
char* p_cBufferPointer=_p_cDestBuffer;
|
|
|
|
DNM_tdstMecMatCharacteristics* p_stMecMat;
|
|
|
|
p_stMecMat=(DNM_tdstMecMatCharacteristics*)_ulStructAdress;
|
|
|
|
p_cBufferPointer=BIN_fn_p_cPutReal(p_cBufferPointer,p_stMecMat->m_xSlide);
|
|
p_cBufferPointer=BIN_fn_p_cPutReal(p_cBufferPointer,p_stMecMat->m_xRebound);
|
|
|
|
return p_cBufferPointer-_p_cDestBuffer;
|
|
}
|
|
*/
|
|
/*----------------------------------------------------------------------------
|
|
// Description : DNM_fn_vWriteAllMMTBinaryBlocs
|
|
//----------------------------------------------------------------------------
|
|
// Methods : Write all the binary bloc for the mecanical material
|
|
//----------------------------------------------------------------------------
|
|
// Input : _szBinaryFileName
|
|
// Output :
|
|
//----------------------------------------------------------------------------
|
|
// Creation date : Aug 97 Author: Alain Robin
|
|
//----------------------------------------------------------------------------
|
|
// Modifications :
|
|
// Modification date : Modification author :
|
|
----------------------------------------------------------------------------*/
|
|
/*
|
|
void DNM_fn_vWriteAllMMTBinaryBlocs(char* _szBinaryFileName)
|
|
{
|
|
DNM_fn_vPrepareSaveMaterialBinaryBloc();
|
|
|
|
BIN_fn_vPutBinaryDataIntoFileFromLinkTable(_szBinaryFileName,DNM_fn_p_stGetLinkTableOfMecMatCharacteristics(),
|
|
sizeof(DNM_tdstMecMatCharacteristics),DNM_fn_ulWriteMMTBinaryBloc);
|
|
}
|
|
*/
|
|
/*----------------------------------------------------------------------------
|
|
// Description : DNM_fn_ulReadMMTBinaryBloc
|
|
//----------------------------------------------------------------------------
|
|
// Methods : Read a the binary bloc for the mecanical material
|
|
//----------------------------------------------------------------------------
|
|
// Input : _p_cLoadedBuffer : Input buffer
|
|
// _ulLoadedBufferSize : Size of the loaded buffer
|
|
// Output : The address of the allocated bloc
|
|
//----------------------------------------------------------------------------
|
|
// Creation date : Aug 97 Author: Alain Robin
|
|
//----------------------------------------------------------------------------
|
|
// Modifications :
|
|
// Modification date : Modification author :
|
|
----------------------------------------------------------------------------*/
|
|
/*
|
|
unsigned long DNM_fn_ulReadMMTBinaryBloc(char* _p_cLoadedBuffer,unsigned long _ulLoadedBufferSize)
|
|
{
|
|
DNM_tdxHandleToMecMatCharacteristics hNewMecMaterial=NULL;
|
|
|
|
hNewMecMaterial = DNM_fn_xMatCharacteristicsCreate();
|
|
memcpy((char*)hNewMecMaterial,_p_cLoadedBuffer,_ulLoadedBufferSize);
|
|
return (unsigned long)hNewMecMaterial;
|
|
}
|
|
*/
|
|
/*----------------------------------------------------------------------------
|
|
// Description : DNM_fn_vReadAllMMTBinaryBlocs
|
|
//----------------------------------------------------------------------------
|
|
// Methods : Read all the binary blocs for the mecanical material
|
|
//----------------------------------------------------------------------------
|
|
// Input : _szBinaryFileName : The binary file name
|
|
// Output :
|
|
//----------------------------------------------------------------------------
|
|
// Creation date : Aug 97 Author: Alain Robin
|
|
//----------------------------------------------------------------------------
|
|
// Modifications :
|
|
// Modification date : Modification author :
|
|
----------------------------------------------------------------------------*/
|
|
/*
|
|
void DNM_fn_vReadAllMMTBinaryBlocs(char* _szBinaryFileName)
|
|
{
|
|
|
|
BIN_fn_vReadDataFromLinkTable(DNM_fn_p_stGetLinkTableOfMecMatCharacteristics(),DNM_fn_ulReadMMTBinaryBloc,
|
|
sizeof(DNM_tdstMecMatCharacteristics), _szBinaryFileName);
|
|
}
|
|
|
|
char* DNM_fn_p_cGeneralAllocateFunction(unsigned long _ulSize)
|
|
{
|
|
char* p_cBuffer;
|
|
GEO_M_CPAMalloc(p_cBuffer,char*,_ulSize,E_uwGEONotEnoughtMemory);
|
|
return p_cBuffer;
|
|
}
|
|
*/
|
|
/*----------------------------------------------------------------------------
|
|
// Description : DNM_fn_vReadAllMMTBinaryBlocs2
|
|
//----------------------------------------------------------------------------
|
|
// Methods : Read all the binary blocs for the mecanical material
|
|
//----------------------------------------------------------------------------
|
|
// Input : _szBinaryFileName : The binary file name
|
|
// Output :
|
|
//----------------------------------------------------------------------------
|
|
// Creation date : Aug 97 Author: Alain Robin
|
|
//----------------------------------------------------------------------------
|
|
// Modifications :
|
|
// Modification date : Modification author :
|
|
----------------------------------------------------------------------------*/
|
|
/*
|
|
void DNM_fn_vReadAllMMTBinaryBlocs2(char* _szBinaryFileName)
|
|
{
|
|
|
|
BIN_fn_vReadDataFromLinkTableWithoutAllocation(DNM_fn_p_stGetLinkTableOfMecMatCharacteristics(),NULL,
|
|
sizeof(DNM_tdstMecMatCharacteristics), _szBinaryFileName,
|
|
DNM_fn_p_cGeneralAllocateFunction);
|
|
}
|
|
*/
|